Now Available: Zoom AI Services Summarizer & Translator APIs.
APIsMCPBlogChangelogAgent Skills
Help
/
Meetings
APIMaster APIWebhooks
View as MarkdownDownload OpenAPI
APIsMCPBlogChangelogAgent SkillsHelp
Theme

Meetings Webhooks

  • OpenAPI Version: 3.1.1
  • API Version: 1.0.0

The Zoom Meeting webhooks allow developers to receive events for Zoom Meetings and Webinars.

Servers

  • URL: https://{your-endpoint-url}

Operations

meeting.participant_jbh_waiting

  • Method: POST
  • Path: meeting.participant_jbh_waiting
  • Tags: Meetings

The Participant waiting for host to join event is triggered every time an attendee has been waiting for the host to join the meeting for at least 30 seconds.

NOTE For native clients and SDKs, the Participant waiting for host to join event is triggered every time an attendee using the native client has been waiting for the host to join the meeting for at least 30 seconds. For web clients and SDKs, this webhook fires immediately.

When scheduling a meeting, the organizer or host of the meeting can enable the Enable join before host option. This allows attendees to join the meeting before the host of the meeting arrives. This meeting also starts as soon as the first meeting participant joins.

If this option is disabled, participants are prompted to wait for the host to arrive before joining the meeting.

Prerequisites

  • A Pro or a higher plan.
  • Disable the Enable join before host option for the scheduled meeting.
  • The attendee has been waiting for at least 30 seconds before the event is triggered.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant waiting for host to join subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (personal audio conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "id": "",
        "user_name": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.summary_recovered

  • Method: POST
  • Path: meeting.summary_recovered
  • Tags: Meetings

The Meeting summary has been recovered from trash event is triggered every time one of your app users or account users recovers a summary from the trash.

Prerequisites

  • Host user must be Pro or higher plan.
  • Enable the Meeting Summary with AI Companion feature in the host's account.
  • E2ee meetings do not have summary feature enabled.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting summary has been recovered from trash subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

    • operator (required)

      string — The email address of the user who recovered the meeting summary.

    • operator_id (required)

      string — The user ID of the user who recovered the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_left_breakout_room

  • Method: POST
  • Path: meeting.participant_left_breakout_room
  • Tags: Meetings

The Meeting participant has left a breakout room event is triggered when a meeting participant leaves a meeting breakout room.

Breakout rooms are sessions that are split off from the main Zoom meeting. They let participants meet in smaller groups and are completely isolated in terms of audio and video from the main session.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting participant has left a breakout room subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • breakout_room_uuid (required)

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

      • duration (required)

        integer — The main scheduled meeting duration.

      • host_id (required)

        string — The main meeting host's user ID.

      • id (required)

        string — The main meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom.

        • leave_time (required)

          string, format: date-time — The time when the participant left the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's unique ID. * If meeting registration was **not** required and the participant joined by logging into Zoom, this value is the same as the `userId` field used in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API. * If registration was required for the meeting and the participant joined the meeting by logging into Zoom, this value is the same as the `id` value in the [**List meeting registrants**](/api-reference/zoom-api/methods#operation/meetingRegistrants) API response. * If participant joins without logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • leave_reason

          string — The reason why the participant left the meeting.

        • parent_user_id

          string — The participant's main meeting user ID (`user_id`).

        • participant_user_id

          string — The participant's unique ID. * If meeting registration was **not** required and the participant joined by logging into Zoom, this value is the same as the `userId` field used in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API. * If registration was required for the meeting and the participant joined the meeting by logging into Zoom, this value is the same as the `id` value in the [**List meeting registrants**](/api-reference/zoom-api/methods#operation/meetingRegistrants) API response. * If participant joins without logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • start_time (required)

        string — The main meeting's start time.

      • topic (required)

        string — The main meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The main meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The main meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The main meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "breakout_room_uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "parent_user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "leave_time": "",
        "leave_reason": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "phone_number": "8615250064084",
        "customer_key": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.device_tested

  • Method: POST
  • Path: meeting.device_tested
  • Tags: Meetings

The Meeting Device Tested event is triggered every time a user completes a connected device test.

When a user joins a meeting, they choose to test their connected camera, microphone, and speaker devices. The Zoom client performs a test for the selected device and prompts a user to confirm whether the device works.

Prerequisites

  • Create the meeting via the Create a Meeting API with the device_testing set to true.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting Device Tested subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object

      • id (required)

        integer, format: int64 — The meeting ID.

      • test_result (required)

        object — Information about the meeting's device test results.

        • camera_status (required)

          integer, possible values: 0, 1, 2 — The camera's status: * `2` — Device working. * `1` — Device not working. * `0` — Device not tested.

        • microphone_status (required)

          integer, possible values: 0, 1, 2 — The microphone's status: * `2` — Device working. * `1` — Device not working. * `0` — Device not tested.

        • speaker_status (required)

          integer, possible values: 0, 1, 2 — The speaker's status: * `2` — Device working. * `1` — Device not working. * `0` — Device not tested.

        • user_id (required)

          string — The user's ID.

        • user_name (required)

          string — The user's username.

        • os

          string — The user's operating system.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "test_result": {
        "user_id": "",
        "user_name": "",
        "camera_status": 0,
        "speaker_status": 0,
        "microphone_status": 0,
        "os": "",
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.summary_shared

  • Method: POST
  • Path: meeting.summary_shared
  • Tags: Meetings

The Meeting summary has been shared event is triggered every time one of your app users or account users shares a meeting summary.

Prerequisites

  • Host user must have a Pro or higher plan.
  • Enable the Meeting Summary with AI Companion feature in the host's account.
  • E2ee meetings do not have summary feature enabled.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting summary has been shared subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID. After a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • share_with_users (required)

        array — Information about the shared users.

        Items:
        • user_email (required)

          string, format: email — The shared user email.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

    • operator (required)

      string — The email address of the user who shared the meeting summary.

    • operator_id (required)

      string — The user ID of the user who shared the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "share_with_users": [
        {
          "user_email": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

webinar.chat_message_file_downloaded

  • Method: POST
  • Path: webinar.chat_message_file_downloaded
  • Tags: Webinars

The In-webinar chat message file has been downloaded event is triggered when a message file from a webinar is downloaded. The webhook is needed to enable the DLP option in the web portal.

Prerequisites

  • Have Zoom enable the DLP for in-meeting chat for your account. This feature is only enabled upon request. Contact the Zoom support team for more information.
  • Enable the In-webinar chat message file has been downloaded subscription for your app. In your Marketplace app go to Event Subscriptions > Webinar.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • object (required)

      object — Information about the chat message file.

      • chat_message_file (required)

        object — Information about the chat message file.

        • file_id (required)

          string — The live webinar chat file's UUID.

        • file_name (required)

          string — The live webinar chat file's name.

        • file_size (required)

          integer — The live webinar chat file's size, in bytes.

        • file_type (required)

          string — The live webinar chat file's type.

        • file_owner_id

          string — The user ID of the user who uploaded the team chat file. This value returns blank for external users.

      • host_account_id (required)

        string — The webinar host's account ID. The value will be an empty string if this info is from an external user.

      • id (required)

        integer, format: int64 — The webinar ID.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a meeting UUID.

    • operator (required)

      string, format: email or name — The email address of the user who downloaded the file. This value returns the operator name for external users.

    • account_id

      string — The account ID of the user who downloaded the file. This value returns blank for external users.

    • operator_id

      string — The user ID of the user who downloaded the file. This value returns blank for external users.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_account_id": "",
      "chat_message_file": {
        "file_id": "",
        "file_name": "",
        "file_size": 1,
        "file_type": "",
        "file_owner_id": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.deleted

  • Method: POST
  • Path: webinar.deleted
  • Tags: Webinars

The Webinar has been deleted event is triggered every time a webinar scheduled by one of your app users or account users, is deleted.

A webinar host or a user with admin privileges can delete a scheduled webinar. Users can delete a webinar using the Delete feature for a webinar, from the Zoom Web Portal or the Zoom Client App. Alternatively, users can use the Delete a webinar API to delete webinars programmatically.

Prerequisites:

  • Pro or a higher plan with Webinar license.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Webinar has been deleted subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who deleted the webinar.

    • object (required)

      object — Information about the webinar.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • duration

        integer — The scheduled webinar duration.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

      • start_time

        string, format: date-time — The webinar's start time.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The webinar's topic.

    • operator (required)

      string — The email address of the user who deleted the webinar.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all webinars. * `single` — The change was applied only to a single webinar.

    • operator_id

      string — The user ID of the user who deleted the webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

recording.registration_approved

  • Method: POST
  • Path: recording.registration_approved
  • Tags: Cloud Recording

The View registrant has approved for this recording event is triggered every time a registrant is approved to view a cloud recording.

Cloud recordings of Zoom meetings and webinars can be made on-demand. With on-demand recordings, users can view the recordings of past meetings and webinars at any time as long as they have not been removed. To view these recordings, users can register manually by filling out the registration form that pops up when users click on the Recording URL. After the registration, registrants that are approved will be able to view the recording.

An account owner, a host of the meeting/webinar or a user with admin privileges can customize the cloud recording registration approval settings. If the Automatically Approve setting is enabled, registrants can view the recording automatically after a successful registration. If the Manually Approve setting is enabled, the registrants must be manually approved before they can view the recording.

Registrants can also be approved programmatically using the Update registrant status API.

Prerequisites

  • A Pro or higher plan.
  • Cloud recording must be enabled on the users' account.
  • The approval setting for the cloud recording registration must be set to Manually Approve.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The View registrant has approved for this recording subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the host that recorded the meeting or webinar.

    • object (required)

      object — Information about the recording registration.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • registrant (required)

        object — Information about the recording registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • last_name (required)

          string — The registrant's last name.

        • id

          string — The registrant's ID.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user that approved registration for the meeting or webinar recording.

    • operator_id (required)

      string — The user ID of the user that approved registration for the meeting or webinar recording.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "registrant": {
        "id": "",
        "email": "",
        "first_name": "",
        "last_name": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.risk_alert

  • Method: POST
  • Path: meeting.risk_alert
  • Tags: Meetings

The At-Risk Meeting Notifier event is triggered every time someone posts a Zoom meeting link to a social media account, such as Reddit or Twitter. The webhook sends the event to an authorized OAuth app.

The At-Risk Meeting Notifier (ARMN) scans public posts on social media sites and other public online resources for Zoom meeting links. When it finds publicly-posted meeting information indicating that a given meeting may be at high risk of being disrupted, Zoom notifies account owners and admins via email.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The At-Risk Meeting Notifier subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • armn_details (required)

        object — Information about the at-risk meeting notifier (ARMN).

        • meeting_url

          string — The meeting's URL.

        • post_platform

          string — The post's social media platform. For example, Twitter, Reddit, or Facebook.

        • post_time

          string, format: date-time — The post's timestamp.

        • post_user

          string — The user who created the social media post.

        • recommended_disable_settings

          array — A comma-separated list of the recommended settings to disable: * `enableAnnotation` * `enableMeetingChat` * `enableScreenShare` * `enableMultipleShare`

          Items:

          string, possible values: "enableAnnotation", "enableMeetingChat", "enableScreenShare", "enableMultipleShare"

        • recommended_enable_settings

          array — A comma-separated list of the recommended settings to enable: * `enablePassword` * `enableWaitingRoom` * `enableOnlyAuthenticated` * `enableRegistration` * `enableScreenShareLock` * `enableScreenShareHostOnly` * `enableSpecifiedDomain`

          Items:

          string, possible values: "enablePassword", "enableWaitingRoom", "enableOnlyAuthenticated", "enableRegistration", "enableScreenShareLock", "enableScreenShareHostOnly", "enableSpecifiedDomain"

        • social_link

          string — The link to the social media post.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "armn_details": {
        "post_platform": "",
        "social_link": "",
        "post_time": "",
        "post_user": "",
        "meeting_url": "",
        "recommended_enable_settings": [
          "enablePassword"
        ],
        "recommended_disable_settings": [
          "enableAnnotation"
        ],
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.aic_transcript_completed

  • Method: POST
  • Path: meeting.aic_transcript_completed
  • Tags: Meetings

The AIC transcript completed triggers when the meeting transcript file is completed after a meeting or webinar ends.

Prerequisites

  • Enable the Meeting Summary with AI Companion feature and Allow meeting hosts to retain and access meeting transcripts in the host's account.
  • Do not enable transcripts for E2ee meetings.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The AIC transcript completed subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the transcript.

      • attach_type (required)

        string, format: string — Each file ID has many attachments. Use this `attach_type` to download different attachments. In this webhook, the `attach_type` always equals `durable_transcript`.

      • file_id (required)

        string, format: string — Transcript file ID.

      • host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "host_id": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "file_id": "aDYlohsHRtCd4ii1uC290OP",
      "attach_type": "durable_transcript",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

webinar.participant_feedback

  • Method: POST
  • Path: webinar.participant_feedback
  • Tags: Webinars

The Get participant survey feedback for webinars event is triggered every time an attendee completes an end-of-webinar feedback survey for a webinar. A webinar attendee is a webinar participant or the host.

Prerequisites

Enable Event Subscriptions for your Marketplace app with:

  • A valid Event Notification Endpoint URL.
  • The Get participant survey feedback for webinars subscription must be enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who commits the feedback.

    • object (required)

      object — Information about the webinar.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant.

        • feedback (required)

          object — Information about the feedback.

          • satisfied (required)

            boolean — Whether the participant is satisfied.

          • comments

            string — The participant's comments. This returns null if the `satisfied` field is `true`.

          • feedback_details

            array — The feedback details. This returns null if the `satisfied` field is `true`.

            Items:
            • id (required)

              string — The feedback ID. * `1` — Poor video quality. * `2` — Poor audio quality. * `5` — Unable to present using share.zoom.us. * `7` — Unable to make phone call. * `8` — They could not hear us. * `9` — We could not hear them. * `10` — They could not see us. * `11` — We could not see them. * `12` — Could not present computer screen. * `999` — Others.

            • name (required)

              string — The feedback name.

        • participant_user_id (required)

          string — The participant's universally unique ID (UUID). This value returns blank for external users.

        • participant_uuid (required)

          string — The participant's meeting universally unique ID (UUID). This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting. This value will not be changed when the participant joins/leaves a breakout room.

        • user_name (required)

          string — The participant's display name.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "participant": {
        "participant_uuid": "",
        "participant_user_id": "",
        "user_name": "",
        "feedback": {
          "satisfied": true,
          "feedback_details": [
            {
              "id": "",
              "name": ""
            }
          ],
          "comments": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_joined_waiting_room

  • Method: POST
  • Path: meeting.participant_joined_waiting_room
  • Tags: Meetings

The Participant joined a waiting room event is triggered every time an attendee joins a waiting room prior to being admitted to the meeting. The meeting host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

The waiting room feature allows the host to control when participants join a meeting. When a participant attempts to join a meeting with this feature enabled, the participant is first admitted to the waiting room. The meeting host can then admit attendees one by one or hold all attendees in the waiting room and admit them all at once.

Prerequisites

  • Enable the waiting room feature for the meeting.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant joined a waiting room subscription must be enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the main meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • date_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "date_time": "",
        "email": "",
        "phone_number": "8615250064084",
        "participant_user_id": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.ai_companion_assets_deleted

  • Method: POST
  • Path: meeting.ai_companion_assets_deleted
  • Tags: Meetings

The AI Companion assets deleted event is triggered when all AI Companion meeting assets, such as transcripts and summaries, are deleted during a live meeting.

Prerequisites

  • Host user must be Pro or higher plan.
  • Enable AI Companion.
  • E2EE meetings do not support the AI Companion feature.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The AI Companion assets deleted subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that hosted the meeting.

    • object (required)

      object — The meeting where the AI Companion assets were deleted.

      • ai_companion (required)

        object — The AI Companion assets that were deleted.

        • deleted_assets (required)

          array — List of AI Companion assets that were deleted.

          Items:

          string, possible values: "transcripts", "summaries"

      • host_id (required)

        string — The ID of the user set as the host of the meeting.

      • meeting_number (required)

        integer, format: int64 — The meeting number.

      • meeting_uuid (required)

        string — The meeting's universally unique identifier (UUID).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_number": 1,
      "meeting_uuid": "",
      "host_id": "",
      "ai_companion": {
        "deleted_assets": [
          "transcripts"
        ]
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.converted_to_meeting

  • Method: POST
  • Path: webinar.converted_to_meeting
  • Tags: Webinars

The Webinar has been converted to a Meeting event is triggered every time one of your app users or account users converts a webinar into a meeting.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Webinar has been converted to a Meeting subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who converted the webinar into a meeting.

    • object (required)

      object — Information about the meeting converted from a webinar.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • type (required)

        integer, possible values: 2, 3, 8 — The meeting type. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `8` - A recurring meeting with fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID).

      • duration

        integer — The scheduled meeting's duration, in minutes. Returned only when the meeting type is `2`.

      • start_time

        string, format: date-time — The scheduled meeting's start time. Returned only when the meeting type is `2`.

      • timezone

        string — The meeting's [timezone](/docs/api/references/abbreviations/#timezones).

      • topic

        string — The meeting's topic.

    • operator (required)

      string — The email address of the user who converted the webinar into a meeting.

    • operator_id

      string — The user ID of the user who converted the webinar into a meeting.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 2,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_phone_callout_ringing

  • Method: POST
  • Path: meeting.participant_phone_callout_ringing
  • Tags: Meetings

The Invited party's phone (call out) ringing event is triggered every time a user's phone rings when they are invited to join a meeting through phone (call out).

Prerequisites

Enable Event Subscriptions for your Marketplace app with these configurations.

  • A valid Event Notification Endpoint URL.
  • The Invited party's phone (call out) ringing subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's name to display in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_jbh_joined

  • Method: POST
  • Path: meeting.participant_jbh_joined
  • Tags: Meetings

The Participant joined meeting before host event is triggered every time an attendee joins a meeting before the host. The host of the meeting must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

When scheduling a meeting, the organizer or host of the meeting can enable the Enable join before host option. This allows attendees to join the meeting before the host of the meeting arrives. This meeting also starts as soon as the first meeting participant joins.

If this option is disabled, participants are prompted to wait for the host to arrive before joining the meeting.

Prerequisites

  • A Pro or a higher plan.
  • Enable the Enable join before host option for the scheduled meeting.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant joined meeting before host subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (personal audio conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "id": "",
        "user_name": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.invitation_accepted

  • Method: POST
  • Path: meeting.invitation_accepted
  • Tags: Meetings

The Invited party answered a meeting invitation event is triggered every time an invitation's recipient accepts an invitation to join a meeting or video call. This event is only suitable for triggering with the ZOOM client.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with these configurations:
    • A valid Event Notification Endpoint URL.
    • The Invited party answered a meeting invitation subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • email (required)

          string, format: email — The email address of the user who received the meeting invitation. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • participant_user_id (required)

          string — The user ID of the user who received the meeting invitation.

      • topic (required)

        string — The meeting's topic.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string — The email address of the user who accepted the meeting.

    • operator_id (required)

      string — The user ID of the user who accepted the meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "participant": {
        "participant_user_id": "",
        "email": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.archive_files_completed

  • Method: POST
  • Path: recording.archive_files_completed
  • Tags: Cloud Recording

The Recording Archive Files Completed event is triggered every time the archived files of a meeting or webinar become available to download.

Zoom's meeting and webinar archiving solution allows account administrators to set up an automated mechanism to collect and archive meeting data to a 3rd party platform of their choice. This helps to satisfy FINRA or other compliance requirements.

The archiving process begins once a meeting or webinar, hosted by an account that has enabled the archiving feature, begins. The archiving of the meeting data completes after a meeting or webinar ends.

This feature is only enabled upon request approval. Contact the Zoom support team for more information.

Prerequisites

  • The Archiving feature must be enabled on the user's account.
  • Enable Event Subscriptions in your Marketplace app with these configurations.
    • A valid Event notification endpoint URL.
    • The Recording Archive Files Completed subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • download_token (required)

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation, and you can only download the file within 24 hours of receiving the event notification. You can either include the `download_token` as a query parameter or pass it as a Bearer token in the Authorization header of your HTTP request. **Using an Authorization header (Recommended)** ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ``` **Using a query parameter** ``` {download_url}/?access_token={download_token} ``` For example: `https://zoom.us/recording/download/123456?access_token=abcdefgh`

  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id

      string — The account ID of the user who hosted the meeting or the webinar.

    • object

      object — Information about the webinar or meeting recording.

      • account_name

        string — The user's account name.

      • archive_files

        array — Information about the archive files.

        Items:
        • download_url

          string — The URL to download the archived file. To download the archived file of a meeting or a webinar, use the `download_token` value included in the webhook as the `access_token` query parameter value and include this query parameter at the end of the URL. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{your-download_token-value}}`

        • encryption_fingerprint

          string — The archived file's encryption fingerprint, using the SHA256 hash algorithm.

        • file_extension

          string — The archived file's extension.

        • file_name

          string — The archived file's name.

        • file_size

          integer — The archived file's size, in bytes.

        • file_type

          string, possible values: "MP4", "M4A", "TRANSCRIPT", "CHAT", "CC", "CHAT_MESSAGE" — The archived file's type. * `MP4` - Video file. * `M4A` - Audio-only file. * `TRANSCRIPT` - A transcription file, in VTT format. * `CHAT` - A TXT file containing in-meeting chat messages. * `CC` - A file containing the closed captions of the recording, in VTT file format. * `CHAT_MESSAGE` - A JSON file encoded in base64 format containing chat messages. The file also includes waiting room chats, deleted messages, meeting emojis and non-verbal feedback.

        • id

          string — The archived file's ID.

        • individual

          boolean — Whether the recording file is an individual recording file: * `true` - An individual recording file. * `false` - An entire meeting file.

        • number_of_messages

          integer — The number of `TXT` or `JSON` file messages. This field will return only when the `file_extension` is `JSON` or `TXT`

        • participant_email

          string, format: email — The individual recording file's participant email address. This value is returned when the `individual` value is `true`. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • participant_join_time

          string, format: date-time — The join time for the generated recording file. If this value is returned when the individual value is true, then it is the recording file's participant join time. When the individual value is false, it returns the join time for the archiving gateway.

        • participant_leave_time

          string — The leave time for the generated recording file. If this value is returned when the individual value is true, then it is the recording file's participant leave time. When the individual value is false, it returns the leave time for the archiving gateway.

        • recording_type

          string, possible values: "shared_screen_with_speaker_view", "audio_only", "chat_file", "closed_caption", "chat_message" — The archive file's recording type. * `shared_screen_with_speaker_view` * `audio_only` * `chat_file` * `closed_caption` * `chat_message` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status

          string, possible values: "completed", "processing", "failed" — The archived file's processing status. * `completed` - The processing of the file is complete. * `processing` - The file is processing. * `failed` - The file processing failed.

        • storage_location

          string, possible values: "US", "AU", "BR", "CA", "EU", "IN", "JP", "SG", "CH" — The region where the file is stored. This field returns only `Enable Distributed Compliance Archiving` op feature is enabled.

      • complete_time

        string, format: date-time — The meeting or webinar's archive completion time.

      • duration

        integer — The meeting or webinar's scheduled duration.

      • duration_in_second

        integer — The meeting or webinar's duration, in seconds.

      • group_id

        string — Primary group IDs of participants who belong to your account. Each group ID is separated by a comma.

      • host_id

        string — The ID of the user set as the host of the archived meeting or webinar.

      • id

        integer — The ID of the meeting (`meetingId`) or the webinar (`webinarId`).

      • is_breakout_room

        boolean — Whether the room is a [breakout room](https://support.zoom.us/hc/en-us/articles/115005769646-Participating-in-breakout-rooms).

      • meeting_type

        string, possible values: "internal", "external" — Whether the meeting or webinar is internal or external. * `internal` - An internal meeting or webinar. * `external` - An external meeting or webinar. The `id`, `host_id`, and `topic` PII (Personal Identifiable Information) values in this response are removed when this value is `external`.

      • parent_meeting_id

        string — The parent meeting's universally unique ID (UUID). Each meeting or webinar instance generates its own meeting UUID. If the `is_breakout_room` value is `true`, the API returns this value.

      • recording_count

        integer — The number of archived files returned in the API call response.

      • start_time

        string — The meeting or webinar's start time.

      • status

        string, possible values: "completed", "processing" — The archive's processing status: * `completed` - The archive's processing is complete. * `processing` - The archive is processing.

      • timezone

        string — The meeting or webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting or webinar topic.

      • total_size

        integer — The total size of the archive file, in bytes.

      • type

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 100 — The type of archived meeting or webinar. If the recording is of a meeting: * `1` - Instant meeting. * `2` - Scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A meeting created via PMI (Personal Meeting ID). * `7` - A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `100` - A [breakout room](https://support.zoom.us/hc/en-us/articles/115005769646-Participating-in-breakout-rooms).

      • uuid

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance. Each meeting or webinar instance generates its own meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "duration_in_second": 1800,
      "total_size": 1,
      "recording_count": 1,
      "meeting_type": "internal",
      "account_name": "",
      "complete_time": "",
      "is_breakout_room": true,
      "parent_meeting_id": "",
      "archive_files": [
        {
          "id": "",
          "file_type": "MP4",
          "file_extension": "",
          "file_name": "",
          "file_size": 1,
          "download_url": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view",
          "individual": true,
          "participant_email": "",
          "participant_join_time": "",
          "participant_leave_time": "",
          "encryption_fingerprint": "abf85f0fe6a4db3cdd8c37e505e1dd18a34d9696170a14b5bc6395677472cf43",
          "number_of_messages": 150,
          "storage_location": "US"
        }
      ],
      "status": "completed",
      "group_id": "pvFIYKSDTum9iCDOOtQL4w,_FsqLyI0RlO6LVPeUVWi8g"
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.alert

  • Method: POST
  • Path: meeting.alert
  • Tags: Meetings

The Meeting issues alert event is triggered every time a service issue is encountered during a meeting scheduled by a user in your account or in accounts that have installed your webhook-enabled app.

Zoom monitors meeting statistics in regards to the quality of service for each meeting. The following quality metrics can trigger an alert:

  • Unstable audio.
  • Unstable video.
  • Poor screen share quality.
  • High CPU usage.
  • Call reconnection problems.

Prerequisites

  • The account must hold a Business or a higher plan to request this feature.
  • In account settings, on the dashboard, enable the Meeting quality scores and network alerts on Dashboard option.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting issues alert subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • issues (required)

        array — A list of issues that occurred during the meeting: * `Unstable audio quality` * `Unstable video quality` * `Unstable screen share quality` * `High CPU occupation` * `Call Reconnection`

        Items:

        string, possible values: "Unstable audio quality", "Unstable video quality", "Unstable screen share quality", "High CPU occupation", "Call Reconnection"

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "issues": [
        "Unstable audio quality"
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.chat_message_file_sent

  • Method: POST
  • Path: meeting.chat_message_file_sent
  • Tags: Meetings

The In-meeting chat message file received event is triggered when a meeting's message file is available to view or download. The event is sent to the configured endpoint in your Marketplace app.

Prerequisites

  • Enable the Enable in-meeting chat DLP (Data Loss Prevention) integration and Include in-meeting chat files features in the host's account.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The In-meeting chat message file received subscription enabled under the Meeting event.
  • This feature is only enabled upon request approval. Contact the Zoom support team for more information.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the chat message file.

      • chat_message_file (required)

        object — Information about the chat message file.

        • date_time (required)

          string, format: date-time — The date and time when the chat message was sent.

        • download_url (required)

          string — The live meeting chat file's download URL.

        • file_id (required)

          string — The live meeting chat file's UUID, in base64-encoded format.

        • file_name (required)

          string — The live meeting chat file's name.

        • file_size (required)

          integer — The live meeting chat file's size, in bytes.

        • file_type (required)

          string — The live meeting chat file's type.

        • message_id (required)

          string — The chat message's UUID.

        • recipient_context (required)

          string, possible values: "meeting", "breakout_room" — The context where the recipient is located when the message is delivered. * `meeting` - The recipient is in the meeting. * `breakout_room` - The sender is in a breakout room.

        • recipient_type (required)

          string, possible values: "everyone", "host", "guest", "group", "host_group" — The type of message recipient. * `everyone` - All meeting participants. * `host` - The meeting host. * `guest` - A meeting guest. * `group` - A group chat. * `host_group` - The meeting host and all co-hosts.

        • sender_context (required)

          string, possible values: "meeting", "breakout_room" — The context where the sender is located when the message is generated. * `meeting` - The sender is in a meeting. * `breakout_room` - The sender is in a breakout room.

        • sender_name (required)

          string — The message sender's name.

        • sender_session_id (required)

          string — The message sender's session ID.

        • sender_type (required)

          string, possible values: "host", "guest" — The type of user that sent the message. * `host` - The meeting host. * `guest` - A meeting guest.

        • recipient_email

          string, format: email — The message recipient's email address. Optional only included if it is a private message.

        • recipient_name

          string — The message recipient's name.

        • recipient_session_id

          string — The message recipient's session ID.

        • sender_email

          string, format: email — The message sender's email address.

      • meeting_id (required)

        integer, format: int64 — The meeting ID.

      • meeting_uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates its own meeting UUID.

      • breakout_room_uuid

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_id": 1,
      "meeting_uuid": "",
      "breakout_room_uuid": "",
      "chat_message_file": {
        "date_time": "",
        "sender_session_id": "",
        "sender_name": "",
        "sender_email": "",
        "sender_type": "host",
        "sender_context": "meeting",
        "recipient_session_id": "",
        "recipient_name": "",
        "recipient_email": "",
        "recipient_type": "everyone",
        "recipient_context": "meeting",
        "message_id": "",
        "file_id": "",
        "file_name": "",
        "file_size": 1,
        "file_type": "",
        "download_url": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.deleted

  • Method: POST
  • Path: meeting.deleted
  • Tags: Meetings

The Meeting has been deleted event is triggered every time a meeting scheduled by one of your app users or account users, is deleted.

A meeting host or a user with admin privileges can delete a scheduled meeting. Users can delete a meeting manually using the Delete feature for a meeting via the Zoom web portal or the Zoom client. Users can also programmatically delete meetings through the Delete a Meeting API.

Prerequisites

  • A Pro or higher plan.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting has been deleted subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who deleted the meeting.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • duration

        integer — The scheduled meeting duration.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

      • recurrence_event_id

        string — The unique identifier of the recurring event that the occurrences belong to. Updating a recurring meeting with **This and following events** splits it into two recurring events, each with its own `recurrence_event_id`. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The meeting's topic.

    • operator (required)

      string — The email address of the user who deleted the meeting.

    • operation

      string, possible values: "all", "single", "range" — The type of operation performed on a recurring meeting. * `all` - The change was applied to all occurrences. * `single` - The change was applied to a single occurrence. * `range` - The change was applied to a range of occurrences while the other occurrences are unchanged. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

    • operator_id

      string — The user ID of the user who deleted the meeting.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "recurrence_event_id": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_joined

  • Method: POST
  • Path: meeting.participant_joined
  • Tags: Meetings

The Participant or Host joined meeting event is triggered every time an attendee joins a meeting. A meeting attendee is a meeting participant or the host. The meeting host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant or Host joined meeting subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • join_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • id

        string — The meeting ID.

      • start_time

        string — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "customer_key": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

user.tsp_deleted

  • Method: POST
  • Path: user.tsp_deleted
  • Tags: TSP

The A user's TSP account was deleted event is triggered every time a TSP user account is deleted.

Zoom allows certain carrier partners to provision Telephony Service Provider (TSP) audio to users. For users to use TSP audio, carrier partners must create a TSP user account with Zoom for the users. Zoom account owners and admins can delete an existing TSP user account.

Prerequisites

  • A Pro or higher plan with TSP Configurations enabled.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • The A user's TSP account was deleted subscription must be enabled under the TSP event.

Request Body

Content-Type: application/json
  • event

    string — The name of the event.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

  • payload

    object

    • account_id

      string — The account ID of the user who deleted the TSP.

    • object

      object — Information about the deleted user.

      • email

        string — The user's email address.

      • id

        string — The user's ID.

      • tsp_credentials

        object — Information about the deleted user's TSP credentials.

        • conference_code

          string — The TSP conference code.

        • dial_in_numbers

          array — Information about the TSP dial-in numbers.

          Items:
          • code

            string — The country code.

          • country_label

            string, possible values: "US_TSP_TB", "EU_TSP_TB" — The TSP country label: * `US_TSP_TB` * `EU_TSP_TB`

          • number

            string — The dial-in phone number.

          • type

            string, possible values: "toll", "tollfree", "media_link" — The type of the phone number: * `toll` — Toll number. * `tollfree` — Toll free number. * `media_link` — Media link.

        • leader_pin

          string — The leader PIN.

        • tsp_bridge

          string — The TSP bridge zone.

    • operator

      string, format: email — The email address of the user who deleted the TSP.

    • operator_id

      string — The user ID of the user who deleted the TSP.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "email": "",
      "tsp_credentials": {
        "conference_code": "",
        "leader_pin": "",
        "tsp_bridge": "",
        "dial_in_numbers": [
          {
            "code": "",
            "number": "",
            "type": "toll",
            "country_label": "US_TSP_TB"
          }
        ]
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.ai_companion_started

  • Method: POST
  • Path: meeting.ai_companion_started
  • Tags: Meetings

The AI Companion started event is triggered when a user starts the AI Companion during a live meeting.

Prerequisites

  • Host user must be Pro or higher plan.
  • Enable AI Companion.
  • E2EE meetings do not support the AI Companion feature.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The AI Companion started subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that hosted the meeting.

    • object (required)

      object — The meeting where the AI Companion was started.

      • ai_companion (required)

        object — The AI Companion features that were started.

        • questions

          boolean — Whether the AI Companion's meeting questions feature was started.

        • summary

          boolean — Whether the AI Companion's meeting summary feature was started.

      • host_id (required)

        string — The ID of the user set as the host of the meeting.

      • meeting_number (required)

        integer, format: int64 — The meeting number.

      • meeting_uuid (required)

        string — The meeting's universally unique identifier (UUID).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_number": 1,
      "meeting_uuid": "",
      "host_id": "",
      "ai_companion": {
        "questions": true,
        "summary": true
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.invitation_dispatched

  • Method: POST
  • Path: meeting.invitation_dispatched
  • Tags: Meetings

The Invited party's Zoom is ringing event is triggered every time a user sends an invitation to join a meeting or video call to one or more recipients.

This event is only suitable for triggering with the ZOOM client.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with these configurations:
    • A valid Event Notification Endpoint URL.
    • The Invited party's Zoom is ringing subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • email (required)

          string, format: email — The email address of the user who received the meeting invitation. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • participant_user_id (required)

          string — The user ID of the user who received the meeting invitation.

      • topic (required)

        string — The meeting's topic.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string — The email address of the user who sent the meeting invitation.

    • operator_id (required)

      string — The user ID of the user who sent the meeting invitation.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "participant": {
        "participant_user_id": "",
        "email": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.ended

  • Method: POST
  • Path: webinar.ended
  • Tags: Webinars

The End Webinar event is triggered every time a user in your account or your app ends a webinar.

Zoom users with a Webinar Plan have permissions for creating and managing webinars. Zoom Video Webinar allows users to broadcast a Zoom meeting to up to 1000 attendees. A webinar host can start and end a webinar.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Event Subscription must be enabled for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The End Webinar subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who ended the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • end_time

        string, format: date-time — The date and time when the webinar ended.

      • practice_session

        boolean — whether this webinar is a practice session.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "end_time": "",
      "duration": 1,
      "practice_session": true
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.converted_to_webinar

  • Method: POST
  • Path: meeting.converted_to_webinar
  • Tags: Meetings

The Meeting has been converted to a Webinar event is triggered every time one of your app users or account users converts a meeting into a webinar.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting has been converted to a Webinar subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who converted the meeting into a webinar.

    • object (required)

      object — Information about the webinar converted from a meeting.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A scheduled webinar. * `6` - A recurring webinar with no fixed time. * `9` - A recurring webinar with fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID).

      • duration

        integer — The scheduled webinar's duration, in minutes. Returned only when the webinar type is `5`, ascheduled webinar.

      • start_time

        string, format: date-time — The scheduled webinar's start time. Returned only when the webinar type is `5`, a scheduled webinar.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The webinar's topic.

    • operator (required)

      string — The email address of the user who converted the meeting into a webinar.

    • operator_id

      string — The user ID of the user who converted the meeting into a webinar.

  • event_ts

    integer, format: int64 — A timestamp when the event occurred.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

webinar.recovered

  • Method: POST
  • Path: webinar.recovered
  • Tags: Webinars

The Webinar has been recovered event is triggered every time a user recovers a previously-deleted webinar. The user must be a user on your account or on any other accounts that have installed your webhook-enabled app.

Zoom users can restore previously-deleted webinars for up to one week after deletion. Any invitations, links, and webinar IDs sent prior to the webinar's deletion will still work after a user recovers it.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Webinar has been recovered subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who recovered the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who recovered the webinar.

    • operator_id (required)

      string — The user ID of the user who recovered the webinar.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all webinars. * `single` — The change was applied only to a single webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.participant_role_changed

  • Method: POST
  • Path: webinar.participant_role_changed
  • Tags: Webinars

The Participant role changed event is triggered every time a host or webinar attendee changes the role during a webinar created by one of your app users or account users. A webinar host can invite other users to attend the webinar.

Zoom users with a Webinar plan have access to creating and managing webinars. Zoom webinars let users to broadcast a Zoom meeting to up to 1,000 attendees.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant role changed subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant.

        • date_time (required)

          string, format: date-time — The time when the participant changed the [role](https://support.zoom.us/hc/en-us/articles/360000252726-Roles-in-a-Zoom-Webinar).

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the webinar by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • new_role (required)

          string, possible values: "host", "co-host", "attendee" — The participant's new role. * `host` — Host. * `co-host` — Co-host. * `attendee` — Attendee.

        • old_role (required)

          string, possible values: "host", "co-host", "attendee" — The participant's previous role. * `host` — Host. * `co-host` — Co-host. * `attendee` — Attendee.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • user_name (required)

          string — The participant's display name.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users

        • participant_uuid

          string — The participant's UUID for this specific webinar. This value is assigned to a participant when they join a webinar, and is only valid for the duration of that webinar.

        • registrant_id

          string — The participant's registrant ID. (A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026)).

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "participant_uuid": "",
        "date_time": "",
        "old_role": "host",
        "new_role": "host"
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_jbh_waiting_left

  • Method: POST
  • Path: meeting.participant_jbh_waiting_left
  • Tags: Meetings

The Waiting participant left meeting before host joined event is triggered every time an attendee waiting for the host to join the meeting leaves before the host. The host of the meeting must be a user in your account or users in any other accounts that have installed your webhook-enabled app.

When scheduling a meeting, the organizer or host of the meeting can enable the Enable join before host option. This allows attendees to join the meeting before the host of the meeting arrives. This meeting also starts as soon as the first meeting participant joins.

If this option is disabled, participants are prompted to wait for the host to arrive before joining the meeting.

Prerequisites

  • A Pro or a higher plan.
  • Disable the Enable join before host option for the scheduled meeting.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Waiting participant left meeting before host joined subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (personal audio conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "id": "",
        "user_name": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

user.tsp_created

  • Method: POST
  • Path: user.tsp_created
  • Tags: TSP

The A user's TSP account was created event is triggered every time a TSP user account is created in Zoom.

Zoom allows certain carrier partners to provision Telephony Service Provider (TSP) audio to users. For users to use TSP audio, carrier partners must create a TSP user account with Zoom for the users.

Prerequisites

  • A Pro or higher plan with TSP Configurations enabled.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • The A user's TSP account was created subscription must be enabled under the TSP event.

Request Body

Content-Type: application/json
  • event

    string — The name of the event.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

  • payload

    object

    • account_id

      string — The account ID of the user who created the TSP.

    • object

      object — Information about the created user.

      • email

        string, format: email — The user's email address.

      • id

        string — The user's ID.

      • tsp_credentials

        object — Information about the user's TSP credentials.

        • conference_code

          string — The TSP conference code.

        • dial_in_numbers

          array — Information about the TSP dial-in numbers.

          Items:
          • code

            string — The country code.

          • country_label

            string, possible values: "US_TSP_TB", "EU_TSP_TB" — The TSP country label: * `US_TSP_TB` * `EU_TSP_TB`

          • number

            string — The dial-in phone number.

          • type

            string, possible values: "toll", "tollfree", "media_link" — The type of the phone number: * `toll` — Toll number. * `tollfree` — Toll free number. * `media_link` — Media link.

        • leader_pin

          string — The leader PIN.

        • tsp_bridge

          string — The TSP bridge zone.

    • operator

      string, format: email — The email address of the user who created the TSP.

    • operator_id

      string — The user ID of the user who created the TSP.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "email": "",
      "tsp_credentials": {
        "conference_code": "",
        "leader_pin": "",
        "tsp_bridge": "",
        "dial_in_numbers": [
          {
            "code": "",
            "number": "",
            "type": "toll",
            "country_label": "US_TSP_TB"
          }
        ]
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.breakout_room_sharing_ended

  • Method: POST
  • Path: meeting.breakout_room_sharing_ended
  • Tags: Meetings

The User in breakout room stopped sharing event is triggered when a user in a breakout room ends their content-sharing, such as their desktop or the classic whiteboard.

Breakout rooms are sessions that are split off from the main Zoom meeting. They allow the participants to meet in smaller groups and are completely isolated in terms of audio and video from the main session.

Prerequisites

  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The User in breakout room stopped sharing subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The main meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • breakout_room_uuid (required)

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

      • duration (required)

        integer — The main scheduled meeting duration.

      • host_id (required)

        string — The main meeting host's user ID.

      • id (required)

        string — The main meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • sharing_details (required)

          object — Information about the meeting's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's airplay. * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty string value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty string value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty string value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • parent_user_id

          string — The participant's main meeting user ID (`user_id`).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The main meeting's start time.

      • topic (required)

        string — The main meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The main meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The main meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The main meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "breakout_room_uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "parent_user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.updated

  • Method: POST
  • Path: meeting.updated
  • Tags: Meetings

The Meeting has been updated event is triggered when a meeting scheduled by one of your app users or account users is updated.

Meeting hosts or users with admin privileges can update scheduled meetings.

You can update the meeting manually through the Edit feature in the Zoom web portal or the Zoom client, or programmatically update a meeting through the Update a meeting API.

Prerequisites

  • A Pro or higher plan.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL
    • The Meeting has been updated subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who updated the meeting.

    • object (required)

      object — Information about the meeting.

      • id (required)

        integer, format: int64 — The meeting ID.

      • agenda

        string — The meeting's agenda.

      • duration

        integer — The scheduled meeting duration.

      • host_id

        string — The meeting host's user ID.

      • join_url

        string — The URL participants use to join the meeting.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

        • duration

          integer — The scheduled meeting duration.

        • status

          string, possible values: "available", "deleted" — The meeting occurrence status. * `available` * `deleted`

      • password

        string — The password required to join the meeting.

      • recurrence

        object — Information about [recurring meetings](https://developers.zoom.us/docs/api/rest/other-references/recurrence-object-definitions/).

        • end_date_time

          string, format: date-time — The recurring meeting's final ending date and time before it is canceled, in UTC format.

        • end_times

          integer — The number of times the recurring meeting will occur before it is canceled.

        • monthly_day

          integer — The day of the month when the recurring monthly meeting occurs. The value ranges from 1 to 31.

        • monthly_week

          integer, possible values: -1, 1, 2, 3, 4 — The week of the month when a recurring meeting occurs. * `-1` - The last week of the month. * `1` - The first week. * `2` - The second week. * `3` - The third week. * `4` - The fourth week.

        • monthly_week_day

          integer, possible values: 1, 2, 3, 4, 5, 6, 7 — The day of the week when the recurring monthly meeting is scheduled. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

        • repeat_interval

          integer — The meeting's repeat interval. * For daily intervals, a max of `99` days. * For a weekly interval, a max of `50` weeks. * For monthly intervals, a max of `10` months.

        • type

          integer, possible values: 1, 2, 3 — The type of recurring meeting. * `1` - Daily. * `2` - Weekly. * `3` - Monthly.

        • weekly_days

          string, possible values: "1", "2", "3", "4", "5", "6", "7" — A comma-separated list of the days of the week when the recurring weekly meeting occurs. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

      • recurrence_event_id

        string — The unique identifier of the recurring event that the occurrences belong to. Updating a recurring meeting with **This and following events** splits it into two recurring events, each with its own `recurrence_event_id`. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

      • registration_url

        string — The meeting's registration URL.

      • settings

        object — Information about the updated meeting settings. This **only** returns updated meeting settings.

        • allow_host_control_participant_mute_state

          boolean — Whether to allow host and co-hosts to fully control the mute state of participants.

        • alternative_hosts

          string — A semicolon-separated list of the meeting's alternative hosts' email addresses or IDs.

        • approval_type

          integer, possible values: 0, 1, 2 — The [approval type](https://support.zoom.us/hc/en-us/articles/211579443-Scheduling-a-meeting-with-registration) for meeting registrants. * `0` - Automatically approve registrants. * `1` - Manually approve registrants. * `2` - Meeting registration not required.

        • audio

          string, possible values: "telephony", "voip", "both" — The available audio options for participants joining the meeting. * `telephony` - Telephony only. * `voip` - VoIP only. * `both` - Both Telephony and VoIP.

        • authentication_domains

          string — A list of the allowed authenticated domains.

        • authentication_name

          string — The authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472).

        • authentication_option

          string — The [authentication](https://support.zoom.us/hc/en-us/articles/4406604615693) option ID value.

        • auto_recording

          string, possible values: "local", "cloud", "none" — The [automatic recording](https://support.zoom.us/hc/en-us/articles/202921119-Automatic-Recording) settings for the meeting. * `local` - Record and save to the local device. * `cloud` - Record and save to the cloud. * `none` - Automatic recording disabled.

        • auto_start_ai_companion_questions

          boolean — Whether to automatically start AI Companion questions.

        • auto_start_meeting_summary

          boolean — Whether to automatically start a meeting summary.

        • continuous_meeting_chat

          object — Information about the **Enable continuous meeting chat** feature.

          • auto_add_invited_external_users

            boolean — Whether to enable the **Automatically add invited external users** setting.

          • auto_add_meeting_participants

            boolean — Whether to enable the **Automatically add meeting participants** setting.

          • channel_id

            string — The channel's ID.

          • enable

            boolean — Whether to enable the **Enable continuous meeting chat** setting.

        • disable_recording_control

          string, possible values: "none", "all", default: "none" — Which recording options are unavailable to the in-meeting host through the Zoom client. * `none` - All recording options are available to the host. This is the default. * `all` - All recording options are unavailable to the host. Not supported when `auto_recording` is set to `local`.

        • email_in_attendee_report

          boolean — Whether to include authenticated guest's email addresses in meetings' attendee reports.

        • enforce_login

          boolean — Whether to only allow signed in users to join the meeting.

        • enforce_login_domains

          string — A list of the domains allowed to join the meeting.

        • host_video

          boolean — Whether to start the meeting with the host's video on.

        • jbh_time

          integer, possible values: 0, 5, 10 — If the value of the `join_before_host` field is `true`, this field indicates the time limits when a participant can join a meeting before the meeting's host. * `0` - Allow the participant to join the meeting at any time. * `5` - Allow the participant to join 5 minutes before the meeting's start time. * `10` - Allow the participant to join 10 minutes before the meeting's start time.

        • join_before_host

          boolean — Whether to [allow participants to join the meeting before host arrives](https://support.zoom.us/hc/en-us/articles/202828525-Allow-participants-to-join-before-host).

        • language_interpretation

          object — The meeting's [language interpretation settings](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars). Make sure to add the language in the web portal in order to use it in the API. See link for details. **Note:** This feature is only available for certain Meeting add-on, Education, and Business and higher plans. If this feature is not enabled on the host's account, this setting will **not** be applied to the meeting.

          • enable (required)

            boolean — Whether to enable [language interpretation](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0064768) for the meeting.

          • interpreters

            array — Information about the meeting's language interpreters.

            Items:
            • email

              string, format: email — The interpreter's email address.

            • interpreter_languages

              string — A comma-separated list of the interpreter's languages. The string must contain exactly two languages. To get this value, use the `language_interpretation` object's `languages` and `custom_languages` values in the [**Get user settings**](https://developers.zoom.us/docs/api/users/#tag/users/GET/users/{userId}/settings) API response. **languages**: System-supported languages include `English`, `Chinese`, `Japanese`, `German`, `French`, `Russian`, `Portuguese`, `Spanish`, and `Korean`. **custom_languages**: User-defined languages added by the user. For example, an interpreter translating between English and French should use `English,French`.

            • languages

              string — A comma-separated list of the interpreter's languages. The string must contain exactly two country IDs. Only system-supported languages are allowed: `US` (English), `CN` (Chinese), `JP` (Japanese), `DE` (German), `FR` (French), `RU` (Russian), `PT` (Portuguese), `ES` (Spanish), and `KR` (Korean). For example, to set an interpreter translating from English to Chinese, use `US,CN`.

        • meeting_authentication

          boolean — Whether only authenticated users can join the meeting.

        • meeting_invitees

          array — A list of the meeting's invitees.

          Items:
          • email

            string, format: email — The invitee's email address.

        • mute_upon_entry

          boolean — Whether participants are muted upon entry.

        • participant_video

          boolean — Whether to turn a participant's video on when they join the meeting. Participants can change this setting during the meeting.

        • prevent_screen_capture

          boolean — Whether to prevent participants from capturing Zoom meeting windows, which may include shared meeting content and chat messages. If not provided, the default value will be based on the user's setting.

        • registration_type

          integer, possible values: 1, 2, 3 — The meeting registration setting for recurring meetings. * `1` - Attendees register once and can attend any of the meeting occurrences. * `2` - Attendees must register for each occurrence to attend. * `3` - Attendees register once and can select one or more occurrences to attend.

        • sign_language_interpretation

          object — The meeting's [sign language interpretation settings](https://support.zoom.us/hc/en-us/articles/9644962487309-Using-sign-language-interpretation-in-a-meeting-or-webinar). Make sure to add the language in the web portal in order to use it in the API. See link for details. **Note:** If this feature is not enabled on the host's account, this setting will **not** be applied to the meeting.

          • enable (required)

            boolean — Whether to enable [sign language interpretation](https://support.zoom.us/hc/en-us/articles/9644962487309-Using-sign-language-interpretation-in-a-meeting-or-webinar) for the meeting.

          • interpreters

            array — Information about the meeting's sign language interpreters.

            Items:
            • email

              string, format: email — The interpreter's email address.

            • sign_language

              string — The interpreter's sign language. To get this value, use the `sign_language_interpretation` object's `languages` and `custom_languages` values in the [**Get user settings**](/api-reference/zoom-api/methods#operation/userSettings) API response.

        • summary_template_id

          string — The summary template ID used to generate a meeting summary based on a predefined template. To get available summary templates, use the **Get user summary templates** API. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.com/hc/en).

        • use_pmi

          boolean — Whether to use a [Personal Meeting ID (PMI)](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI) instead of an auto-generated meeting ID. PMIs are only available for scheduled meetings, instant meetings, and recurring meetings with no fixed time.

        • waiting_room

          boolean — Whether to enable a [waiting room](https://support.zoom.us/hc/en-us/articles/115000332726-Waiting-Room).

        • watermark

          boolean — Whether to enable the [watermark](https://support.zoom.us/hc/en-us/articles/209605273-Adding-a-Watermark) feature.

        • who_can_ask_questions

          integer, possible values: 1, 2, 3, 4, 5 — Defines who can ask questions about this meeting's transcript. This field is applicable only when `auto_start_ai_companion_questions` is set to `true`. * `1` - All participants and invitees. * `2` - All participants only from when they join. * `3` - Only meeting host. * `4` - Participants and invitees in our organization. * `5` - Participants in our organization only from when they join.

        • who_will_receive_summary

          integer, possible values: 1, 2, 3, 4 — Defines who will receive a summary after this meeting. This field is applicable only when `auto_start_meeting_summary` is set to `true`. * `1` - Only meeting host. * `2` - Only meeting host, co-hosts, and alternative hosts. * `3` - Only meeting host and meeting invitees in our organization. * `4` - All meeting invitees including those outside of our organization.

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting's topic.

      • tracking_fields

        array — Information about the meeting's [tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields).

        Items:
        • field

          string — The tracking field's label.

        • value

          string — The tracking field's value.

      • type

        integer, possible values: 0, 1, 2, 3, 4, 7, 8, 10 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time. * `10` - A screen share only meeting.

      • uuid

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • old_object (required)

      object

    • operator (required)

      string, format: email — The email address of the user who updated the meeting.

    • operator_id (required)

      string — The user ID of the user who updated the meeting.

    • time_stamp (required)

      integer, format: int64 — The meeting's update timestamp, in milliseconds.

    • scope

      string, possible values: "single", "all", "range" — The type of operation performed on a recurring meeting. * `all` - The change was applied to all occurrences. * `single` - The change was applied to a single occurrence. * `range` - The change was applied to a range of occurrences while the other occurrences are unchanged. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "scope": "single",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "join_url": "",
      "password": "",
      "agenda": "",
      "registration_url": "",
      "recurrence_event_id": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "duration": 1,
          "status": "available",
          "additionalProperty": "anything"
        }
      ],
      "settings": {
        "host_video": true,
        "participant_video": true,
        "join_before_host": true,
        "jbh_time": 0,
        "mute_upon_entry": true,
        "audio": "telephony",
        "auto_recording": "local",
        "disable_recording_control": "none",
        "use_pmi": true,
        "waiting_room": true,
        "watermark": true,
        "enforce_login": true,
        "enforce_login_domains": "",
        "approval_type": 0,
        "registration_type": 1,
        "alternative_hosts": "",
        "meeting_authentication": true,
        "authentication_option": "",
        "authentication_name": "",
        "authentication_domains": "",
        "meeting_invitees": [
          {
            "email": ""
          }
        ],
        "language_interpretation": {
          "enable": true,
          "interpreters": [
            {
              "email": "",
              "interpreter_languages": ""
            }
          ]
        },
        "sign_language_interpretation": {
          "enable": true,
          "interpreters": [
            {
              "email": "",
              "sign_language": ""
            }
          ]
        },
        "continuous_meeting_chat": {
          "enable": true,
          "channel_id": ""
        },
        "auto_start_meeting_summary": true,
        "who_will_receive_summary": 1,
        "auto_start_ai_companion_questions": true,
        "who_can_ask_questions": 1,
        "summary_template_id": "",
        "allow_host_control_participant_mute_state": true,
        "email_in_attendee_report": true,
        "prevent_screen_capture": true,
        "additionalProperty": "anything"
      },
      "recurrence": {
        "type": 1,
        "repeat_interval": 1,
        "weekly_days": "1",
        "monthly_day": 1,
        "monthly_week_day": 1,
        "end_times": 1,
        "end_date_time": "",
        "monthly_week": -1,
        "additionalProperty": "anything"
      },
      "tracking_fields": [
        {
          "field": "",
          "value": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "time_stamp": 1,
    "old_object": null,
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.ai_companion_stopped

  • Method: POST
  • Path: meeting.ai_companion_stopped
  • Tags: Meetings

The AI Companion stopped event is triggered when a user stops the AI Companion during a live meeting.

Prerequisites

  • Host user must be on a Pro or higher plan.
  • Enable AI Companion.
  • E2EE meetings do not support the AI Companion feature.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The AI Companion stopped subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that hosted the meeting.

    • object (required)

      object — The meeting where the AI Companion was stopped.

      • ai_companion (required)

        object — The AI Companion features that were stopped.

        • questions

          boolean — Whether the AI Companion's meeting questions feature was stopped.

        • summary

          boolean — Whether the AI Companion's meeting summary feature was stopped.

      • host_id (required)

        string — The ID of the user set as the host of the meeting.

      • meeting_number (required)

        integer, format: int64 — The meeting ID.

      • meeting_uuid (required)

        string — The meeting's universally unique identifier (UUID).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_number": 1,
      "meeting_uuid": "",
      "host_id": "",
      "ai_companion": {
        "questions": true,
        "summary": true
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.registration_denied

  • Method: POST
  • Path: meeting.registration_denied
  • Tags: Meetings

The Meeting Registration has been denied event is triggered every time a registrant is denied from participating in a meeting.

A host with the Pro user type can enable the Registration feature when scheduling or updating a meeting. By enabling registration for meetings, participants must fill out a registration form receive information about joining the meeting.

A host can manually reject registrant. Hosts can also programmatically reject attendees via the Update registrant's status API.

Prerequisites

  • A Pro or a higher plan.
  • The meeting host should be a user on your account or a user of your webhook-enabled app.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting Registration has been denied subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting registration.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • registrant (required)

        object — Information about the meeting registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • last_name

          string — The registrant's last name.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who denied the meeting registration.

    • operator_id (required)

      string — The user ID of the user who denied the meeting registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

webinar.registration_denied

  • Method: POST
  • Path: webinar.registration_denied
  • Tags: Webinars

The Webinar Registration has been denied event is triggered every time one of your app users or account users denies a user's registration.

Scheduling a Webinar with registration requires registrants to complete a brief form before receiving the link to join the Webinar.Webinar Registration options can be customized by a Zoom admin or a Webinar host. This customization allows them to choose whether to approve attendees automatically or manually.

When the registration is set to be approved manually, a pending registrant can be denied from joining the Webinar. To deny a registrant manually, navigate to your Webinars page and click on the name of the Webinar. Click Edit to the right of Manage Attendees option, select the user and click Deny. Alternatively, the registrant can be denied using the Update registrant's status API.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Webinar Registration has been denied subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar registration.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer — The webinar ID.

      • registrant (required)

        object — Information about the webinar registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • last_name

          string — The registrant's last name.

        • tracking_source

          object — Information about the source tracking. See [Creating webinar registration tracking links](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-webinar-registration-tracking-links) for details.

          • id (required)

            string — Unique Identifier of the tracking source.

          • source_name (required)

            string — Name of the source (platform) where the registration URL was shared.

          • tracking_url (required)

            string — Tracking URL. The URL that was shared for the registration.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who denied the webinar registration.

    • operator_id (required)

      string — The user ID of the user who denied the webinar registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "tracking_source": {
          "id": "",
          "source_name": "",
          "tracking_url": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.registration_approved

  • Method: POST
  • Path: meeting.registration_approved
  • Tags: Meetings

The Meeting Registration has been approved event is triggered every time a registrant is approved for the meeting. The meeting host should be a user on your account or a user of your webhook-enabled app.

A meeting host or a user with admin privileges can restrict meeting registrations by manually approving registrants. With the Manually Approve option enabled for meeting registrations, the host of the meeting must approve registrants before they receive information about how to join the meeting.

Meeting hosts can approve an attendee's meeting invitation via the Zoom web portal. To do this, navigate to the scheduled meeting's page and click Edit next to the Manage Attendees section. Select the attendee to approve in the Pending Approval section, then click Approve.

To programmatically approve an attendee's registration, use the Update registrant's status API.

Prerequisites

  • A Pro or a higher plan.
  • Enable Manual Approval for meeting registrations.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting Registration has been approved subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting registration.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • registrant (required)

        object — Information about the meeting registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • join_url (required)

          string — The URL to join the meeting.

        • last_name

          string — The registrant's last name.

        • participant_pin_code

          integer, format: int64 — The participant PIN code is used to authenticate audio participants before they join the meeting.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who approved the meeting registration.

    • operator_id (required)

      string — The user ID of the user who approved the meeting registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "join_url": "",
        "participant_pin_code": 1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

webinar.participant_left

  • Method: POST
  • Path: webinar.participant_left
  • Tags: Webinars

The Participant/Host left webinar event is triggered every time a host of a webinar or an attendee leaves the webinar. The host must be a user on your account or on other accounts that have installed your webhook-enabled app.

Zoom users with a Webinar Plan have access to creating and managing Webinars. Zoom Video Webinar allows users to broadcast a Zoom meeting to up to 1000 attendees.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant/Host left webinar subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This field is returned if the participant joined the webinar by logging into their Zoom account. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • leave_reason

          string — The reason why the participant left the webinar, where `$name` is the participant's username: * `$name left the meeting.` * `$name got disconnected from the meeting.` * `Host ended the meeting.` * `Host closed the meeting.` * `Host started a new meeting.` * `Network connection error.` * `Host did not join.` * `Exceeded free meeting minutes limit.` * `Removed by host.` * `Unknown reason.` * `Leave waiting room.` * `Removed by host from waiting room.`

        • leave_time

          string, format: date-time — The time when the participant left the webinar.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific webinar. This value is assigned to a participant when they join a webinar, and is only valid for the duration of that webinar.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. (A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026)).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "leave_time": "",
        "leave_reason": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "participant_uuid": "",
        "customer_key": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.batch_deleted

  • Method: POST
  • Path: recording.batch_deleted
  • Tags: Cloud Recording

The Batch recording deleted event is triggered every time one of your app users or account users permanently deletes one or more cloud recordings.

When a user initially deletes a recording, it is sent to the trash. At this stage, the recording can still be recovered for up to 30 days after deletion. To permanently delete a recording, users must delete it from the trash.

Users can permanently delete a recording via the Delete meeting recordings API with the delete query parameter or in the Zoom web portal.

Prerequisites

  • A Pro or higher plan.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • A valid Event Notification Endpoint URL.
  • The Recording files have been permanently deleted in batches subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that completed the meeting or webinar recording.

    • operator (required)

      string, format: email — The email address of the user who deleted the recording.

    • operator_id (required)

      string — The user ID of the user who deleted the recording.

    • object

      object — Information about the meeting or webinar recording.

      • meetings (required)

        array

        Items:
        • meeting_uuid

          string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

        • recording_file_ids

          array — The recording file's unique ID. If the current field value is NULL, it means to delete the whole Meeting Recording files.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meetings": [
        {
          "meeting_uuid": "",
          "recording_file_ids": []
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.alert

  • Method: POST
  • Path: webinar.alert
  • Tags: Webinars

The Webinar issues alert event is triggered every time a Webinar hosted by one of your app users or account users, encounters a service issue.

Zoom monitors the Webinar statistics in regard to the quality of service for each Webinar. An account owner or a user with admin permissions on a Business or higher plan can view these statistics via Dashboard. The following quality metrics can trigger an alert:

  • Unstable audio
  • Unstable video
  • Poor screen share quality
  • High CPU usage
  • Call reconnection problems

To receive notifications for this event, you must meet the following prerequisites.

Prerequisites

  • Business or a higher plan.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Webinar issues alert subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • issues (required)

        array — A list of issues that occurred during the webinar: * `Unstable audio quality` * `Unstable video quality` * `Unstable screen share quality` * `High CPU occupation` * `Call Reconnection`

        Items:

        string, possible values: "Unstable audio quality", "Unstable video quality", "Unstable screen share quality", "High CPU occupation", "Call Reconnection"

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "issues": [
        "Unstable audio quality"
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.chat_message_sent

  • Method: POST
  • Path: webinar.chat_message_sent
  • Tags: Webinars

The In-webinar chat message received event is triggered when a user sends a public or private chat message during a webinar using the chat feature. The event is sent to the configured endpoint in your Marketplace app.

Prerequisites

  • Have Zoom enable the DLP for in-meeting chat feature to use this webhook.
  • Enable Event Subscriptions for your Marketplace app with:
    • Enable the In-webinar chat message received subscription under the Webinar event category.
  • This feature is only enabled upon request approval. Contact the Zoom support team for more information.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the chat message.

      • chat_message (required)

        object — Information about the chat message.

        • date_time (required)

          string, format: date-time — The date and time when the chat message was sent.

        • message_content (required)

          string — The content of the chat message.

        • message_id (required)

          string — The chat message's UUID.

        • recipient_context (required)

          string, possible values: "webinar", "breakout_room", "waiting_room" — The context where the recipient is located when the message is delivered. * `webinar` - The recipient is in the webinar. * `breakout_room` - The recipient is in a breakout room. * `waiting_room` - The recipient is in the waiting room.

        • recipient_type (required)

          string, possible values: "everyone", "host", "guest", "group", "backstage", "host_group" — The type of message recipient. * `everyone` - All webinar participants. * `host` - The webinar host. * `guest` - A webinar guest. * `group` - A group chat. * `backstage` - The webinar backstage. * `host_group` - The webinar host and all panelists.

        • sender_context (required)

          string, possible values: "webinar", "breakout_room", "waiting_room" — The context where the sender is located when the message is generated. * `webinar` - The sender is in a webinar. * `breakout_room` - The sender is in a breakout room. * `waiting_room` - The sender is in the waiting room.

        • sender_name (required)

          string — The message sender's name.

        • sender_session_id (required)

          string — The message sender's session ID.

        • sender_type (required)

          string, possible values: "host", "alternative-host", "panelist", "guest" — The type of user that sent the message. * `host` - The webinar host. * `alternative-host` - The webinar's [alternative host](https://support.zoom.us/hc/en-us/articles/208220166). * `panelist` - A webinar [panelist](https://support.zoom.us/hc/en-us/articles/360000252726#:~:text=Panelists%20are%20full,a%20webinar%20host.). * `guest` - A webinar guest.

        • file_ids

          array — The live webinar chat file's UUID, in base64-encoded format.

          Items:

          string

        • recipient_email

          string, format: email — The message recipient's email address. Optional only included if it is a private message.

        • recipient_name

          string — The message recipient's name.

        • recipient_session_id

          string — The message recipient's ID.

        • sender_email

          string, format: email — The message sender's session email address.

      • id (required)

        integer, format: int64 — The webinar ID.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • breakout_room_uuid

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "breakout_room_uuid": "",
      "chat_message": {
        "date_time": "",
        "sender_session_id": "",
        "sender_name": "",
        "sender_email": "",
        "sender_type": "host",
        "sender_context": "webinar",
        "recipient_session_id": "",
        "recipient_name": "",
        "recipient_email": "",
        "recipient_type": "everyone",
        "recipient_context": "webinar",
        "message_id": "",
        "message_content": "",
        "file_ids": [
          ""
        ]
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.chat_message_file_sent

  • Method: POST
  • Path: webinar.chat_message_file_sent
  • Tags: Webinars

The In-webinar chat message file received event is triggered when a message file of a webinar is available to view or download. The event is sent to the configured endpoint in your Marketplace app.

Prerequisites

  • Have Zoom enable the DLP for in-meeting chat feature to use this webhook.
  • Enable Event Subscriptions for your Marketplace app with:
    • Enable the In-webinar chat message file received subscription under the Webinar event category.
  • This feature is only enabled upon request approval. Contact the Zoom support team for more information.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the webinar.

    • object (required)

      object — Information about the chat message file.

      • chat_message_file (required)

        object — Information about the chat message file.

        • date_time (required)

          string, format: date-time — The date and time when the chat message was sent.

        • download_url (required)

          string — The live webinar chat file's download URL.

        • file_id (required)

          string — The live webinar chat file's UUID, in base64-encoded format.

        • file_name (required)

          string — The live webinar chat file's name.

        • file_size (required)

          integer — The live webinar chat file's size, in bytes.

        • file_type (required)

          string — The live meeting chat file's type.

        • message_id (required)

          string — The chat message's UUID.

        • recipient_context (required)

          string, possible values: "webinar", "breakout_room" — The context where the recipient is located when the message is delivered. * `webinar` - The recipient is in the webinar. * `breakout_room` - The sender is in a breakout room.

        • recipient_type (required)

          string, possible values: "everyone", "host", "guest", "group", "backstage", "host_group" — The type of message recipient. * `everyone` - All webinar participants. * `host` - The webinar host. * `guest` - A webinar guest. * `group` - A group chat. * `backstage` - The webinar backstage. * `host_group` - The webinar host and all panelists.

        • sender_context (required)

          string, possible values: "webinar", "breakout_room" — The context where the sender is located when the message is generated. * `webinar` - The sender is in a webinar. * `breakout_room` - The sender is in a breakout room.

        • sender_name (required)

          string — The message sender's name.

        • sender_session_id (required)

          string — The message sender's session ID.

        • sender_type (required)

          string, possible values: "host", "guest" — The type of user that sent the message. * `host` - The meeting host. * `guest` - A meeting guest.

        • recipient_email

          string, format: email — The message recipient's email address. Optional only included if it is a private message.

        • recipient_name

          string — The message recipient's name.

        • recipient_session_id

          string — The message recipient's session ID.

        • sender_email

          string, format: email — The message sender's email address.

      • webinar_id (required)

        integer, format: int64 — The webinar ID.

      • webinar_uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • breakout_room_uuid

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "webinar_id": 1,
      "webinar_uuid": "",
      "breakout_room_uuid": "",
      "chat_message_file": {
        "date_time": "",
        "sender_session_id": "",
        "sender_name": "",
        "sender_email": "",
        "sender_type": "host",
        "sender_context": "webinar",
        "recipient_session_id": "",
        "recipient_name": "",
        "recipient_email": "",
        "recipient_type": "everyone",
        "recipient_context": "webinar",
        "message_id": "",
        "file_id": "",
        "file_name": "",
        "file_size": 1,
        "file_type": "",
        "download_url": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.ended

  • Method: POST
  • Path: meeting.ended
  • Tags: Meetings

The End Meeting event is triggered every time a meeting host ends the meeting. The host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The End Meeting subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • end_time (required)

        string, format: date-time — The date and time at which the meeting ended.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "end_time": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_joined_breakout_room

  • Method: POST
  • Path: meeting.participant_joined_breakout_room
  • Tags: Meetings

The Meeting participant has joined a breakout room event is triggered when a meeting participant joins a meeting breakout room.

Breakout rooms are sessions that are split off from the main Zoom meeting. They let participants meet in smaller groups and are completely isolated in terms of audio and video from the main session.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting participant has joined a breakout room subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the main meeting.

    • object (required)

      object — Information about the meeting.

      • breakout_room_uuid (required)

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

      • duration (required)

        integer — The main scheduled meeting duration.

      • host_id (required)

        string — The main meeting host's user ID.

      • id (required)

        string — The main meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom.

        • join_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's unique ID. * If meeting registration was **not** required and the participant joined by logging into Zoom, this value is the same as the `userId` field used in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API. * If registration was required for the meeting and the participant joined the meeting by logging into Zoom, this value is the same as the `id` value in the [**List meeting registrants**](/api-reference/zoom-api/methods#operation/meetingRegistrants) API response. * If participant joins without logging into Zoom, this returns an empty value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • parent_user_id

          string — The participant's main meeting user ID (`user_id`).

        • participant_user_id

          string — The participant's unique ID. * If meeting registration was **not** required and the participant joined by logging into Zoom, this value is the same as the `userId` field used in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API. * If registration was required for the meeting and the participant joined the meeting by logging into Zoom, this value is the same as the `id` value in the [**List meeting registrants**](/api-reference/zoom-api/methods#operation/meetingRegistrants) API response. * If participant joins without logging into Zoom, this returns an empty value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • start_time (required)

        string — The main meeting's start time.

      • topic (required)

        string — The main meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The main meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The main meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The main meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "breakout_room_uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "parent_user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "phone_number": "8615250064084",
        "customer_key": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_left_waiting_room

  • Method: POST
  • Path: meeting.participant_left_waiting_room
  • Tags: Meetings

The Participant left a waiting room event is triggered every time a meeting host does not admit a participant to the meeting and removes the participant from the waiting room. This event also triggers if a participant leaves the waiting room. The meeting host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

The waiting room feature allows the host to control when participants join a meeting. When a participant attempts to join a meeting with this feature enabled, the participant is first admitted to the waiting room. The meeting host can then admit attendees one by one or hold all attendees in the waiting room and admit them all at once.

Prerequisites

  • The waiting room feature enabled for the meeting.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The "Participant left a waiting room" subscription must be enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • date_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/docs/api/rest/reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/docs/api/rest/reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN-

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "date_time": "",
        "email": "",
        "phone_number": "8615250064084",
        "participant_user_id": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.started

  • Method: POST
  • Path: meeting.started
  • Tags: Meetings

The Start Meeting event is triggered every time a meeting host starts a meeting. The meeting host must either be a user on your account or a user of your webhook-enabled app.

A meeting host can start a meeting from the Zoom desktop client for Mac, PC or Linux, the Zoom app for Android or iOS, a web browser, or an H.323 or SIP device.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Start Meeting subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.registration_cancelled

  • Method: POST
  • Path: meeting.registration_cancelled
  • Tags: Meetings

The Meeting Registration has been canceled event is triggered every time a registration is canceled for a meeting. The meeting host should be a user on your account or a user of your webhook-enabled app.

A host with the Pro user type can enable the Registration feature when scheduling or updating a meeting. By enabling registration for meetings, participants must fill out a registration form receive information about joining the meeting.

Meeting attendees can cancel their registration at any time. A meeting host can also cancel an attendee's meeting invitation via the Zoom web portal. To do this, navigate to the scheduled meeting's page and click Edit next to the Manage Attendees section. The Approved section will display all approved attendees. Select the attendee whose meeting registration you want to revoke and click Cancel Registration.

To programmatically cancel a registration, use the Update registrant's status API.

Prerequisites

  • A Pro or a higher plan.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting Registration has been canceled subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting registration.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • registrant (required)

        object — Information about the meeting registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • last_name

          string — The registrant's last name.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who canceled the meeting registration.

    • operator_id

      string — The user ID of the user who canceled the meeting registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.summary_completed

  • Method: POST
  • Path: meeting.summary_completed
  • Tags: Meetings

The Meeting summary has been completed event is triggered every time the summary of the meeting is made available for one of your app users or account users after the summarized meeting/webinar ends.

Prerequisites

  • Host user must be Pro or higher plan.
  • Enable the Meeting Summary with AI Companion feature in the host's account.
  • E2ee meetings do not have summary feature enabled.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting summary have completed subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • next_steps (required)

        array — The next steps.

        Items:

        string — The next step.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_details (required)

        array — The summary content details.

        Items:
        • label (required)

          string — The summary label.

        • summary (required)

          string — The summary content.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

      • summary_content

        string — The complete meeting summary in Markdown format. This unified field is used for all summaries. For compatibility, the legacy fields `summary_overview`, `summary_details`, `next_steps` are still returned, but are deprecated and will not be supported in the future.

      • summary_doc_url

        string — The URL to view the full summary document in Zoom Docs.

      • summary_overview

        string — The summary overview.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "summary_content": "",
      "summary_doc_url": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_left

  • Method: POST
  • Path: meeting.participant_left
  • Tags: Meetings

The Participant/Host left meeting event is triggered every time an attendee leaves a meeting. A meeting attendee is a meeting participant or the host. The meeting host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with these configurations:
    • A valid Event Notification Endpoint URL.
    • The Participant/Host left meeting subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • leave_time (required)

          string, format: date-time — The time when the participant left the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • leave_reason

          string — The reason why the participant left the meeting, where `$name` is the participant's username: * `$name left the meeting.` * `$name got disconnected from the meeting.` * `Host ended the meeting.` * `Host closed the meeting.` * `Host started a new meeting.` * `Network connection error.` * `Host did not join.` * `Exceeded free meeting minutes limit.` * `Removed by host.` * `Unknown reason.` * `Leave waiting room.` * `Removed by host from waiting room.`

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN

        • registrant_id

          string — The participant's registrant ID. (A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026)).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "leave_time": "",
        "leave_reason": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "customer_key": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_phone_callout_rejected

  • Method: POST
  • Path: meeting.participant_phone_callout_rejected
  • Tags: Meetings

The Invited party rejected a meeting invitation through phone (call out) event is triggered every time a user rejects an invitation to join a meeting through phone (call out).

Prerequisites

Enable Event Subscriptions for your Marketplace app with these configurations.

  • A valid Event Notification Endpoint URL.
  • The Invited party rejected a meeting invitation through phone (call out) subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's name to display in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_phone_callout_accepted

  • Method: POST
  • Path: meeting.participant_phone_callout_accepted
  • Tags: Meetings

The Invited party answered a meeting invitation through phone (call out) event is triggered every time a user accepts an invitation to join a meeting through phone (call out).

Prerequisites

Enable Event Subscriptions for your Marketplace app with these configurations.

  • A valid Event Notification Endpoint URL.
  • The Invited party answered a meeting invitation through phone (call out) subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's name to display in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.sharing_started

  • Method: POST
  • Path: webinar.sharing_started
  • Tags: Webinars

The Webinar Sharing Started event is triggered every time one of your app users or account users share their screen during a Webinar.

Zoom supports screen sharing by host or panelists on desktop, tablet and mobile devices running Zoom during Webinars.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Webinar Sharing Started subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant.

        • sharing_details (required)

          object — Information about the webinar's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's [AirPlay (Apple screen mirroring)](https://support.zoom.us/hc/en-us/articles/204726885-Sharing-screen-using-Apple-screen-mirroring-AirPlay-). * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty string value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty string value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty string value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value.

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The webinar's start time.

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.registration_created

  • Method: POST
  • Path: meeting.registration_created
  • Tags: Meetings

The Meeting Registration has been created event is triggered every time a user registers for a meeting.

A host with the Pro user type can enable the Registration feature when scheduling or updating a meeting. By enabling registration for meetings, participants must fill out a registration form receive information about joining the meeting. You can also programmatically register a participant via the Add Meeting Registrant API.

Prerequisites

  • A Pro or a higher plan.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting Registration has been created subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting registration.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • registrant (required)

        object — Information about the meeting registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • join_url (required)

          string — The URL to join the meeting.

        • status (required)

          string, possible values: "approved", "pending" — The registrant's registration approval status: * `approve` — Approved registrant. * `pending` — Registration approval pending.

        • address

          string — The registrant's address.

        • city

          string — The registrant's city.

        • comments

          string — The registrant's questions and comments.

        • country

          string — The registrant's two-letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).

        • custom_questions

          array — Information about custom questions.

          Items:
          Any of:
          • title (required)

            string — The title of the custom question.

          • value (required)

            string — The custom question's response value. This has a limit of 128 characters.

        • industry

          string — The registrant's industry.

        • job_title

          string — The registrant's job title.

        • last_name

          string — The registrant's last name.

        • no_of_employees

          string, possible values: "", "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" — The registrant's number of employees: * `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` * An empty string. — No employee number set.

        • org

          string — The registrant's organization.

        • participant_pin_code

          integer, format: int64 — The participant PIN code is used to authenticate audio participants before they join the meeting.

        • phone

          string — The registrant's phone number.

        • purchasing_time_frame

          string, possible values: "", "Within a month", "1-3 months", "4-6 months", "More than 6 months", "No timeframe" — The registrant's purchasing time frame: * `Within a month` * `1-3 months` * `4-6 months` * `More than 6 months` * `No timeframe` * An empty string. — No purchasing time frame set.

        • role_in_purchase_process

          string, possible values: "", "Decision Maker", "Evaluator/Recommender", "Influencer", "Not involved" — The registrant's role in the purchase process: * `Decision Maker` * `Evaluator/Recommender` * `Influencer` * `Not involved` * An empty string. — No role set.

        • state

          string — The registrant's state or province.

        • zip

          string — The registrant's ZIP or postal code.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "address": "",
        "city": "",
        "country": "",
        "zip": "",
        "state": "",
        "phone": "",
        "industry": "",
        "org": "",
        "job_title": "",
        "purchasing_time_frame": "",
        "role_in_purchase_process": "",
        "no_of_employees": "",
        "comments": "",
        "custom_questions": [
          {
            "title": "",
            "value": "",
            "additionalProperty": "anything"
          }
        ],
        "status": "approved",
        "join_url": "",
        "participant_pin_code": 1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

recording.recovered

  • Method: POST
  • Path: recording.recovered
  • Tags: Cloud Recording

This event is triggered when a user recovers a recording from the trash.

Zoom allows users to recover their cloud recordings from the trash within 30 days of deletion. You can recover a deleted cloud recording via the Recordings tab in the Zoom web client or via the Recover meeting recordings API.

Prerequisites

  • A Pro or a higher plan.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Recording files have been recovered from trash subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that completed the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • account_id (required)

        string — The account ID of the user that completed the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_count (required)

        integer — The number of recovered recording files.

      • recording_files (required)

        array — Information about the recovered recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}`. **Note:** We recommend that you send the access_token as a Bearer token in the Authorization header, for example: "Authorization": "Bearer <ACCESS_TOKEN>”.

        • file_extension (required)

          string, possible values: "MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG" — The file extension type of the recording file.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string, possible values: "MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "TB", "CC", "CHAT_MESSAGE", "SUMMARY", "TIMELINE" — The file type of the recording file.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time at which recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "audio_interpretation", "summary", "summary_next_steps", "summary_smart_chapters", "sign_interpretation", "production_sutdio" — The recording file type. * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` * `audio_interpretation` * `summary` * `summary_next_steps` * `summary_smart_chapters` *`sign_interpretation` *`production_studio` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • share_url (required)

        string — The URL at which approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • participant_audio_files

        array — Information about the recovered participants' recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}` **Note:** This field does **not** return for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). Instead, this API will return the `file_path` field.

        • file_extension (required)

          string — The recording file's extension.

        • file_name (required)

          string — The recording file's name.

        • file_size (required)

          integer — The size of the recording file, in bytes.

        • file_type (required)

          string — The recording file's format.

        • id (required)

          string — The recording file's unique ID.

        • recording_end (required)

          string, format: date-time — The recording file's end time.

        • recording_start (required)

          string, format: date-time — The recording file's start time.

        • status (required)

          string, possible values: "completed", "processing" — The participant audio file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_path

          string — The file path to the On-Premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who recovered the recording.

    • operator_id (required)

      string — The user ID of the user who recovered the recording.

  • download_token

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. You can either include the `download_token` as a query parameter or pass it as a Bearer token in the Authorization header of your HTTP request: **Using an Authorization header (Recommended)** ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ``` **Using a query parameter** ``` {download_url}/?access_token={download_token} ``` For example: `https://zoom.us/recording/download/123456?access_token=abcdefgh`

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "account_id": "",
      "timezone": "",
      "duration": 1,
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "MP4",
          "file_size": 1,
          "file_extension": "MP4",
          "file_name": "",
          "play_url": "",
          "download_url": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ],
      "participant_audio_files": [
        {
          "id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_name": "",
          "file_size": 1,
          "file_extension": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed"
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.sharing_ended

  • Method: POST
  • Path: meeting.sharing_ended
  • Tags: Meetings

The Meeting Sharing Ended event is triggered every time an attendee or a host stops sharing their screen during a Zoom meeting. The meeting host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

Zoom allows screen sharing by host and attendees on desktop, tablet, and mobile devices running Zoom during meetings.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting Sharing Ended subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • sharing_details (required)

          object — Information about the meeting's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's [AirPlay (Apple screen mirroring)](https://support.zoom.us/hc/en-us/articles/204726885-Sharing-screen-using-Apple-screen-mirroring-AirPlay-). * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty (`””`) value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty (`””`) value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty (`””`) value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.cloud_storage_usage_updated

  • Method: POST
  • Path: recording.cloud_storage_usage_updated
  • Tags: Cloud Recording

The Recording Cloud Storage Usage Updated event is triggered every time storage usage changes.

States such as recording completed, trashed, or recovered trigger this event.

Prerequisites

  • A Pro or higher plan.
  • Enable Cloud recording on the users' account.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Recording Cloud Storage Usage Updated subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the host who recorded the webinar.

    • object (required)

      object — Information about the recording plan.

      • free_storage (required)

        string — Recording free storage.

      • plan_storage (required)

        string — Recording plan storage.

      • plan_type (required)

        string — Recording plan type.

      • storage_exceed (required)

        string — Amount of storage exceed.

      • storage_used (required)

        string — Amount of storage used.

      • storage_used_percentage (required)

        number — The percentage of storage used.

      • max_exceed_date

        string — The maximum date that overage storage.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "free_storage": "2 GB",
      "plan_storage": "10 GB",
      "plan_type": "cmr_monthly_commitment_40",
      "storage_used": "1 GB",
      "storage_used_percentage": 85,
      "storage_exceed": "0",
      "max_exceed_date": "2023-03-01"
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.transcript_completed

  • Method: POST
  • Path: recording.transcript_completed
  • Tags: Cloud Recording

The Recording transcript files have completed event is triggered every time the transcript of the recording is made available for one of your app users or account users after the recorded meeting/webinar ends.

Zoom supports audio transcription of cloud recordings. To utilize audio transcription, users must first enable it. An account owner or a user with admin permissions can enable cloud recording for an account or a group of users.

Prerequisites

  • A Business, Education, or Enterprise license.
  • Cloud recording must be enabled on the users' account.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Recording transcript files have completed subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that hosted the meeting or the webinar.

    • object (required)

      object — Information about the webinar or meeting recording.

      • account_id (required)

        string — The account ID of the user that ended the meeting and completed the recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_email (required)

        string, format: email — The host's email address.

      • host_id (required)

        string — The ID of the user set as the host of the archived meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the meeting (`meetingId`) or the webinar (`webinarId`).

      • recording_count (required)

        integer — The number of completed recording files.

      • recording_files (required)

        array — Information about the completed recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}` **Note:** This field does **not** return for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). Instead, this API will return the `file_path` field.

        • file_extension (required)

          string — The recording file's extension.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string — The recording file's type.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time at which recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail" — The type of recording file: * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • file_path

          string — The file path to the On-Premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • share_url (required)

        string — The URL at which approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance. Each meeting or webinar instance generates its own meeting UUID.

      • password

        string — The meeting's password.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

  • download_token

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. You can either include the `download_token` as a query parameter or pass it as a Bearer token in the Authorization header of your HTTP request: **Using an Authorization header (Recommended)** ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ``` **Using a query parameter** ``` {download_url}/?access_token={download_token} ``` For example: `https://zoom.us/recording/download/123456?access_token=abcdefgh`

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "account_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "host_email": "",
      "duration": 1,
      "password": "",
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_size": 1,
          "file_extension": "",
          "file_name": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.stopped

  • Method: POST
  • Path: recording.stopped
  • Tags: Cloud Recording

The Recording Stopped event is triggered every time a recording is stopped by one of your app's users or account users.

All users with a Pro or a higher plan have access to cloud recordings. An account owner or account admin can enable cloud recording for all account members as well as for members that belong to a certain group. Users can also enable cloud recordings for their own use.

Only a host or a co-host of the meeting/webinar can start, pause, resume, or stop a cloud recording.

Prerequisites

  • A Pro or higher plan.
  • Cloud recording must be enabled on the users' account.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Recording Stopped subscription must be enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that stopped the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_file (required)

        object — Information about the recording files.

        • recording_end (required)

          string — The date and time at which the recording ended.

        • recording_start (required)

          string — The date and time at which the recording started.

      • start_time (required)

        string — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "recording_file": {
        "recording_start": "",
        "recording_end": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.batch_trashed

  • Method: POST
  • Path: recording.batch_trashed
  • Tags: Cloud Recording

The All recording files have been deleted to the Trash event is triggered every time one of your app users or account users temporarily delete all of their cloud recordings.

When a user initially deletes recordings, the recordings are sent to the trash. Users can delete a recording temporarily via the Delete meeting recordings API or via the Zoom web client. At this point, recordings can be recovered up to 30 days after deletion.

Prerequisites

  • Pro or a higher plan.
  • Cloud recording must be enabled on the users' account.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The All recording files have been deleted to the Trash subscription must be enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who batch deleted recordings to trash.

    • operation (required)

      string, possible values: "trash_user_recordings", "trash_account_recordings" — The type of batch operation: * `trash_user_recordings` — User recordings trashed. * `trash_account_recordings` — Account recordings trashed.

    • operator (required)

      string, format: email — The email address of the user who batch deleted recordings to trash.

    • operator_id (required)

      string — The user ID of the user who batch deleted recordings to trash.

    • object

      object — Information about the webinar or meeting recording.

      • meeting_uuids (required)

        array

        Items:

        string — A list of the recorded meeting (`meetingId`) or webinar (`webinarId`) UUIDs.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "trash_user_recordings",
    "object": {
      "meeting_uuids": [
        ""
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.started

  • Method: POST
  • Path: webinar.started
  • Tags: Webinars

The Start Webinar event is triggered every time a user in your account or your app starts a webinar.

Zoom users with a Webinar Plan have permissions for creating and managing webinars. Zoom Video Webinar allows users to broadcast a Zoom meeting to up to 1000 attendees. A webinar host can start a webinar from the Zoom Client or from the Zoom Web Portal.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Start Webinar subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who started the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.chat_message_file_downloaded

  • Method: POST
  • Path: meeting.chat_message_file_downloaded
  • Tags: Meetings

The In-meeting chat message file has been downloaded event is triggered when a meeting's message file is downloaded. The event is sent to the configured endpoint in your Marketplace app.

Prerequisites

  • Have Zoom enable the DLP for in-meeting chat feature to use this webhook.
  • Enable Event Subscriptions for your Marketplace app with:
    • Enable the In-meeting chat message file has been downloaded subscription under the Meeting event category.

This feature is only enabled upon request approval. Contact the Zoom support team for more information.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • object (required)

      object — Information about the chat message file.

      • chat_message_file (required)

        object — Information about the chat message file.

        • file_id (required)

          string — The live meeting chat file's UUID.

        • file_name (required)

          string — The live meeting chat file's name.

        • file_size (required)

          integer — The live meeting chat file's size, in bytes.

        • file_type (required)

          string — The live meeting chat file's file type.

        • file_owner_id

          string — The user ID of the user who uploaded the team chat file. This value returns blank for external users.

      • host_account_id (required)

        string — The meeting host's account ID. The value will be an empty string if this info is from an external user.

      • id (required)

        integer, format: int64 — The meeting ID.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string, format: email or name — The email address of the user who downloaded the file. This value returns the operator name for external users.

    • account_id

      string — The account ID of the user who downloaded the file. This value returns blank for external users.

    • operator_id

      string — The user ID of the user who downloaded the file. This value returns blank for external users.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_account_id": "",
      "chat_message_file": {
        "file_id": "",
        "file_name": "",
        "file_size": 1,
        "file_type": "",
        "file_owner_id": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.sharing_ended

  • Method: POST
  • Path: webinar.sharing_ended
  • Tags: Webinars

The Webinar Sharing Ended event is triggered every time one of your app users or account users stop sharing their screen during a Webinar.

Zoom supports screen sharing by host or panelists on desktop, tablet and mobile devices running Zoom during webinars.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Webinar Sharing Ended subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant.

        • sharing_details (required)

          object — Information about the webinar's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's [AirPlay (Apple screen mirroring)](https://support.zoom.us/hc/en-us/articles/204726885-Sharing-screen-using-Apple-screen-mirroring-AirPlay-). * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty string value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty string value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty string if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value.

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The webinar's start time.

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.summary_trashed

  • Method: POST
  • Path: meeting.summary_trashed
  • Tags: Meetings

The Meeting summary has been deleted to trash event is triggered every time one of your app users or account users temporarily deletes a meeting summary.

Prerequisites

  • Host user must be Pro or higher plan.
  • Enable the Meeting Summary with AI Companion feature in the host's account.
  • E2ee meetings do not have summary feature enabled.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting summary has been deleted to trash subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

    • operator (required)

      string — The email address of the user who deleted the meeting summary.

    • operator_id (required)

      string — The user ID of the user who deleted the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.sharing_started

  • Method: POST
  • Path: meeting.sharing_started
  • Tags: Meetings

The Meeting Sharing Started event is triggered every time an attendee or a host begins sharing their screen during a Zoom meeting. The meeting host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

Zoom allows screen sharing by host and attendees on desktop, tablet, and mobile devices running Zoom during meetings.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting Sharing Started subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • sharing_details (required)

          object — Information about the meeting's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's [AirPlay (Apple screen mirroring)](https://support.zoom.us/hc/en-us/articles/204726885-Sharing-screen-using-Apple-screen-mirroring-AirPlay-). * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty (`””`) value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty (`””`) value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty (`””`) value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.registration_created

  • Method: POST
  • Path: webinar.registration_created
  • Tags: Webinars

The Webinar Registration has been created event is triggered every time someone registers for a Webinar created by one of your app users or account users.

Zoom users with a Webinar Plan have access to creating and managing Webinars. Zoom Video Webinar allows users to broadcast a Zoom meeting to up to 1000 attendees. Scheduling a Webinar with registration requires your registrants to complete a brief form before receiving the link to join the Webinar.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Event Subscriptions must be enabled for your Marketplace App with the following configurations:
    • A valid Event notification endpoint URL
    • The Webinar Registration has been created subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar registration.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer — The webinar ID.

      • registrant (required)

        object — Information about the webinar registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • join_url (required)

          string — The URL to join the webinar.

        • status (required)

          string, possible values: "approved", "pending" — The registrant's registration approval status: * `approve` — Approved registrant. * `pending` — Registration approval pending.

        • address

          string — The registrant's address.

        • city

          string — The registrant's city.

        • comments

          string — The registrant's questions and comments.

        • country

          string — The registrant's two-letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).

        • custom_questions

          array — Information about custom questions.

          Items:
          Any of:
          • title (required)

            string — The title of the custom question.

          • value (required)

            string — The custom question's response value. This has a limit of 128 characters.

        • industry

          string — The registrant's industry.

        • job_title

          string — The registrant's job title.

        • last_name

          string — The registrant's last name.

        • no_of_employees

          string, possible values: "", "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" — The registrant's number of employees: * `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`

        • org

          string — The registrant's organization.

        • phone

          string — The registrant's phone number.

        • purchasing_time_frame

          string, possible values: "", "Within a month", "1-3 months", "4-6 months", "More than 6 months", "No timeframe" — The registrant's purchasing time frame: * `Within a month` * `1-3 months` * `4-6 months` * `More than 6 months` * `No timeframe`

        • role_in_purchase_process

          string, possible values: "", "Decision Maker", "Evaluator/Recommender", "Influencer", "Not involved" — The registrant's role in the purchase process: * `Decision Maker` * `Evaluator/Recommender` * `Influencer` * `Not involved`

        • state

          string — The registrant's state or province.

        • tracking_source

          object — Information about the source tracking. See [Creating webinar registration tracking links](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-webinar-registration-tracking-links) for details.

          • id (required)

            string — Unique Identifier of the tracking source.

          • source_name (required)

            string — Name of the source (platform) where the registration URL was shared.

          • tracking_url (required)

            string — Tracking URL. The URL that was shared for the registration.

        • zip

          string — The registrant's ZIP or postal code.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinar with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "address": "",
        "city": "",
        "country": "",
        "zip": "",
        "state": "",
        "phone": "",
        "industry": "",
        "org": "",
        "job_title": "",
        "purchasing_time_frame": "",
        "role_in_purchase_process": "",
        "no_of_employees": "",
        "comments": "",
        "custom_questions": [
          {
            "title": "",
            "value": ""
          }
        ],
        "status": "approved",
        "join_url": "",
        "tracking_source": {
          "id": "",
          "source_name": "",
          "tracking_url": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.chat_message_sent

  • Method: POST
  • Path: meeting.chat_message_sent
  • Tags: Meetings

The In-meeting chat message received event is triggered when a user sends a public or private chat message during a meeting using the in-meeting Zoom chat feature. The event is sent to the configured endpoint in your Marketplace app.

Prerequisites

  • Enable the Enable in-meeting chat DLP (Data Loss Prevention) integration feature in the host's account.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The In-meeting chat message received subscription enabled under the Meeting event.
  • This feature is only enabled upon request approval. Contact the Zoom support team for more information.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the chat message.

      • chat_message (required)

        object — Information about the chat message.

        • date_time (required)

          string, format: date-time — The date and time when the chat message was sent.

        • message_content (required)

          string — The chat message's content.

        • message_id (required)

          string — The chat message's UUID.

        • recipient_context (required)

          string, possible values: "meeting", "breakout_room", "waiting_room" — The context where the recipient is located when the message is delivered. * `meeting` - The recipient is in the meeting. * `breakout_room` - The recipient is in a breakout room. * `waiting_room` - The recipient is in the waiting room.

        • recipient_type (required)

          string, possible values: "everyone", "host", "guest", "group", "host_group" — The type of message recipient. * `everyone` - All meeting participants. * `host` - The meeting host. * `guest` - A meeting guest. * `group` - A group chat. * `host_group` - The meeting host and all co-hosts.

        • sender_context (required)

          string, possible values: "meeting", "breakout_room", "waiting_room" — The context where the sender is located when the message is generated. * `meeting` - The sender is in a meeting. * `breakout_room` - The sender is in a breakout room. * `waiting_room` - The sender is in the waiting room.

        • sender_name (required)

          string — The message sender's name.

        • sender_session_id (required)

          string — The message sender's session ID.

        • sender_type (required)

          string, possible values: "host", "guest" — The type of user that sent the message: * `host` — The meeting host. * `guest` — A meeting guest.

        • file_ids

          array — The live webinar chat file's UUID, in base64-encoded format.

          Items:

          string

        • recipient_email

          string, format: email — The message recipient's email address. Optional only included if it is a private message.

        • recipient_name

          string — The message recipient's name.

        • recipient_session_id

          string — The message recipient's session ID.

        • sender_email

          string, format: email — The message sender's email address.

      • id (required)

        integer, format: int64 — The meeting ID.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • breakout_room_uuid

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "breakout_room_uuid": "",
      "chat_message": {
        "date_time": "",
        "sender_session_id": "",
        "sender_name": "",
        "sender_email": "",
        "sender_type": "host",
        "sender_context": "meeting",
        "recipient_session_id": "",
        "recipient_name": "",
        "recipient_email": "",
        "recipient_type": "everyone",
        "recipient_context": "meeting",
        "message_id": "",
        "message_content": "",
        "file_ids": [
          ""
        ]
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.invitation_rejected

  • Method: POST
  • Path: meeting.invitation_rejected
  • Tags: Meetings

The Invited party rejected a meeting invite event is triggered every time a user sends an invitation to join a meeting or video call to one or more recipients.

This event is only suitable for triggering with the ZOOM client.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with these configurations:
    • A valid Event Notification Endpoint URL.
    • The Invited party rejected a meeting invite subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • email (required)

          string, format: email — The email address of the user who received the meeting invitation. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • participant_user_id (required)

          string — The user ID of the user who received the meeting invitation.

      • topic (required)

        string — The meeting's topic.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string — The email address of the user who rejected the meeting.

    • operator_id (required)

      string — The user ID of the user who rejected the meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "participant": {
        "participant_user_id": "",
        "email": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_role_changed

  • Method: POST
  • Path: meeting.participant_role_changed
  • Tags: Meetings

The Participant role changed event is triggered every time a host or meeting attendee changes their role during the meeting. A meeting host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

Prerequisites

  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Participant role changed subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • participant (required)

        object — Information about the meeting participant.

        • date_time (required)

          string, format: date-time — The time at which the participant changed the [role](https://support.zoom.us/hc/en-us/articles/360040324512-Roles-in-a-meeting).

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • new_role (required)

          string, possible values: "host", "co-host", "attendee" — The participant's new role: * `host` — Host. * `co-host` — Co-host. * `attendee` — Attendee.

        • old_role (required)

          string, possible values: "host", "co-host", "attendee" — The participant's previous role: * `host` — Host. * `co-host` — Co-host. * `attendee` — Attendee.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (personal audio conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • id

        string — The meeting ID.

      • start_time

        string — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "participant_uuid": "",
        "date_time": "",
        "old_role": "host",
        "new_role": "host"
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.permanently_deleted

  • Method: POST
  • Path: meeting.permanently_deleted
  • Tags: Meetings

The Meeting has been permanently deleted event is triggered every time a meeting scheduled by one of your app users or account users, is permanently deleted.

A meeting host or a user with admin privileges permanently delete a meeting via the Zoom web portal. You can also programmatically delete a meet via the Delete a meeting API.

Prerequisites

  • A Pro or higher plan.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting has been permanently deleted subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who permanently deleted the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who permanently deleted the meeting.

    • operator_id (required)

      string — The user ID of the user who permanently deleted the meeting.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all meetings. * `single` — The change was applied only to a single meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

recording.registration_created

  • Method: POST
  • Path: recording.registration_created
  • Tags: Cloud Recording

The View registrant has registered for this recording event is triggered every time a user registers for an on-demand cloud recording.

Cloud recordings of Zoom meetings and webinars can be made on-demand. With on-demand recordings, users can view the recordings of past meetings and webinars at any time as long as they have not been removed. To view cloud recordings, users can register manually by filling out the registration form that pops up when users click on the Recording URL.

Users can also be programmatically registered via the Create a recording registrant API. Once they complete the registration they can view the recording.

Prerequisites

  • A Pro or higher plan.
  • Cloud recording must be enabled on the users' account.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The View registrant has registered for this recording subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the host that recorded the meeting or webinar.

    • object (required)

      object — Information about the recording registration.

      • duration (required)

        integer — The scheduled meeting or webinar duration.

      • host_id (required)

        string — The webinar or meeting host's user ID.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • registrant (required)

        object — Information about the recording registrant.

        • address (required)

          string — The registrant's address.

        • city (required)

          string — The registrant's city.

        • comments (required)

          string — The registrant's questions and comments.

        • country (required)

          string — The registrant's two-letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • industry (required)

          string — The registrant's industry.

        • job_title (required)

          string — The registrant's job title.

        • last_name (required)

          string — The registrant's last name.

        • no_of_employees (required)

          string, possible values: "", "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" — The registrant's number of employees: * `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`

        • org (required)

          string — The registrant's organization.

        • phone (required)

          string — The registrant's phone number.

        • purchasing_time_frame (required)

          string, possible values: "", "Within a month", "1-3 months", "4-6 months", "More than 6 months", "No timeframe" — The registrant's purchasing time frame: * `Within a month` * `1-3 months` * `4-6 months` * `More than 6 months` * `No timeframe`

        • role_in_purchase_process (required)

          string, possible values: "", "Decision Maker", "Evaluator/Recommender", "Influencer", "Not involved" — The registrant's role in the purchase process: * `Decision Maker` * `Evaluator/Recommender` * `Influencer` * `Not involved`

        • state (required)

          string — The registrant's state or province.

        • status (required)

          string, possible values: "approved", "denied", "pending", "all", default: "all" — The registrant's status: * `approved` — Registrant is approved. * `denied` — Registrant is denied. * `pending` — Registrant is waiting for approval. * `all` — The default status code.

        • zip (required)

          string — The registrant's ZIP or postal code.

        • custom_questions

          array — Information about custom questions.

          Items:
          • title

            string — The title of the custom question.

          • value

            string — The custom question's response value. This has a limit of 128 characters.

        • id

          string — The registrant's ID.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "registrant": {
        "id": "",
        "email": "",
        "status": "all",
        "first_name": "",
        "last_name": "",
        "address": "",
        "city": "",
        "country": "",
        "zip": "",
        "state": "",
        "phone": "",
        "industry": "",
        "org": "",
        "job_title": "",
        "purchasing_time_frame": "",
        "role_in_purchase_process": "",
        "no_of_employees": "",
        "comments": "",
        "custom_questions": [
          {
            "title": "",
            "value": ""
          }
        ]
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.created

  • Method: POST
  • Path: meeting.created
  • Tags: Meetings

The Meeting has been created event is triggered every time a meeting is created by one of your app users or account users.

Zoom offers multiple methods for users to schedule new meetings. Users can manually create meetings through the Zoom client or the Zoom web portal. Users can also programmatically create meetings through the Create a meeting API.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
  • A valid Event Notification Endpoint URL.
  • The Meeting has been created subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • creation_source (required)

        string, possible values: "other", "open_api", "web_portal" — The platform that the meeting was created through. * `other` - Created through another platform. * `open_api` - Created through Open API. * `web_portal` - Created through the web portal.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • join_url (required)

        string — The URL to join the meeting.

      • settings (required)

        object — Information about the meeting's settings.

        • alternative_hosts (required)

          string — A semicolon-separated list of the meeting's alternative hosts' email addresses or IDs.

        • use_pmi (required)

          boolean — Whether the use of PMI is enabled.

        • jbh_time

          integer, possible values: 0, 5, 10, 15 — If the value of the `join_before_host` field is `true`, this field indicates the time limits when a participant can join a meeting before the meeting's host. * `0` - Allow the participant to join the meeting at anytime. * `5` - Allow the participant to join 5 minutes before the meeting's start time. * `10` - Allow the participant to join 10 minutes before the meeting's start time. * `15` - Allow the participant to join 15 minutes before the meeting's start time.

        • join_before_host

          boolean — Whether participants can join the meeting before its host. This field is only used for scheduled meetings (`2`) or recurring meetings (`3` and `8`). This value defaults to `false`. If the [**Waiting Room** feature](https://support.zoom.us/hc/en-us/articles/115000332726-Waiting-Room) is enabled, this setting is **disabled**.

        • meeting_invitees

          array — A list of the meeting's invitees.

          Items:
          • email

            string, format: email — The invitee's email address.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8, 10 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time. * `10` - A screen share only meeting.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

        • duration

          integer — The scheduled meeting duration.

        • status

          string, possible values: "available", "deleted" — The meeting occurrence status: * `available` * `deleted`

      • password

        string — The password required to join the meeting.

      • pmi

        string — The [Personal Meeting ID (PMI)](https://support.zoom.us/hc/en-us/articles/201362843-What-is-Personal-Meeting-ID-PMI-and-Personal-Link-).

      • recurrence

        object — Information about [recurring meetings](https://marketplace.zoom.us/docs/api-reference/other-references/recurrence-object-definitions).

        • end_date_time

          string, format: date-time — The recurring meeting's final ending date and time before it is canceled, in UTC format.

        • end_times

          integer — The number of times the recurring meeting will occur before it is canceled.

        • monthly_day

          integer — The day of the month when the recurring monthly meeting occurs. The value ranges from 1 to 31.

        • monthly_week

          integer, possible values: -1, 1, 2, 3, 4 — The week of the month when a recurring meeting occurs. * `-1` - The last week of the month. * `1` - The first week. * `2` - The second week. * `3` - The third week. * `4` - The fourth week.

        • monthly_week_day

          integer, possible values: 1, 2, 3, 4, 5, 6, 7 — The day of the week when the recurring monthly meeting is scheduled. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

        • repeat_interval

          integer — The meeting's repeat interval. * For daily intervals, a max of `99` days. * For a weekly interval, a max of `50` weeks. * For monthly intervals, a max of `10` months.

        • type

          integer, possible values: 1, 2, 3 — The type of recurring meeting. * `1` - Daily. * `2` - Weekly. * `3` - Monthly.

        • weekly_days

          string — A comma-separated list of the days of the week when the recurring weekly meeting occurs. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

      • recurrence_event_id

        string — The unique identifier of the recurring event that the occurrences belong to. Updating a recurring meeting with **This and following events** splits it into two recurring events, each with its own `recurrence_event_id`. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • tracking_fields

        array — Information about the meeting's [tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields).

        Items:
        • field

          string — The tracking field's label.

        • value

          string — The tracking field's value.

        • visible

          boolean — Whether the tracking field is visible in the meeting scheduling options in the Zoom web portal. When the tracking field is disabled, the field can be only be set by users via API.

    • operator (required)

      string, format: email — The email address of the user who created the meeting.

    • operator_id (required)

      string — The user ID of the user who created the meeting.

    • operation

      string, possible values: "all", "single", "range" — The type of operation performed on a recurring meeting. * `all` - The change was applied to all occurrences. * `single` - The change was applied to a single occurrence. * `range` - The change was applied to a range of occurrences while the other occurrences are unchanged. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "join_url": "",
      "password": "",
      "pmi": "",
      "creation_source": "other",
      "recurrence_event_id": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "duration": 1,
          "status": "available",
          "additionalProperty": "anything"
        }
      ],
      "settings": {
        "use_pmi": true,
        "alternative_hosts": "",
        "meeting_invitees": [
          {
            "email": ""
          }
        ],
        "join_before_host": true,
        "jbh_time": 0,
        "additionalProperty": "anything"
      },
      "recurrence": {
        "type": 1,
        "repeat_interval": 1,
        "weekly_days": "",
        "monthly_day": 1,
        "monthly_week_day": 1,
        "end_times": 1,
        "end_date_time": "",
        "monthly_week": -1,
        "additionalProperty": "anything"
      },
      "tracking_fields": [
        {
          "field": "",
          "value": "",
          "visible": true,
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

meeting.live_streaming_started

  • Method: POST
  • Path: meeting.live_streaming_started
  • Tags: Meetings

The Meeting Live Streaming Started event is triggered every time a meeting's live stream begins on a streaming platform. The host that begins the live stream must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

Zoom lets users live stream their Zoom meetings on YouTube Live, Facebook, Workplace by Facebook, and via a custom live streaming services.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting Live Streaming Started subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • live_streaming (required)

        object — Information about the live stream.

        • date_time (required)

          string, format: date-time — The date and time the live stream started.

        • service (required)

          string, possible values: "Facebook", "Workplace_by_Facebook", "YouTube", "Twitch", "Custom_Live_Streaming_Service" — The name of the live streaming service: * `Facebook` * `Workplace_by_Facebook` * `YouTube` * `Twitch` * `Custom_Live_Streaming_Service`

        • custom_live_streaming_settings

          object — Information about the custom live stream.

          • page_url (required)

            string — The live stream's page URL.

          • stream_key (required)

            string — The live stream's key.

          • stream_url (required)

            string — The live stream's URL.

          • resolution

            string — The number of pixels in each dimension that the video camera can display.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who updated the meeting.

    • operator_id (required)

      string — The user ID of the user who updated the meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "live_streaming": {
        "service": "Facebook",
        "custom_live_streaming_settings": {
          "stream_url": "",
          "stream_key": "",
          "page_url": "",
          "resolution": ""
        },
        "date_time": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_room_system_callout_accepted

  • Method: POST
  • Path: meeting.participant_room_system_callout_accepted
  • Tags: Meetings

The Invited party answered a meeting invitation through phone (call out) via Zoom room event is triggered every time a user joins a meeting through phone (call out) from a Zoom room.

Prerequisites

  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • A valid Event Notification Endpoint URL.
  • The Invited party answered a meeting invitation through phone (call out) via Zoom room subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.registration_approved

  • Method: POST
  • Path: webinar.registration_approved
  • Tags: Webinars

The Webinar Registration has been approved event is triggered every time one of your app users or account users approve a user's registration.

Scheduling a Webinar with registration requires registrants to complete a brief form before receiving the link to join a Webinar. Webinar Registration options can be customized by a Zoom admin or a Webinar host. This customization allows them to choose whether to approve attendees automatically or manually.

When the registration is set to be approved manually, a pending registrant can either be approved or denied from joining the Webinar.

To approve a registrant manually, navigate to the Webinars page and click on the name of the webinar. Click Edit to the right of Manage Attendees option, select the registrant and click Approve. Alternatively, use the Update registrant's status API to approve the registrant programmatically.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Manual Approval enabled for Webinar Registrations.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL
    • The Webinar Registration has been approved subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who approved the registration.

    • object (required)

      object — Information about the webinar registration.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer — The webinar ID.

      • registrant (required)

        object — Information about the webinar registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • join_url (required)

          string — The URL to join the webinar.

        • last_name

          string — The registrant's last name.

        • tracking_source

          object — Information about the source tracking. See [Creating webinar registration tracking links](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-webinar-registration-tracking-links) for details.

          • id (required)

            string — Unique Identifier of the tracking source.

          • source_name (required)

            string — Name of the source (platform) where the registration URL was shared.

          • tracking_url (required)

            string — Tracking URL. The URL that was shared for the registration.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinar with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who approved the webinar registration.

    • operator_id (required)

      string — The user ID of the user who approved the webinar registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "join_url": "",
        "tracking_source": {
          "id": "",
          "source_name": "",
          "tracking_url": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.breakout_room_sharing_started

  • Method: POST
  • Path: meeting.breakout_room_sharing_started
  • Tags: Meetings

The User in breakout room started sharing event is triggered when a user in a breakout room begins sharing content, such as their desktop or the classic whiteboard.

Breakout rooms are sessions that are split off from the main Zoom meeting. They allow the participants to meet in smaller groups and are completely isolated in terms of audio and video from the main session.

Prerequisites

  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The User in breakout room started sharing subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The main meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • breakout_room_uuid (required)

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

      • duration (required)

        integer — The main scheduled meeting duration.

      • host_id (required)

        string — The main meeting host's user ID.

      • id (required)

        string — The main meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • sharing_details (required)

          object — Information about the meeting's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [Zoom Whiteboard](https://support.zoom.us/hc/en-us/articles/4410916881421). * `desktop` — A user's desktop. * `airplay` — A user's airplay. * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty string value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty string value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty string value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's ID. This is a unique ID assigned to the participant upon joining the meeting and is only valid for that meeting.

        • id

          string — The participant's user ID. This is the same value used in the [**Users**](/api-reference/zoom-api/methods#tag/Users) APIs if the participant logged in to join the meeting.

        • parent_user_id

          string — The participant's main meeting user ID (`user_id`).

        • user_name

          string — The participant's username.

      • start_time (required)

        string — The main meeting's start time.

      • topic (required)

        string — The main meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The main meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The main meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The main meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "breakout_room_uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "parent_user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_bind

  • Method: POST
  • Path: meeting.participant_bind
  • Tags: Meetings

The Phone User Bind To Participant event is triggered every time a phone user joins a meeting and binds to an attendee in the meeting.

Prerequisites

Enable Event Subscriptions for your Marketplace app with:

  • A valid Event Notification Endpoint URL.
    • The Phone User Bind To Partcipant subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • bind_user_id (required)

          string — The particpant's meeting user ID of participant the phone user bind to. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • phone_number (required)

          string — Phone number of participants who joined via PSTN.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • bind_participant_uuid

          string — The participant's UUID of the user which this phone user binds to.

        • date_time

          string, format: date-time — The time when the participant is bond.

        • email

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • registrant_id

          string — The registrant ID of the participants this phone user binds to. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • duration

        integer — The scheduled meeting duration.

      • id

        string — The meeting ID.

      • start_time

        string — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "bind_user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "bind_participant_uuid": "",
        "date_time": "",
        "email": "",
        "participant_user_id": "",
        "registrant_id": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_feedback

  • Method: POST
  • Path: meeting.participant_feedback
  • Tags: Meetings

The Get participant survey feedback for meetings event is triggered every time an attendee completes an end-of-meeting experience feedback survey for a meeting. A meeting attendee is a meeting participant or the host.

Prerequisites

  • Enable the Display end-of-meeting experience feedback survey feature in the attendee's Settings page.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Get participant survey feedback for meetings subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who commits the feedback.

    • object (required)

      object — Information about the meeting.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • feedback (required)

          object — Information about the feedback.

          • rating_quality (required)

            object — The feedback rating quality.

          • satisfied (required)

            boolean — Whether the participant is satisfied.

          • comments

            string — The participant's comments.

          • feedback_details

            array — The feedback details.

            Items:
            • id (required)

              string — The feedback ID. * `1` — Poor video quality. * `2` — Poor audio quality. * `5` — Unable to present using share.zoom.us. * `7` — Unable to make phone call. * `8` — They could not hear us. * `9` — We could not hear them. * `10` — They could not see us. * `11` — We could not see them. * `12` — Could not present computer screen. * `999` — Others.

            • name (required)

              string — The feedback name.

        • participant_user_id (required)

          string — The participant's universally unique ID (UUID). This value returns blank for users who aren't logged into Zoom.

        • participant_uuid (required)

          string — The participant's meeting universally unique ID (UUID). This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting. This value will not be changed when the participant joins/leaves a breakout room.

        • user_name (required)

          string — The participant's display name.

        • zoom_room_id

          string — The ID of the Zoom Room submitted the feedback. This field is only returned when the feedback is submitted by Zoom Rooms.

        • zoom_room_platform

          string — The platform of the Zoom Room submitted the feedback. This field is only returned when the feedback is submitted by Zoom Rooms.

        • zoom_room_sender_email

          string — Zoom Rooms feedback sender email. This field is only returned when the feedback is submitted by Zoom Rooms.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "participant": {
        "participant_uuid": "",
        "participant_user_id": "",
        "user_name": "",
        "feedback": {
          "rating_quality": {
            "type": "2-point",
            "quality": "GOOD"
          },
          "feedback_details": [
            {
              "id": "",
              "name": ""
            }
          ],
          "comments": ""
        },
        "zoom_room_id": "",
        "zoom_room_platform": "",
        "zoom_room_sender_email": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.deleted

  • Method: POST
  • Path: recording.deleted
  • Tags: Cloud Recording

This event is triggered when a user permanently deletes a cloud recording.

When a user initially deletes a recording, it is sent to the trash. At this stage, the recording can still be recovered for up to 30 days after deletion. To permanently delete a recording, users must delete it from the trash.

Users can permanently delete a recording via the Delete meeting recordings API with the delete query parameter or in the Zoom web portal.

Prerequisites

  • A Pro or higher plan.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Recording files have been permanently deleted subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that completed the meeting or webinar recording.

    • object (required)

      object — Information about the webinar or meeting recording.

      • account_id (required)

        string — The account ID of the user that completed the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_count (required)

        integer — The number of recording files deleted.

      • recording_files (required)

        array — Information about the deleted recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}`. **Note:** We recommend that you send the access_token as a Bearer token in the Authorization header, for example: "Authorization": "Bearer <ACCESS_TOKEN>”.

        • file_extension (required)

          string, possible values: "MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG" — The file extension type of the recording file.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string, possible values: "MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "TB", "CC", "CHAT_MESSAGE", "SUMMARY", "TIMELINE" — The type of the recording file.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time at which recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "audio_interpretation", "summary", "summary_next_steps", "summary_smart_chapters", "sign_interpretation", "production_sutdio" — The recording file type. * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` * `audio_interpretation` * `summary` * `summary_next_steps` * `summary_smart_chapters` *`sign_interpretation` *`production_studio` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • share_url (required)

        string — The URL at which approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • participant_audio_files

        array — Information about the participants' deleted audio files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}` **Note:** This field does **not** return for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). Instead, this API will return the `file_path` field.

        • file_extension (required)

          string — The participant audio file's extension.

        • file_name (required)

          string — The participant audio file's name.

        • file_size (required)

          integer — The participant audio file's size, in bytes.

        • file_type (required)

          string — The participant audio file's format.

        • id (required)

          string — The participant audio file's ID.

        • recording_end (required)

          string, format: date-time — The participant audio file's end time.

        • recording_start (required)

          string, format: date-time — The participant audio file's start time.

        • status (required)

          string, possible values: "completed", "processing" — The participant audio file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_path

          string — The file path to the On-Premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL at which the participant audio file can be opened and played.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who deleted the recording.

    • operator_id (required)

      string — The user ID of the user who deleted the recording.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "account_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "MP4",
          "file_size": 1,
          "file_extension": "MP4",
          "file_name": "",
          "play_url": "",
          "download_url": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ],
      "participant_audio_files": [
        {
          "id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_name": "",
          "file_size": 1,
          "file_extension": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed"
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.paused

  • Method: POST
  • Path: recording.paused
  • Tags: Cloud Recording

The Recording Paused event is triggered every time a recording is paused by one of your app's users or account users.

All users with a Pro or a higher plan have access to cloud recordings. An account owner or account admin can enable cloud recording for all account members as well as for members that belong to a certain group. Users can also enable cloud recordings for their own use.

Only a host or a co-host of the meeting/webinar can start, pause, resume or stop a cloud recording.

Prerequisites

  • A Pro or a higher plan.
  • Cloud recording must be enabled on the users' account.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Recording Paused subscription must be enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that started the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_file (required)

        object — Information about the recording files.

        • recording_end (required)

          string — The date and time at which the recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which the recording started.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "recording_file": {
        "recording_start": "",
        "recording_end": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_room_system_callout_ringing

  • Method: POST
  • Path: meeting.participant_room_system_callout_ringing
  • Tags: Meetings

The Invited party's phone (call out) ringing in Zoom room event is triggered every time a user's phone is ringing when they were invited to join a meeting through phone (call out) from a Zoom room.

Prerequisites

  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • A valid Event Notification Endpoint URL.
  • The Invited party's phone (call out) ringing in Zoom room subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.started

  • Method: POST
  • Path: recording.started
  • Tags: Cloud Recording

The Recording Started event is triggered every time a recording is started by one of your app users or account users.

All users with a Pro or a higher plan have access to cloud recordings. An account owner or account admin can enable cloud recording for all account members as well as for members that belong to a certain group. Users can also enable cloud recordings for their own use.

Only a host or a co-host of the meeting/webinar can start cloud recording of the meeting/webinar.

Prerequisites

  • A Pro or higher plan.
  • Cloud recording must be enabled on the users' account.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Recording Started subscription must be enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that started the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_file (required)

        object — Information about the recording files.

        • recording_end (required)

          string — The date and time at which the recording ended.

        • recording_start (required)

          string — The date and time at which the recording started.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "recording_file": {
        "recording_start": "",
        "recording_end": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

user.tsp_updated

  • Method: POST
  • Path: user.tsp_updated
  • Tags: TSP

The A user's TSP account was updated event is triggered every time a user's TSP account information is updated.

Zoom allows certain carrier partners to provision Telephony Service Provider (TSP) audio to users. For users to use TSP audio, carrier partners must create a TSP user account with Zoom for the users.

Prerequisites

  • A Pro or higher plan with TSP Configurations enabled.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • The A user's TSP account was updated subscription must be enabled under the TSP event.

Request Body

Content-Type: application/json
  • event

    string — The name of the event.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

  • payload

    object

    • account_id

      string — The account ID of the user who updated the TSP.

    • object

      object — Information about the updated user.

      • email

        string, format: email — The user's email address.

      • id

        string — The user's ID.

      • tsp_credentials

        object — Information about the updated user's TSP credentials.

        • conference_code

          string — The TSP conference code.

        • dial_in_numbers

          array — Information about the TSP dial-in numbers.

          Items:
          • code

            string — The country code.

          • country_label

            string, possible values: "US_TSP_TB", "EU_TSP_TB" — The TSP country label. * `US_TSP_TB` * `EU_TSP_TB`

          • number

            string — The dial-in phone number.

          • type

            string, possible values: "toll", "tollfree", "media_link" — The phone number's type. * `toll` - Toll number. * `tollfree` - Toll free number. * `media_link` - Media link.

        • leader_pin

          string — The leader PIN.

        • tsp_bridge

          string — The TSP bridge zone.

    • old_object

      object

    • operator

      string, format: email — The email address of the user who updated the TSP.

    • operator_id

      string — The user ID of the user who updated the TSP.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "email": "",
      "tsp_credentials": {
        "conference_code": "",
        "leader_pin": "",
        "tsp_bridge": "",
        "dial_in_numbers": [
          {
            "code": "",
            "number": "",
            "type": "toll",
            "country_label": "US_TSP_TB"
          }
        ]
      }
    },
    "old_object": null
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.invitation_timeout

  • Method: POST
  • Path: meeting.invitation_timeout
  • Tags: Meetings

The Invited party missed a meeting invitation event is triggered every time an invitation to join a meeting or video call to one or more recipients times out.

This event is only suitable for triggering with the ZOOM client.

Prerequisites

  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Invited party missed a meeting invitation subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • email (required)

          string, format: email — The email address of the user who received the meeting invitation. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • participant_user_id (required)

          string — The user ID of the user who received the meeting invitation.

      • topic (required)

        string — The meeting's topic.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string — The email address of the user who missed the meeting invitation.

    • operator_id (required)

      string — The user ID of the user who missed the meeting invitation.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "participant": {
        "participant_user_id": "",
        "email": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_admitted

  • Method: POST
  • Path: meeting.participant_admitted
  • Tags: Meetings

The Participant was admitted into a meeting event is triggered every time a meeting host admits the participant from a waiting room to the meeting. The meeting host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

When a participant joins a waiting room, the meeting host is notified in the Zoom client. The host has the option to admit the participant to the meeting or remove the participant from the waiting room and the meeting.

Prerequisites

  • Enable the waiting room feature for the meeting.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant was admitted into a meeting subscription must be enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is not part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](/docs/api/using-zoom-apis/#email-address-display-rules) for details.

        • date_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#email-address) for details.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty (`””`) value.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's meeting universally unique ID (UUID). This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting. This value will not be changed when the participant joins/leaves a breakout room.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](/docs/api/references/abbreviations/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "participant_user_id": "",
        "phone_number": "",
        "date_time": "",
        "email": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_room_system_callout_failed

  • Method: POST
  • Path: meeting.participant_room_system_callout_failed
  • Tags: Meetings

The Meeting invitation through phone (call out) via Zoom room failed event is triggered every time an invitation to join a meeting through phone (call out) from a Zoom room fails.

Prerequisites

  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • A valid Event Notification Endpoint URL.
  • The Meeting invitation through phone (call out) via Zoom room failed subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • reason_type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14 — reason type for failure: * `1` — Encryption_Fail. * `2` — Disconnected_By_Remote. * `3` — Retry. * `4` — Bad_Seq. * `5` — Call_Limit. * `6` — Not_Registered. * `7` — Timeout. * `8` — Bad_Addr. * `9` — Unreachable * `10` — Disconnect_By_Local * `11` — Server_Internal_Error * `12` — Exceed_Free_Port * `13` — Connect_Error * `14` — Proxy_Connect_Error * `0` — Other_Failed_Reason.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "reason_type": 0,
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_data_connection_established

  • Method: POST
  • Path: meeting.participant_data_connection_established
  • Tags: Meetings

The Participant or Host connection established event is triggered every time an attendee establishes a data connection when joining a meeting.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant or Host connection established subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp for when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • data_connections (required)

        array — A list of data connection records established by the participant in the meeting.

        Items:
        • command_connection_time_cost_ms (required)

          integer — The time, in milliseconds, spent establishing the command connection.

        • connection_type (required)

          string, possible values: "audio", "video", "screen_share" — The type of in-meeting data connection.

        • data_socket_time_cost_ms (required)

          integer — The time, in milliseconds, spent establishing the data socket connection.

        • first_package_time_cost_ms (required)

          integer — The time, in milliseconds, from data socket establishment to receiving the first package.

        • total_time_cost_ms (required)

          integer — The total time, in milliseconds, that it took to establish the data connection.

      • host_id (required)

        string — The meeting host's user ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • join_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting and is only valid for the duration of that meeting.

        • phone_number

          string — The phone number of the participant who joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • id

        string — The meeting number.

      • start_time

        string — The meeting's start time.

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "participant": {
        "user_id": "",
        "user_name": "",
        "participant_uuid": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "customer_key": "",
        "phone_number": "8611111111111"
      },
      "data_connections": [
        {
          "connection_type": "audio",
          "total_time_cost_ms": 1,
          "command_connection_time_cost_ms": 1,
          "data_socket_time_cost_ms": 1,
          "first_package_time_cost_ms": 1
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.resumed

  • Method: POST
  • Path: recording.resumed
  • Tags: Cloud Recording

The Recording Resumed event is triggered every time a previously paused recording of a meeting or webinar is resumed.

All users with a Pro or a higher plan have access to cloud recordings. An account owner or account admin can enable cloud recording for all account members as well as for members that belong to a certain group. Users can also enable cloud recordings for their own use.

Only a host or a co-host of the meeting/webinar can start, pause, resume, and stop a cloud recording. A host/co-host can resume a paused recording of a meeting or a webinar.

Prerequisites

  • A Pro or higher plan.
  • Cloud recording must be enabled on the users' account.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Recording Resumed subscription must be enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that resumed the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_file (required)

        object — Information about the recording files.

        • recording_end (required)

          string — The date and time at which the recording ended.

        • recording_start (required)

          string — The date and time at which recording started.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "recording_file": {
        "recording_start": "",
        "recording_end": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_phone_callout_missed

  • Method: POST
  • Path: meeting.participant_phone_callout_missed
  • Tags: Meetings

The Invited party missed a meeting invitation through phone (call out) event is triggered every time an invitation to join a meeting through phone (call out) times out.

Prerequisites

Enable Event Subscriptions for your Marketplace app with these configurations.

  • A valid Event Notification Endpoint URL.
  • The Invited party missed a meeting invitation through phone (call out) subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's name to display in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.summary_updated

  • Method: POST
  • Path: meeting.summary_updated
  • Tags: Meetings

The Meeting summary has been updated event is triggered every time one of your app users or account users updates a meeting summary.

Prerequisites

  • Host user must have a Pro or higher plan.
  • Enable the Meeting Summary with AI Companion feature in the host's account.
  • E2ee meetings do not have summary feature enabled.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting summary has been updated subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • edited_summary (required)

        object — Information about the edited meeting summary.

        • next_steps

          array — The user-edited next steps.

          Items:

          string — The user-edited next step.

        • summary_details

          string — The user-edited summary details.

        • summary_overview

          string — The user edited summary overview.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID. After a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • next_steps (required)

        array — The next steps.

        Items:

        string — The next step.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_details (required)

        array — The summary content details.

        Items:
        • label (required)

          string — The summary label.

        • summary (required)

          string — The summary content.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_last_modified_user_email (required)

        string — The user email of the user who last modified the meeting summary.

      • summary_last_modified_user_id (required)

        string — The user ID of the user who last modified the meeting summary.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

      • summary_content

        string — The complete meeting summary in Markdown format. This unified field is used for all summaries. For compatibility, the legacy fields `summary_overview`, `summary_details`, `next_steps`, and `edited_summary` are still returned, but are deprecated and will not be supported in the future.

      • summary_doc_url

        string — The URL to view the full summary document in Zoom Docs.

      • summary_overview

        string — The summary overview.

    • operator (required)

      string — The email address of the user who updated the meeting summary.

    • operator_id (required)

      string — The user ID of the user who updated the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_last_modified_user_id": "",
      "summary_last_modified_user_email": "",
      "summary_title": "",
      "summary_content": "",
      "summary_doc_url": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

webinar.participant_joined

  • Method: POST
  • Path: webinar.participant_joined
  • Tags: Webinars

The Participant/Host joined webinar event is triggered every time a host or an attendee joins a webinar that was created by one of your app users or account users.

Zoom users with a Webinar Plan have access to creating and managing webinars. A webinar host can invite other users to attend the webinar.
Zoom Video Webinar allows users to broadcast a Zoom meeting to up to 1000 attendees.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant/Host joined webinar subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the webinar by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • id (required)

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • join_time (required)

          string, format: date-time — The date and time when the participant joined the webinar.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value.

        • participant_uuid

          string — The participant's UUID for this specific webinar. This value is assigned to a participant when they join a webinar, and is only valid for the duration of that webinar.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. (A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026)).

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "participant_uuid": "",
        "customer_key": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.renamed

  • Method: POST
  • Path: recording.renamed
  • Tags: Cloud Recording

The Recording Renamed event is triggered every time the title of a cloud recording is changed.

All users with a Pro or a higher plan have access to cloud recordings. After a meeting or a webinar which was being recorded to the cloud ends, the recording is made available on the host's Zoom account.

By default, the title of the recording is the same as the topic of the meeting or the webinar that was recorded. However, a meeting host, an account admin or an account owner can rename the title of the recording using the Zoom Web Portal. To do so, the user must navigate to the Cloud Recordings in the Zoom Web Portal, click on the recording that needs to be renamed and click on the pencil icon to rename the title of the recording.

Prerequisites

  • A Pro or higher plan.
  • Cloud recording must be enabled on the users' account.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • The Recording Renamed subscription must be enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that renamed the meeting or webinar recording.

    • object (required)

      object — Information about meeting or webinar recording.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • topic (required)

        string — The updated recording title.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

    • old_object (required)

      object — Information about the previous meeting or webinar recording's settings.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • topic (required)

        string — The previous recording title.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

    • operator (required)

      string — The email address of the user that renamed the meeting or webinar recording.

    • operator_id (required)

      string — The user Id of the user that renamed the meeting or webinar recording.

    • time_stamp (required)

      number — A timestamp at which the user renamed the meeting or webinar recording.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "time_stamp": 1,
    "object": {
      "uuid": "",
      "id": 1,
      "topic": "",
      "type": 1,
      "host_id": ""
    },
    "old_object": {
      "uuid": "",
      "id": 1,
      "topic": "",
      "type": 1,
      "host_id": ""
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_room_system_callout_missed

  • Method: POST
  • Path: meeting.participant_room_system_callout_missed
  • Tags: Meetings

The Invited party missed a meeting invitation through phone (call out) via Zoom room event is triggered every time an invitation to join a meeting through phone (call out) from a Zoom room times out.

Prerequisites

  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • A valid Event Notification Endpoint URL.
  • The Invited party missed a meeting invitation through phone (call out) via Zoom room subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.created

  • Method: POST
  • Path: webinar.created
  • Tags: Webinars

Zoom triggers this event every time one of your app users or account users creates a Webinar.

Zoom users with a Webinar Plan have access to creating and managing webinars. Zoom Video Webinar allows users to broadcast a Zoom meeting to up to 1000 attendees.

A user can create a Webinar manually by logging into the Zoom Web Portal and clicking on Schedule a Webinar button in the Webinars page. Alternatively, users can also use the Create a Webinar API to schedule a Webinar programmatically.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Event Subscription must be enabled for your Marketplace App with the following configurations:
    • A valid Event notification endpoint URL
    • The Webinar has been created subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • creation_source (required)

        string, possible values: "other", "open_api", "web_portal" — The platform through which the meeting was created. * `other` - Created through another platform. * `open_api` - Created through Open API. * `web_portal` - Created through the web portal.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • join_url (required)

        string — The URL to join the webinar.

      • settings (required)

        object — Information about the webinar's settings.

        • alternative_hosts (required)

          string — A semicolon-separated list of the webinar's alternative hosts' email addresses or IDs.

        • use_pmi (required)

          boolean — Whether the use of PMI is enabled.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

        • duration

          integer — The scheduled webinar duration.

        • status

          string, possible values: "available", "deleted" — The webinar occurrence status: * `available` * `deleted`

      • password

        string — The password required to join the webinar.

      • recurrence

        object — Information about [recurring meetings](https://marketplace.zoom.us/docs/api-reference/other-references/recurrence-object-definitions).

        • end_date_time

          string, format: date-time — The recurring meeting's final ending date and time before it is canceled, in UTC format.

        • end_times

          integer — The number of times the recurring meeting will occur before it is canceled.

        • monthly_day

          integer — The day of the month on which the recurring monthly meeting occurs. The value ranges from 1 to 31.

        • monthly_week

          integer, possible values: -1, 1, 2, 3, 4 — The week of the month on which a recurring meeting occurs: * `-1` — The last week of the month. * `1` — The first week. * `2` — The second week. * `3` — The third week. * `4` — The fourth week.

        • monthly_week_day

          integer, possible values: 1, 2, 3, 4, 5, 6, 7 — The day of the week on which the recurring monthly meeting is scheduled: * `1` — Sunday * `2` — Monday * `3` — Tuesday * `4` — Wednesday * `5` — Thursday * `6` — Friday * `7` — Saturday

        • repeat_interval

          integer — The meeting's repeat interval: * For daily intervals, a max of `90` days. * For a weekly interval, a max of `12` weeks. * For monthly intervals, a max of `3` months.

        • type

          integer, possible values: 1, 2, 3 — The type of recurring meeting: * `1` — Daily. * `2` — Weekly. * `3` — Monthly.

        • weekly_days

          string — A comma-separated list of the days of the week on which the recurring weekly meeting occurs: * `1` — Sunday * `2` — Monday * `3` — Tuesday * `4` — Wednesday * `5` — Thursday * `6` — Friday * `7` — Saturday

      • start_time

        string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who created the webinar.

    • operator_id (required)

      string — The user ID of the user who created the webinar.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all webinar. * `single` — The change was applied only to a single webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "join_url": "",
      "password": "",
      "creation_source": "other",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "duration": 1,
          "status": "available",
          "additionalProperty": "anything"
        }
      ],
      "settings": {
        "use_pmi": true,
        "alternative_hosts": "",
        "additionalProperty": "anything"
      },
      "recurrence": {
        "type": 1,
        "repeat_interval": 1,
        "weekly_days": "",
        "monthly_day": 1,
        "monthly_week_day": 1,
        "end_times": 1,
        "end_date_time": "",
        "monthly_week": -1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

recording.registration_denied

  • Method: POST
  • Path: recording.registration_denied
  • Tags: Cloud Recording

The View registrant has denied for this recording event is triggered every time a registrant is denied from viewing a cloud recording.

Cloud recordings of Zoom meetings and webinars can be made on-demand. With on-demand recordings, users can view the recordings of past meetings and webinars at any time as long as they have not been removed. To view these recordings, users can register manually by filling out the registration form that pops up when users click on the Recording URL provided by the Webinar organizer. After the registration, only registrants that are approved will be able to view the recording.

An account owner, a host of the meeting/webinar or a user with admin privileges can customize the registration approval settings for cloud recordings. The registrants' information can be viewed from the Zoom Web Portal. A pending or a previously approved registrant can be denied from viewing the recording by clicking Deny. The registrants can also be denied by using the Update registrant's status API.

Prerequisites

  • A Pro or higher plan.
  • Cloud recording must be enabled on the users' account.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event notification endpoint URL.
    • The View registrant has denied for this recording subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the host that recorded the meeting or webinar.

    • object (required)

      object — Information about the recording registration.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The webinar or meeting host's user ID.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • registrant (required)

        object — Information about the recording registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • last_name (required)

          string — The registrant's last name.

        • id

          string — The registrant's ID.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who denied the recording registration.

    • operator_id (required)

      string — The user ID of the user who denied the recording registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "registrant": {
        "id": "",
        "email": "",
        "first_name": "",
        "last_name": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_phone_callout_failed

  • Method: POST
  • Path: meeting.participant_phone_callout_failed
  • Tags: Meetings

The meeting invitation through phone (call out) failed event is triggered every time an invitation to join a meeting through phone (call out) failed.

Prerequisites

Enable Event Subscriptions for your Marketplace app with these configurations.

  • A valid Event Notification Endpoint URL.
  • The meeting invitation through phone (call out) failed subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's display name in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • reason_type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14 — The reason type for the failure: * `1` — Not_Allow_PSTN. * `2` — Block_Too_Frequent. * `3` — Block_By_No_Host. * `4` — PhoneNumber_Blocked. * `5` — Call_Count_Limit_InConf. * `6` — SipTrunk_Error. * `7` — Timeout. * `8` — PhoneNumber_Invalid. * `0` — Other_Failed_Reason.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "reason_type": 0,
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.live_streaming_stopped

  • Method: POST
  • Path: meeting.live_streaming_stopped
  • Tags: Meetings

The Meeting Live Streaming Stopped event is triggered every time a meeting's live stream ends. The host of the live stream must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

Zoom lets users live stream their Zoom meetings on YouTube Live, Facebook, Workplace by Facebook, and via a custom live streaming services.

Prerequisites

Enable Event Subscriptions for your Marketplace app with:

  • A valid Event Notification Endpoint URL.
  • The Meeting Live Streaming Stopped subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • live_streaming (required)

        object — Information about the live stream.

        • date_time (required)

          string, format: date-time — The date and time the live stream ended.

        • service (required)

          string, possible values: "Facebook", "Workplace_by_Facebook", "YouTube", "Twitch", "Custom_Live_Streaming_Service" — The name of the live streaming service: * `Facebook` * `Workplace_by_Facebook` * `YouTube` * `Twitch` * `Custom_Live_Streaming_Service`

        • custom_live_streaming_settings

          object — Information about the custom live stream.

          • page_url (required)

            string — The live stream's page URL.

          • stream_key (required)

            string — The live stream's key.

          • stream_url (required)

            string — The live stream's URL.

          • resolution

            string — The number of pixels in each dimension that the video camera can display.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who updated the meeting.

    • operator_id (required)

      string — The user ID of the user who updated the meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "live_streaming": {
        "service": "Facebook",
        "custom_live_streaming_settings": {
          "stream_url": "",
          "stream_key": "",
          "page_url": "",
          "resolution": ""
        },
        "date_time": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.participant_data_connection_established

  • Method: POST
  • Path: webinar.participant_data_connection_established
  • Tags: Webinars

The Participant or Host connection established event is triggered when an attendee establishes a data connection when joining a webinar.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant or Host connection established subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp for when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • data_connections (required)

        array — A list of data connection records established by the participant in the webinar.

        Items:
        • command_connection_time_cost_ms (required)

          integer — The time, in milliseconds, spent establishing the command connection.

        • connection_type (required)

          string, possible values: "audio", "video", "screen_share" — The type of in-webinar data connection.

        • data_socket_time_cost_ms (required)

          integer — The time, in milliseconds, spent establishing the data socket connection.

        • first_package_time_cost_ms (required)

          integer — The time, in milliseconds, from data socket establishment to receiving the first package.

        • total_time_cost_ms (required)

          integer — The total time, in milliseconds, that it took to establish the data connection.

      • host_id (required)

        string — The webinar host's user ID.

      • participant (required)

        object — Information about the webinar participant. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the webinar by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • join_time (required)

          string, format: date-time — The time when the participant joined the webinar.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant when they join a webinar and is only valid for the duration of the webinar.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific webinar and any breakout rooms created in this webinar. This value is assigned to a participant when they join a webinar and is only valid for the duration of that webinar.

        • phone_number

          string — The phone number of the participant who joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • id

        string — The webinar number.

      • start_time

        string — The webinar's start time.

      • topic

        string — The webinar's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "participant": {
        "user_id": "",
        "user_name": "",
        "participant_uuid": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "customer_key": "",
        "phone_number": "8611111111111"
      },
      "data_connections": [
        {
          "connection_type": "audio",
          "total_time_cost_ms": 1,
          "command_connection_time_cost_ms": 1,
          "data_socket_time_cost_ms": 1,
          "first_package_time_cost_ms": 1
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.registration_cancelled

  • Method: POST
  • Path: webinar.registration_cancelled
  • Tags: Webinars

The Webinar Registration has been canceled event is triggered whenever one of these two conditions are met:

  • A registrant cancels their registration for a Webinar created by one of your app users or account users.
  • A host who is also a user of your app or your Zoom account cancels the registration of a registrant who was previously approved.

Scheduling a Webinar with registration requires registrants to complete a brief form before receiving the link to join the Webinar. Webinar Registration options can be customized by a Zoom admin or a Webinar host. This customization allows them to choose whether to approve attendees automatically or manually.

Prerequisites

  • Pro or a higher plan with Webinar license.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL
    • The Webinar Registration has been canceled subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar registration.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer — The webinar ID.

      • registrant (required)

        object — Information about the webinar registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • last_name

          string — The registrant's last name.

        • tracking_source

          object — Information about the source tracking. See [Creating webinar registration tracking links](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-webinar-registration-tracking-links) for details.

          • id (required)

            string — Unique Identifier of the tracking source.

          • source_name (required)

            string — Name of the source (platform) where the registration URL was shared.

          • tracking_url (required)

            string — Tracking URL. The URL that was shared for the registration.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who canceled the webinar registration.

    • operator_id

      string — The user ID of the user who canceled the webinar registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "tracking_source": {
          "id": "",
          "source_name": "",
          "tracking_url": ""
        }
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.recovered

  • Method: POST
  • Path: meeting.recovered
  • Tags: Meetings

The Meeting has been recovered event is triggered every time a user recovers a previously-deleted meeting. The user must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

Zoom users can restore previously-deleted meetings for up to one week after deletion. Any invitations, links, and meeting IDs sent prior to the meeting's deletion will still work after a user recovers it.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting has been recovered subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who recovered the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who recovered the meeting.

    • operator_id (required)

      string — The user ID of the user who recovered the meeting.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all meetings. * `single` — The change was applied only to a single meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

webinar.permanently_deleted

  • Method: POST
  • Path: webinar.permanently_deleted
  • Tags: Webinars

The Webinar has been permanently deleted event is triggered every time a scheduled webinar is permanently deleted.

A webinar host or a user with admin privileges can permanently delete a webinar via the Zoom web portal.

Prerequisites

  • A Pro or higher plan.
  • Enable Event Subscriptions for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Webinar has been permanently deleted subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who permanently deleted the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who permanently deleted the webinar.

    • operator_id (required)

      string — The user ID of the user who permanently deleted the webinar.

    • operation

      string, possible values: "all", "single" — The type of operation performed. * `all` — The change was applied to all webinars. * `single` — The change was applied only to a single webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.completed

  • Method: POST
  • Path: recording.completed
  • Tags: Cloud Recording

This event is triggered when a recording of a meeting or webinar becomes available to view or download.

Users with a Pro or a higher plan have access to cloud recordings. Account owners and account admins can enable cloud recording for account members.
Users can also enable cloud recordings for their own use.

Only meeting or webinar hosts and co-hosts can start and complete a cloud recording. A recording is considered complete after the host or co-host ends the meeting or webinar.

Prerequisites

  • A Pro or higher plan.
  • Enable Cloud recording on the users' account.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event notification endpoint URL.
    • The All Recordings have completed subscription must be enabled under the Recording event.

Request Body

Content-Type: application/json
  • download_token (required)

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation, and you can only download the file within 24 hours of receiving the event notification. Pass `download_token` as a bearer token in the authorization header of your HTTP request. ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ```.

  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who completed the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • account_id (required)

        string — The account ID of the user who completed the meeting or webinar recording.

      • duration (required)

        integer — The recording's duration.

      • host_email (required)

        string, format: email — The host's email address.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting `meetingId` or webinar `webinarId`.

      • password (required)

        string — The meeting's or webinar's password.

      • recording_count (required)

        integer — The number of completed recording files.

      • recording_files (required)

        array — Information about the completed recording files.

        Items:
        • download_url (required)

          string — The URL to download the the recording. To download the recording file of a meeting or a webinar, use the `download_token` value to download the file. For example: `https://{{base-domain}}/rec/webhook_download/download/xxx--header 'Authorization: Bearer {{your-download_token-value}}`

        • file_extension (required)

          string, possible values: "MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG" — The file extension type of the recording file.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string, possible values: "MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "TB", "CC", "CHAT_MESSAGE", "SUMMARY", "TIMELINE" — The type of the recording file.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time when recording ended.

        • recording_start (required)

          string, format: date-time — The date and time when recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "audio_interpretation", "summary", "summary_next_steps", "summary_smart_chapters", "sign_interpretation", "production_studio" — The recording file type. * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` * `audio_interpretation` * `summary` * `summary_next_steps` * `summary_smart_chapters` *`sign_interpretation` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status. * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • file_path

          string — The file path to the on-premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL where the recording file can be opened and played.

      • share_url (required)

        string — The URL where approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting's or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar. If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • auto_delete

        boolean — Auto-delete status of a meeting's [cloud recording](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording). Prerequisite: To get the auto-delete status, the host of the recording must have the recording setting 'Delete cloud recordings after a specified number of days' enabled.

      • auto_delete_date

        string — The date on which the recording will be auto-deleted when auto_delete is true. Otherwise, no date will be returned.

      • on_prem

        boolean — Whether the recording is an [on-premise](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment) recording.

      • participant_audio_files

        array — Information about the participants' audio files.

        Items:
        • download_url (required)

          string — The URL to download the the recording. To download the recording file of a meeting or a webinar, use the `download_token` value to download the file. For example: `https://{{base-domain}}/rec/webhook_download/download/xxx--header 'Authorization: Bearer {{your-download_token-value}}`

        • file_extension (required)

          string — The participant audio file's extension.

        • file_name (required)

          string — The participant audio file's name.

        • file_size (required)

          integer — The participant audio file's size, in bytes.

        • file_type (required)

          string — The participant audio file's format.

        • id (required)

          string — The participant audio file's ID.

        • recording_end (required)

          string, format: date-time — The participant audio file's end time.

        • recording_start (required)

          string, format: date-time — The participant audio file's start time.

        • status (required)

          string, possible values: "completed", "processing" — The participant audio file's processing status. * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_path

          string — The file path to the on-premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL to open and play the participant audio file.

      • recording_play_passcode

        string — The cloud recording's password to be used in the URL. This recording's password can be directly spliced in `play_url` or `share_url` with `?pwd=` to access and play, such as in 'https://zoom.us/rec/share/**************?pwd=yNYIS408EJygs7rE5vVsJwXIz4-VW7MH'. See [Embedding meeting passcode in invite link](https://support.zoom.us/hc/en-us/articles/360060396571-Embedding-meeting-passcode-in-invite-link) for details. If you want to use this field, please contact Zoom support.

      • timezone

        string — The meeting's or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "account_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "password": "",
      "timezone": "",
      "host_email": "",
      "duration": 1,
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "on_prem": true,
      "recording_play_passcode": "yNYIS408EJygs7rE5vVsJwXIz4-VW7MH",
      "auto_delete": true,
      "auto_delete_date": "",
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "MP4",
          "file_size": 1,
          "file_extension": "MP4",
          "file_name": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ],
      "participant_audio_files": [
        {
          "id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_name": "",
          "file_size": 1,
          "file_extension": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed"
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_put_in_waiting_room

  • Method: POST
  • Path: meeting.participant_put_in_waiting_room
  • Tags: Meetings

The Participant was put in a waiting room event is triggered every time a participant who has already joined the meeting is returned to the waiting room during the meeting. The meeting host must be a user in your account or a user in any other accounts that have installed your webhook-enabled app.

During a meeting, a meeting host can send a participant to the waiting room by selecting the Put in waiting room option in the Zoom client.

Prerequisites

  • Enable the waiting room for the meeting.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Participant was put in a waiting room subscription must be enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is not part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](/docs/api/using-zoom-apis/#email-address-display-rules) for details.

        • date_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](/docs/api/references/abbreviations/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "date_time": "",
        "email": "",
        "phone_number": "",
        "participant_user_id": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

recording.trashed

  • Method: POST
  • Path: recording.trashed
  • Tags: Cloud Recording

This event is triggered when a user initially deletes a cloud recording.

When a user initially deletes a recording, it is sent to the trash. To move a recording to the trash, users can use the Delete meeting recordings API or the Zoom web client. Users can recover recordings from the trash up to 30 days after deletion.

Prerequisites

  • A Pro or higher plan.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
    • A valid Event Notification Endpoint URL.
    • The Recording files have been deleted to Trash subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who deleted the recording to the trash.

    • object (required)

      object — Information about the webinar or meeting recording.

      • account_id (required)

        string — The account ID of the user that completed the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_count (required)

        integer — The number of recording files deleted to the trash.

      • share_url (required)

        string — The URL at which approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • participant_audio_files

        array — Information about the trashed participant audio files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}` **Note:** This field does **not** return for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). Instead, this API will return the `file_path` field.

        • file_extension (required)

          string — The participant audio file's extension.

        • file_name (required)

          string — The participant audio file's name.

        • file_size (required)

          integer — The participant audio file's size, in bytes.

        • file_type (required)

          string — The participant audio file's format.

        • id (required)

          string — The participant audio file's ID.

        • recording_end (required)

          string, format: date-time — The participant audio file's end time.

        • recording_start (required)

          string, format: date-time — The participant audio file's start time.

        • status (required)

          string, possible values: "completed", "processing" — The participant audio file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_path

          string — The file path to the On-Premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL at which the participant audio file can be opened and played.

      • recording_files

        array — Information about the trashed recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}`. **Note:** We recommend that you send the access_token as a Bearer token in the Authorization header, for example: "Authorization": "Bearer <ACCESS_TOKEN>”.

        • file_extension (required)

          string, possible values: "MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG" — The recording file's extension.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string, possible values: "MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "TB", "CC", "CHAT_MESSAGE", "SUMMARY", "TIMELINE" — The recording file's type.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time at which recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "audio_interpretation", "summary", "summary_next_steps", "summary_smart_chapters", "production_sutdio" — The type of recording file: * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` * `audio_interpretation` * `summary` * `summary_next_steps` * `summary_smart_chapters` *`production_studio` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who deleted the recording to the trash.

    • operator_id (required)

      string — The user ID of the user who deleted the recording to the trash.

  • download_token

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. You can either include the `download_token` as a query parameter or pass it as a Bearer token in the Authorization header of your HTTP request: **Using an Authorization header (Recommended)** ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ``` **Using a query parameter** ``` {download_url}/?access_token={download_token} ``` For example: `https://zoom.us/recording/download/123456?access_token=abcdefgh`

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "account_id": "",
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "MP4",
          "file_extension": "MP4",
          "file_name": "",
          "file_size": 1,
          "play_url": "",
          "download_url": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ],
      "participant_audio_files": [
        {
          "id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_name": "",
          "file_size": 1,
          "file_extension": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed"
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.summary_deleted

  • Method: POST
  • Path: meeting.summary_deleted
  • Tags: Meetings

The Meeting summary has been permanently deleted event is triggered every time one of your app users or account users permanently deletes a meeting summary.

Prerequisites

  • Host user must be Pro or higher plan.
  • Enable the Meeting Summary with AI Companion feature in the host's account.
  • E2ee meetings do not have summary feature enabled.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Meeting summary has been permanently deleted subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

    • operator (required)

      string — The email address of the user who permanently deleted the meeting summary.

    • operator_id (required)

      string — The user ID of the user who permanently deleted the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

webinar.participant_bind

  • Method: POST
  • Path: webinar.participant_bind
  • Tags: Webinars

descriptionThe Phone User Bind To Participant event is triggered every time a phone user joins a webinar and binds to an attendee in the webinar.

Prerequisites

  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Phone User Bind To Partcipant subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the Webinar.

    • object (required)

      object — Information about the webinar.

      • host_id (required)

        string — The webinar host's user ID.

      • participant (required)

        object — Information about the webinar participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • bind_user_id (required)

          string — The particpant's webinar user ID of participant the phone user bind to. This value is assigned to a participant when they join a webinar, and is only valid for the duration of the webinar.

        • join_time (required)

          string, format: date-time — The time when the participant joined the webinar.

        • phone_number (required)

          string — Phone number of participants who joined via PSTN.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant when they join a webinar, and is only valid for the duration of the webinar.

        • bind_participant_uuid

          string — The participant's UUID of the user which this phone user binds to.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](https://developers.zoom.us/docs/api/rest/reference/user/methods/#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_uuid

          string — The participant's UUID for this specific webinar and any breakout rooms created in this webinar. This value is assigned to a participant when they join a webinar, and is only valid for the duration of that webinar.

        • registrant_id

          string — The registrant ID of the participants this phone user binds to. A host or a user with administrative permissions can require [registration for Zoom webinars](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The webinar type. * `0` - A prescheduled webinar. * `1` - An instant webinar. * `2` - A scheduled webinar. * `3` - A recurring webinar with no fixed time. * `4` - A [personal webinar room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-webinar) webinar. * `8` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • duration

        integer — The scheduled webinar duration.

      • id

        string — The webinar ID.

      • start_time

        string — The webinar's start time.

      • timezone

        string — The webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The webinar's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "bind_user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "bind_participant_uuid": "",
        "join_time": "",
        "registrant_id": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

webinar.updated

  • Method: POST
  • Path: webinar.updated
  • Tags: Webinars

The Webinar has been updated event is triggered every time one of your app users or account users updates a webinar.

Zoom users with a webinar plan have access to creating and managing webinars. Zoom Video Webinar allows users to broadcast a Zoom meeting to up to 1000 attendees. A scheduled webinar can be updated either by the user who created it or by a user with admin privileges.

Users can update a webinar manually by logging into the Zoom Web Portal, navigating to the webinar that needs to be updated from the Webinars page and clicking on the Edit this Webinar button. Alternatively, users can also use the Update a webinar API to schedule a webinar programmatically.

Prerequisites

  • Have a Pro or a higher plan with webinar license.
  • Enable Event Subscriptions for your Marketplace app with:
    • A valid Event Notification Endpoint URL.
    • The Webinar has been updated subscription enabled under the Webinar event.

Request Body

Content-Type: application/json
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who updated the webinar.

    • object (required)

      object — Information about the webinar.

      • id (required)

        integer, format: int64 — The webinar ID.

      • agenda

        string — The webinar's agenda.

      • duration

        integer — The scheduled webinar duration.

      • host_id

        string — The webinar host's user ID.

      • occurrences

        array — Information about recurring webinar with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

        • duration

          integer — The scheduled webinar duration.

        • status

          string, possible values: "available", "deleted" — The webinar occurrence status: * `available` * `deleted`

      • password

        string — The password required to join the webinar.

      • recurrence

        object — Information about [recurring webinars](https://marketplace.zoom.us/docs/api-reference/other-references/recurrence-object-definitions).

        • end_date_time

          string, format: date-time — The recurring webinar's final ending date and time before it is canceled, in UTC format.

        • end_times

          integer, default: 1 — The number of times the recurring webinar will occur before it is canceled.

        • monthly_day

          integer — The day of the month when the recurring monthly webinar occurs. The value ranges from 1 to 31.

        • monthly_week

          integer, possible values: -1, 1, 2, 3, 4 — The week of the month when a recurring webinar occurs. * `-1` - The last week of the month. * `1` - The first week. * `2` - The second week. * `3` - The third week. * `4` - The fourth week.

        • monthly_week_day

          integer, possible values: 1, 2, 3, 4, 5, 6, 7 — The day of the week when the recurring monthly webinar is scheduled. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

        • repeat_interval

          integer — The webinar's repeat interval. * For daily intervals, a maximum of `90` days. * For a weekly interval, a maximum of `12` weeks. * For monthly intervals, a maximum of `3` months.

        • type

          integer, possible values: 1, 2, 3 — The recurring webinar type. * `1` - Daily. * `2` - Weekly. * `3` - Monthly.

        • weekly_days

          string — A comma-separated list of the days of the week when the recurring weekly webinar occurs. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

      • registration_url

        string — The webinar's registration URL.

      • settings

        object — Information about the updated webinar settings. This **only** returns updated webinar settings.

        • allow_host_control_participant_mute_state

          boolean — Whether to allow host and co-hosts to fully control the mute state of participants.

        • approval_type

          integer, possible values: 0, 1, 2 — The [approval type](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-webinar-with-registration) for webinar registrants. * `0` - Automatically approve registrants. * `1` - Manually approve registrants. * `2` - Webinar registration not required.

        • audio

          string, possible values: "telephony", "voip", "both" — The available audio options for participants joining the webinar. * `telephony` - Telephony only. * `voip` - VoIP only. * `both` - Both Telephony and VoIP.

        • authentication_domains

          string — A list of the allowed authenticated domains.

        • authentication_name

          string — The authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472).

        • authentication_option

          string — The [authentication](https://support.zoom.us/hc/en-us/articles/4406604615693) option ID value.

        • auto_recording

          string, possible values: "local", "cloud", "none" — The [automatic recording](https://support.zoom.us/hc/en-us/articles/202921119-Automatic-Recording) settings for the webinar. * `local` - Record and save to the local device. * `cloud` - Record and save to the cloud. * `none` - Automatic recording disabled.

        • email_in_attendee_report

          boolean — Whether to include guest's email addresses in webinars' attendee reports.

        • enforce_login

          boolean — Whether to only allow signed in users to join the webinar.

        • host_video

          boolean — Whether to start the webinar with the host's video on.

        • language_interpretation

          object — The webinar's [language interpretation settings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0064768). Make sure to add the language in the web portal in order to use it in the API. See link for details. **Note:** This feature is only available for certain Webinar add-on, Education, and Business and higher plans. If this feature is not enabled on the host's account, this setting will **not** be applied to the webinar. This is not supported for simulive webinars.

          • enable

            boolean — Whether to enable [language interpretation](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0064768) for the webinar.

          • interpreters

            array — Information about the webinar's language interpreters.

            Items:
            • email

              string, format: email — The interpreter's email address.

            • interpreter_languages

              string — A comma-separated list of the interpreter's languages. The string must contain exactly two languages. To get this value, use the `language_interpretation` object's `languages` and `custom_languages` values in the [**Get user settings**](https://developers.zoom.us/docs/api/users/#tag/users/GET/users/{userId}/settings) API response. **languages**: System-supported languages include `English`, `Chinese`, `Japanese`, `German`, `French`, `Russian`, `Portuguese`, `Spanish`, and `Korean`. **custom_languages**: User-defined languages added by the user. For example, an interpreter translating between English and French should use `English,French`.

        • meeting_authentication

          boolean — Whether only authenticated users can join the webinar.

        • panelists_video

          boolean — Whether to turn panelists' video on when they join the webinar.

        • practice_session

          boolean — Whether to enable the [**Enable Practice Session**](https://support.zoom.us/hc/en-us/articles/206316975-Webinar-Practice-Session) feature.

        • registration_type

          integer, possible values: 1, 2, 3 — The webinar registration setting for recurring webinars: * `1` - Attendees register once and can attend any of the webinar occurrences. * `2` - Attendees must register for each occurrence to attend. * `3` - Attendees register once and can select one or more occurrences to attend.

        • sign_language_interpretation

          object — The webinar's [sign language interpretation settings](https://support.zoom.us/hc/en-us/articles/9644962487309-Using-sign-language-interpretation-in-a-meeting-or-webinar). Make sure to add the language in the web portal in order to use it in the API. See link for details. **Note:** If this feature is not enabled on the host's account, this setting will **not** be applied to the webinar.

          • enable

            boolean — Whether to enable [sign language interpretation](https://support.zoom.us/hc/en-us/articles/9644962487309-Using-sign-language-interpretation-in-a-meeting-or-webinar) for the webinar.

          • interpreters

            array — Information about the webinar's sign language interpreters.

            Items:
            • email

              string, format: email — The interpreter's email address.

            • sign_language

              string — The interpreter's sign language. To get this value, use the `sign_language_interpretation` object's `languages` and `custom_languages` values in the [**Get user settings**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods#operation/userSettings) API response.

      • start_time

        string — The webinar's start time.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The webinar's topic.

      • type

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

    • old_object (required)

      object

    • operator (required)

      string, format: email — The email address of the user who updated the webinar.

    • operator_id (required)

      string — The user ID of the user who updated the webinar.

    • time_stamp (required)

      integer, format: int64 — The webinar's update timestamp, in milliseconds.

    • scope

      string, possible values: "single", "all" — The type of operation performed. * `all` - The change was applied to all webinars. * `single` - The change was applied only to a single webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "scope": "single",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "password": "",
      "agenda": "",
      "registration_url": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "duration": 1,
          "status": "available",
          "additionalProperty": "anything"
        }
      ],
      "settings": {
        "host_video": true,
        "panelists_video": true,
        "practice_session": true,
        "approval_type": 0,
        "registration_type": 1,
        "audio": "telephony",
        "auto_recording": "local",
        "enforce_login": true,
        "meeting_authentication": true,
        "authentication_option": "",
        "authentication_name": "",
        "authentication_domains": "",
        "language_interpretation": {
          "enable": true,
          "interpreters": [
            {
              "email": "",
              "interpreter_languages": ""
            }
          ]
        },
        "sign_language_interpretation": {
          "enable": true,
          "interpreters": [
            {
              "email": "",
              "sign_language": ""
            }
          ]
        },
        "allow_host_control_participant_mute_state": true,
        "email_in_attendee_report": true,
        "additionalProperty": "anything"
      },
      "recurrence": {
        "type": 1,
        "repeat_interval": 1,
        "weekly_days": "",
        "monthly_day": 1,
        "monthly_week_day": 1,
        "end_times": 1,
        "end_date_time": "",
        "monthly_week": -1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "time_stamp": 1,
    "old_object": null,
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Responses

Status: 200 Successfully received the webhook event.

recording.batch_recovered

  • Method: POST
  • Path: recording.batch_recovered
  • Tags: Cloud Recording

The Batch recording recovered event is triggered every time one of your app users or account users recover one or more recordings from the trash.

Zoom allows users to recover their cloud recordings from trash within 30 days of deletion. You can recover a deleted cloud recording via the Recordings tab in the Zoom web client or via the Recover meeting recordings API.

Prerequisites

  • A Pro or a higher plan.
  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • A valid Event Notification Endpoint URL.
  • The Recording files have been recovered in batches from trash subscription enabled under the Recording event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that completed the meeting or webinar recording.

    • operator (required)

      string, format: email — The email address of the user who recovered the recording.

    • operator_id (required)

      string — The user ID of the user who recovered the recording.

    • object

      object — Information about the meeting or webinar recording.

      • meetings (required)

        array

        Items:
        • meeting_uuid

          string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

        • recording_file_ids

          array — The recording file's unique ID. If the current field value is NULL, it means to recover the whole Meeting Recording files.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meetings": [
        {
          "meeting_uuid": "",
          "recording_file_ids": []
        }
      ]
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

meeting.participant_room_system_callout_rejected

  • Method: POST
  • Path: meeting.participant_room_system_callout_rejected
  • Tags: Meetings

The Invited party rejected a meeting invitation through phone (call out) via Zoom room event is triggered every time a user rejects an invitation to join a meeting through phone (call out) from a Zoom room.

Prerequisites

  • Event Subscriptions must be enabled for your Marketplace app with the following configurations:
  • A valid Event Notification Endpoint URL.
  • The Invited party rejected a meeting invitation through phone (call out) via Zoom room subscription enabled under the Meeting event.

Request Body

Content-Type: application/json
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}

Responses

Status: 200 Successfully received the webhook event.

Schemas

Meeting.participant_jbh_waitingEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (personal audio conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "id": "",
        "user_name": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Meeting.summary_recoveredEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

    • operator (required)

      string — The email address of the user who recovered the meeting summary.

    • operator_id (required)

      string — The user ID of the user who recovered the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.participant_left_breakout_roomEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • breakout_room_uuid (required)

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

      • duration (required)

        integer — The main scheduled meeting duration.

      • host_id (required)

        string — The main meeting host's user ID.

      • id (required)

        string — The main meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom.

        • leave_time (required)

          string, format: date-time — The time when the participant left the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's unique ID. * If meeting registration was **not** required and the participant joined by logging into Zoom, this value is the same as the `userId` field used in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API. * If registration was required for the meeting and the participant joined the meeting by logging into Zoom, this value is the same as the `id` value in the [**List meeting registrants**](/api-reference/zoom-api/methods#operation/meetingRegistrants) API response. * If participant joins without logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • leave_reason

          string — The reason why the participant left the meeting.

        • parent_user_id

          string — The participant's main meeting user ID (`user_id`).

        • participant_user_id

          string — The participant's unique ID. * If meeting registration was **not** required and the participant joined by logging into Zoom, this value is the same as the `userId` field used in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API. * If registration was required for the meeting and the participant joined the meeting by logging into Zoom, this value is the same as the `id` value in the [**List meeting registrants**](/api-reference/zoom-api/methods#operation/meetingRegistrants) API response. * If participant joins without logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • start_time (required)

        string — The main meeting's start time.

      • topic (required)

        string — The main meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The main meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The main meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The main meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "breakout_room_uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "parent_user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "leave_time": "",
        "leave_reason": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "phone_number": "8615250064084",
        "customer_key": ""
      }
    }
  }
}

Meeting.device_testedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object

      • id (required)

        integer, format: int64 — The meeting ID.

      • test_result (required)

        object — Information about the meeting's device test results.

        • camera_status (required)

          integer, possible values: 0, 1, 2 — The camera's status: * `2` — Device working. * `1` — Device not working. * `0` — Device not tested.

        • microphone_status (required)

          integer, possible values: 0, 1, 2 — The microphone's status: * `2` — Device working. * `1` — Device not working. * `0` — Device not tested.

        • speaker_status (required)

          integer, possible values: 0, 1, 2 — The speaker's status: * `2` — Device working. * `1` — Device not working. * `0` — Device not tested.

        • user_id (required)

          string — The user's ID.

        • user_name (required)

          string — The user's username.

        • os

          string — The user's operating system.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "test_result": {
        "user_id": "",
        "user_name": "",
        "camera_status": 0,
        "speaker_status": 0,
        "microphone_status": 0,
        "os": "",
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.summary_sharedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID. After a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • share_with_users (required)

        array — Information about the shared users.

        Items:
        • user_email (required)

          string, format: email — The shared user email.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

    • operator (required)

      string — The email address of the user who shared the meeting summary.

    • operator_id (required)

      string — The user ID of the user who shared the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "share_with_users": [
        {
          "user_email": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Webinar.chat_message_file_downloadedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • object (required)

      object — Information about the chat message file.

      • chat_message_file (required)

        object — Information about the chat message file.

        • file_id (required)

          string — The live webinar chat file's UUID.

        • file_name (required)

          string — The live webinar chat file's name.

        • file_size (required)

          integer — The live webinar chat file's size, in bytes.

        • file_type (required)

          string — The live webinar chat file's type.

        • file_owner_id

          string — The user ID of the user who uploaded the team chat file. This value returns blank for external users.

      • host_account_id (required)

        string — The webinar host's account ID. The value will be an empty string if this info is from an external user.

      • id (required)

        integer, format: int64 — The webinar ID.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a meeting UUID.

    • operator (required)

      string, format: email or name — The email address of the user who downloaded the file. This value returns the operator name for external users.

    • account_id

      string — The account ID of the user who downloaded the file. This value returns blank for external users.

    • operator_id

      string — The user ID of the user who downloaded the file. This value returns blank for external users.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_account_id": "",
      "chat_message_file": {
        "file_id": "",
        "file_name": "",
        "file_size": 1,
        "file_type": "",
        "file_owner_id": ""
      }
    }
  }
}

Webinar.deletedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who deleted the webinar.

    • object (required)

      object — Information about the webinar.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • duration

        integer — The scheduled webinar duration.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

      • start_time

        string, format: date-time — The webinar's start time.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The webinar's topic.

    • operator (required)

      string — The email address of the user who deleted the webinar.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all webinars. * `single` — The change was applied only to a single webinar.

    • operator_id

      string — The user ID of the user who deleted the webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Recording.registration_approvedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the host that recorded the meeting or webinar.

    • object (required)

      object — Information about the recording registration.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • registrant (required)

        object — Information about the recording registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • last_name (required)

          string — The registrant's last name.

        • id

          string — The registrant's ID.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user that approved registration for the meeting or webinar recording.

    • operator_id (required)

      string — The user ID of the user that approved registration for the meeting or webinar recording.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "registrant": {
        "id": "",
        "email": "",
        "first_name": "",
        "last_name": ""
      }
    }
  }
}

Meeting.risk_alertEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • armn_details (required)

        object — Information about the at-risk meeting notifier (ARMN).

        • meeting_url

          string — The meeting's URL.

        • post_platform

          string — The post's social media platform. For example, Twitter, Reddit, or Facebook.

        • post_time

          string, format: date-time — The post's timestamp.

        • post_user

          string — The user who created the social media post.

        • recommended_disable_settings

          array — A comma-separated list of the recommended settings to disable: * `enableAnnotation` * `enableMeetingChat` * `enableScreenShare` * `enableMultipleShare`

          Items:

          string, possible values: "enableAnnotation", "enableMeetingChat", "enableScreenShare", "enableMultipleShare"

        • recommended_enable_settings

          array — A comma-separated list of the recommended settings to enable: * `enablePassword` * `enableWaitingRoom` * `enableOnlyAuthenticated` * `enableRegistration` * `enableScreenShareLock` * `enableScreenShareHostOnly` * `enableSpecifiedDomain`

          Items:

          string, possible values: "enablePassword", "enableWaitingRoom", "enableOnlyAuthenticated", "enableRegistration", "enableScreenShareLock", "enableScreenShareHostOnly", "enableSpecifiedDomain"

        • social_link

          string — The link to the social media post.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "armn_details": {
        "post_platform": "",
        "social_link": "",
        "post_time": "",
        "post_user": "",
        "meeting_url": "",
        "recommended_enable_settings": [
          "enablePassword"
        ],
        "recommended_disable_settings": [
          "enableAnnotation"
        ],
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.aic_transcript_completedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the transcript.

      • attach_type (required)

        string, format: string — Each file ID has many attachments. Use this `attach_type` to download different attachments. In this webhook, the `attach_type` always equals `durable_transcript`.

      • file_id (required)

        string, format: string — Transcript file ID.

      • host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "host_id": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "file_id": "aDYlohsHRtCd4ii1uC290OP",
      "attach_type": "durable_transcript",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Webinar.participant_feedbackEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who commits the feedback.

    • object (required)

      object — Information about the webinar.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant.

        • feedback (required)

          object — Information about the feedback.

          • satisfied (required)

            boolean — Whether the participant is satisfied.

          • comments

            string — The participant's comments. This returns null if the `satisfied` field is `true`.

          • feedback_details

            array — The feedback details. This returns null if the `satisfied` field is `true`.

            Items:
            • id (required)

              string — The feedback ID. * `1` — Poor video quality. * `2` — Poor audio quality. * `5` — Unable to present using share.zoom.us. * `7` — Unable to make phone call. * `8` — They could not hear us. * `9` — We could not hear them. * `10` — They could not see us. * `11` — We could not see them. * `12` — Could not present computer screen. * `999` — Others.

            • name (required)

              string — The feedback name.

        • participant_user_id (required)

          string — The participant's universally unique ID (UUID). This value returns blank for external users.

        • participant_uuid (required)

          string — The participant's meeting universally unique ID (UUID). This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting. This value will not be changed when the participant joins/leaves a breakout room.

        • user_name (required)

          string — The participant's display name.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "participant": {
        "participant_uuid": "",
        "participant_user_id": "",
        "user_name": "",
        "feedback": {
          "satisfied": true,
          "feedback_details": [
            {
              "id": "",
              "name": ""
            }
          ],
          "comments": ""
        }
      }
    }
  }
}

Meeting.participant_joined_waiting_roomEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the main meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • date_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "date_time": "",
        "email": "",
        "phone_number": "8615250064084",
        "participant_user_id": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Meeting.ai_companion_assets_deletedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that hosted the meeting.

    • object (required)

      object — The meeting where the AI Companion assets were deleted.

      • ai_companion (required)

        object — The AI Companion assets that were deleted.

        • deleted_assets (required)

          array — List of AI Companion assets that were deleted.

          Items:

          string, possible values: "transcripts", "summaries"

      • host_id (required)

        string — The ID of the user set as the host of the meeting.

      • meeting_number (required)

        integer, format: int64 — The meeting number.

      • meeting_uuid (required)

        string — The meeting's universally unique identifier (UUID).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_number": 1,
      "meeting_uuid": "",
      "host_id": "",
      "ai_companion": {
        "deleted_assets": [
          "transcripts"
        ]
      }
    }
  }
}

Webinar.converted_to_meetingEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who converted the webinar into a meeting.

    • object (required)

      object — Information about the meeting converted from a webinar.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • type (required)

        integer, possible values: 2, 3, 8 — The meeting type. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `8` - A recurring meeting with fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID).

      • duration

        integer — The scheduled meeting's duration, in minutes. Returned only when the meeting type is `2`.

      • start_time

        string, format: date-time — The scheduled meeting's start time. Returned only when the meeting type is `2`.

      • timezone

        string — The meeting's [timezone](/docs/api/references/abbreviations/#timezones).

      • topic

        string — The meeting's topic.

    • operator (required)

      string — The email address of the user who converted the webinar into a meeting.

    • operator_id

      string — The user ID of the user who converted the webinar into a meeting.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 2,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.participant_phone_callout_ringingEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's name to display in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Meeting.participant_jbh_joinedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (personal audio conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "id": "",
        "user_name": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Meeting.invitation_acceptedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • email (required)

          string, format: email — The email address of the user who received the meeting invitation. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • participant_user_id (required)

          string — The user ID of the user who received the meeting invitation.

      • topic (required)

        string — The meeting's topic.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string — The email address of the user who accepted the meeting.

    • operator_id (required)

      string — The user ID of the user who accepted the meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "participant": {
        "participant_user_id": "",
        "email": ""
      }
    }
  }
}

Recording.archive_files_completedEvent

  • Type:object
  • download_token (required)

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation, and you can only download the file within 24 hours of receiving the event notification. You can either include the `download_token` as a query parameter or pass it as a Bearer token in the Authorization header of your HTTP request. **Using an Authorization header (Recommended)** ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ``` **Using a query parameter** ``` {download_url}/?access_token={download_token} ``` For example: `https://zoom.us/recording/download/123456?access_token=abcdefgh`

  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id

      string — The account ID of the user who hosted the meeting or the webinar.

    • object

      object — Information about the webinar or meeting recording.

      • account_name

        string — The user's account name.

      • archive_files

        array — Information about the archive files.

        Items:
        • download_url

          string — The URL to download the archived file. To download the archived file of a meeting or a webinar, use the `download_token` value included in the webhook as the `access_token` query parameter value and include this query parameter at the end of the URL. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{your-download_token-value}}`

        • encryption_fingerprint

          string — The archived file's encryption fingerprint, using the SHA256 hash algorithm.

        • file_extension

          string — The archived file's extension.

        • file_name

          string — The archived file's name.

        • file_size

          integer — The archived file's size, in bytes.

        • file_type

          string, possible values: "MP4", "M4A", "TRANSCRIPT", "CHAT", "CC", "CHAT_MESSAGE" — The archived file's type. * `MP4` - Video file. * `M4A` - Audio-only file. * `TRANSCRIPT` - A transcription file, in VTT format. * `CHAT` - A TXT file containing in-meeting chat messages. * `CC` - A file containing the closed captions of the recording, in VTT file format. * `CHAT_MESSAGE` - A JSON file encoded in base64 format containing chat messages. The file also includes waiting room chats, deleted messages, meeting emojis and non-verbal feedback.

        • id

          string — The archived file's ID.

        • individual

          boolean — Whether the recording file is an individual recording file: * `true` - An individual recording file. * `false` - An entire meeting file.

        • number_of_messages

          integer — The number of `TXT` or `JSON` file messages. This field will return only when the `file_extension` is `JSON` or `TXT`

        • participant_email

          string, format: email — The individual recording file's participant email address. This value is returned when the `individual` value is `true`. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • participant_join_time

          string, format: date-time — The join time for the generated recording file. If this value is returned when the individual value is true, then it is the recording file's participant join time. When the individual value is false, it returns the join time for the archiving gateway.

        • participant_leave_time

          string — The leave time for the generated recording file. If this value is returned when the individual value is true, then it is the recording file's participant leave time. When the individual value is false, it returns the leave time for the archiving gateway.

        • recording_type

          string, possible values: "shared_screen_with_speaker_view", "audio_only", "chat_file", "closed_caption", "chat_message" — The archive file's recording type. * `shared_screen_with_speaker_view` * `audio_only` * `chat_file` * `closed_caption` * `chat_message` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status

          string, possible values: "completed", "processing", "failed" — The archived file's processing status. * `completed` - The processing of the file is complete. * `processing` - The file is processing. * `failed` - The file processing failed.

        • storage_location

          string, possible values: "US", "AU", "BR", "CA", "EU", "IN", "JP", "SG", "CH" — The region where the file is stored. This field returns only `Enable Distributed Compliance Archiving` op feature is enabled.

      • complete_time

        string, format: date-time — The meeting or webinar's archive completion time.

      • duration

        integer — The meeting or webinar's scheduled duration.

      • duration_in_second

        integer — The meeting or webinar's duration, in seconds.

      • group_id

        string — Primary group IDs of participants who belong to your account. Each group ID is separated by a comma.

      • host_id

        string — The ID of the user set as the host of the archived meeting or webinar.

      • id

        integer — The ID of the meeting (`meetingId`) or the webinar (`webinarId`).

      • is_breakout_room

        boolean — Whether the room is a [breakout room](https://support.zoom.us/hc/en-us/articles/115005769646-Participating-in-breakout-rooms).

      • meeting_type

        string, possible values: "internal", "external" — Whether the meeting or webinar is internal or external. * `internal` - An internal meeting or webinar. * `external` - An external meeting or webinar. The `id`, `host_id`, and `topic` PII (Personal Identifiable Information) values in this response are removed when this value is `external`.

      • parent_meeting_id

        string — The parent meeting's universally unique ID (UUID). Each meeting or webinar instance generates its own meeting UUID. If the `is_breakout_room` value is `true`, the API returns this value.

      • recording_count

        integer — The number of archived files returned in the API call response.

      • start_time

        string — The meeting or webinar's start time.

      • status

        string, possible values: "completed", "processing" — The archive's processing status: * `completed` - The archive's processing is complete. * `processing` - The archive is processing.

      • timezone

        string — The meeting or webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting or webinar topic.

      • total_size

        integer — The total size of the archive file, in bytes.

      • type

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 100 — The type of archived meeting or webinar. If the recording is of a meeting: * `1` - Instant meeting. * `2` - Scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A meeting created via PMI (Personal Meeting ID). * `7` - A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `100` - A [breakout room](https://support.zoom.us/hc/en-us/articles/115005769646-Participating-in-breakout-rooms).

      • uuid

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance. Each meeting or webinar instance generates its own meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "duration_in_second": 1800,
      "total_size": 1,
      "recording_count": 1,
      "meeting_type": "internal",
      "account_name": "",
      "complete_time": "",
      "is_breakout_room": true,
      "parent_meeting_id": "",
      "archive_files": [
        {
          "id": "",
          "file_type": "MP4",
          "file_extension": "",
          "file_name": "",
          "file_size": 1,
          "download_url": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view",
          "individual": true,
          "participant_email": "",
          "participant_join_time": "",
          "participant_leave_time": "",
          "encryption_fingerprint": "abf85f0fe6a4db3cdd8c37e505e1dd18a34d9696170a14b5bc6395677472cf43",
          "number_of_messages": 150,
          "storage_location": "US"
        }
      ],
      "status": "completed",
      "group_id": "pvFIYKSDTum9iCDOOtQL4w,_FsqLyI0RlO6LVPeUVWi8g"
    }
  }
}

Meeting.alertEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • issues (required)

        array — A list of issues that occurred during the meeting: * `Unstable audio quality` * `Unstable video quality` * `Unstable screen share quality` * `High CPU occupation` * `Call Reconnection`

        Items:

        string, possible values: "Unstable audio quality", "Unstable video quality", "Unstable screen share quality", "High CPU occupation", "Call Reconnection"

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "issues": [
        "Unstable audio quality"
      ]
    }
  }
}

Meeting.chat_message_file_sentEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the chat message file.

      • chat_message_file (required)

        object — Information about the chat message file.

        • date_time (required)

          string, format: date-time — The date and time when the chat message was sent.

        • download_url (required)

          string — The live meeting chat file's download URL.

        • file_id (required)

          string — The live meeting chat file's UUID, in base64-encoded format.

        • file_name (required)

          string — The live meeting chat file's name.

        • file_size (required)

          integer — The live meeting chat file's size, in bytes.

        • file_type (required)

          string — The live meeting chat file's type.

        • message_id (required)

          string — The chat message's UUID.

        • recipient_context (required)

          string, possible values: "meeting", "breakout_room" — The context where the recipient is located when the message is delivered. * `meeting` - The recipient is in the meeting. * `breakout_room` - The sender is in a breakout room.

        • recipient_type (required)

          string, possible values: "everyone", "host", "guest", "group", "host_group" — The type of message recipient. * `everyone` - All meeting participants. * `host` - The meeting host. * `guest` - A meeting guest. * `group` - A group chat. * `host_group` - The meeting host and all co-hosts.

        • sender_context (required)

          string, possible values: "meeting", "breakout_room" — The context where the sender is located when the message is generated. * `meeting` - The sender is in a meeting. * `breakout_room` - The sender is in a breakout room.

        • sender_name (required)

          string — The message sender's name.

        • sender_session_id (required)

          string — The message sender's session ID.

        • sender_type (required)

          string, possible values: "host", "guest" — The type of user that sent the message. * `host` - The meeting host. * `guest` - A meeting guest.

        • recipient_email

          string, format: email — The message recipient's email address. Optional only included if it is a private message.

        • recipient_name

          string — The message recipient's name.

        • recipient_session_id

          string — The message recipient's session ID.

        • sender_email

          string, format: email — The message sender's email address.

      • meeting_id (required)

        integer, format: int64 — The meeting ID.

      • meeting_uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates its own meeting UUID.

      • breakout_room_uuid

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_id": 1,
      "meeting_uuid": "",
      "breakout_room_uuid": "",
      "chat_message_file": {
        "date_time": "",
        "sender_session_id": "",
        "sender_name": "",
        "sender_email": "",
        "sender_type": "host",
        "sender_context": "meeting",
        "recipient_session_id": "",
        "recipient_name": "",
        "recipient_email": "",
        "recipient_type": "everyone",
        "recipient_context": "meeting",
        "message_id": "",
        "file_id": "",
        "file_name": "",
        "file_size": 1,
        "file_type": "",
        "download_url": ""
      }
    }
  }
}

Meeting.deletedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who deleted the meeting.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • duration

        integer — The scheduled meeting duration.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

      • recurrence_event_id

        string — The unique identifier of the recurring event that the occurrences belong to. Updating a recurring meeting with **This and following events** splits it into two recurring events, each with its own `recurrence_event_id`. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The meeting's topic.

    • operator (required)

      string — The email address of the user who deleted the meeting.

    • operation

      string, possible values: "all", "single", "range" — The type of operation performed on a recurring meeting. * `all` - The change was applied to all occurrences. * `single` - The change was applied to a single occurrence. * `range` - The change was applied to a range of occurrences while the other occurrences are unchanged. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

    • operator_id

      string — The user ID of the user who deleted the meeting.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "recurrence_event_id": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.participant_joinedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • join_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • id

        string — The meeting ID.

      • start_time

        string — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "customer_key": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

User.tsp_deletedEvent

  • Type:object
  • event

    string — The name of the event.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

  • payload

    object

    • account_id

      string — The account ID of the user who deleted the TSP.

    • object

      object — Information about the deleted user.

      • email

        string — The user's email address.

      • id

        string — The user's ID.

      • tsp_credentials

        object — Information about the deleted user's TSP credentials.

        • conference_code

          string — The TSP conference code.

        • dial_in_numbers

          array — Information about the TSP dial-in numbers.

          Items:
          • code

            string — The country code.

          • country_label

            string, possible values: "US_TSP_TB", "EU_TSP_TB" — The TSP country label: * `US_TSP_TB` * `EU_TSP_TB`

          • number

            string — The dial-in phone number.

          • type

            string, possible values: "toll", "tollfree", "media_link" — The type of the phone number: * `toll` — Toll number. * `tollfree` — Toll free number. * `media_link` — Media link.

        • leader_pin

          string — The leader PIN.

        • tsp_bridge

          string — The TSP bridge zone.

    • operator

      string, format: email — The email address of the user who deleted the TSP.

    • operator_id

      string — The user ID of the user who deleted the TSP.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "email": "",
      "tsp_credentials": {
        "conference_code": "",
        "leader_pin": "",
        "tsp_bridge": "",
        "dial_in_numbers": [
          {
            "code": "",
            "number": "",
            "type": "toll",
            "country_label": "US_TSP_TB"
          }
        ]
      }
    }
  }
}

Meeting.ai_companion_startedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that hosted the meeting.

    • object (required)

      object — The meeting where the AI Companion was started.

      • ai_companion (required)

        object — The AI Companion features that were started.

        • questions

          boolean — Whether the AI Companion's meeting questions feature was started.

        • summary

          boolean — Whether the AI Companion's meeting summary feature was started.

      • host_id (required)

        string — The ID of the user set as the host of the meeting.

      • meeting_number (required)

        integer, format: int64 — The meeting number.

      • meeting_uuid (required)

        string — The meeting's universally unique identifier (UUID).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_number": 1,
      "meeting_uuid": "",
      "host_id": "",
      "ai_companion": {
        "questions": true,
        "summary": true
      }
    }
  }
}

Meeting.invitation_dispatchedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • email (required)

          string, format: email — The email address of the user who received the meeting invitation. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • participant_user_id (required)

          string — The user ID of the user who received the meeting invitation.

      • topic (required)

        string — The meeting's topic.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string — The email address of the user who sent the meeting invitation.

    • operator_id (required)

      string — The user ID of the user who sent the meeting invitation.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "participant": {
        "participant_user_id": "",
        "email": ""
      }
    }
  }
}

Webinar.endedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who ended the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • end_time

        string, format: date-time — The date and time when the webinar ended.

      • practice_session

        boolean — whether this webinar is a practice session.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "end_time": "",
      "duration": 1,
      "practice_session": true
    }
  }
}

Meeting.converted_to_webinarEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who converted the meeting into a webinar.

    • object (required)

      object — Information about the webinar converted from a meeting.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A scheduled webinar. * `6` - A recurring webinar with no fixed time. * `9` - A recurring webinar with fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID).

      • duration

        integer — The scheduled webinar's duration, in minutes. Returned only when the webinar type is `5`, ascheduled webinar.

      • start_time

        string, format: date-time — The scheduled webinar's start time. Returned only when the webinar type is `5`, a scheduled webinar.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The webinar's topic.

    • operator (required)

      string — The email address of the user who converted the meeting into a webinar.

    • operator_id

      string — The user ID of the user who converted the meeting into a webinar.

  • event_ts

    integer, format: int64 — A timestamp when the event occurred.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Webinar.recoveredEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who recovered the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who recovered the webinar.

    • operator_id (required)

      string — The user ID of the user who recovered the webinar.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all webinars. * `single` — The change was applied only to a single webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ]
    }
  }
}

Webinar.participant_role_changedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant.

        • date_time (required)

          string, format: date-time — The time when the participant changed the [role](https://support.zoom.us/hc/en-us/articles/360000252726-Roles-in-a-Zoom-Webinar).

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the webinar by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • new_role (required)

          string, possible values: "host", "co-host", "attendee" — The participant's new role. * `host` — Host. * `co-host` — Co-host. * `attendee` — Attendee.

        • old_role (required)

          string, possible values: "host", "co-host", "attendee" — The participant's previous role. * `host` — Host. * `co-host` — Co-host. * `attendee` — Attendee.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • user_name (required)

          string — The participant's display name.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users

        • participant_uuid

          string — The participant's UUID for this specific webinar. This value is assigned to a participant when they join a webinar, and is only valid for the duration of that webinar.

        • registrant_id

          string — The participant's registrant ID. (A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026)).

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "participant_uuid": "",
        "date_time": "",
        "old_role": "host",
        "new_role": "host"
      }
    }
  }
}

Meeting.participant_jbh_waiting_leftEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (personal audio conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "id": "",
        "user_name": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

User.tsp_createdEvent

  • Type:object
  • event

    string — The name of the event.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

  • payload

    object

    • account_id

      string — The account ID of the user who created the TSP.

    • object

      object — Information about the created user.

      • email

        string, format: email — The user's email address.

      • id

        string — The user's ID.

      • tsp_credentials

        object — Information about the user's TSP credentials.

        • conference_code

          string — The TSP conference code.

        • dial_in_numbers

          array — Information about the TSP dial-in numbers.

          Items:
          • code

            string — The country code.

          • country_label

            string, possible values: "US_TSP_TB", "EU_TSP_TB" — The TSP country label: * `US_TSP_TB` * `EU_TSP_TB`

          • number

            string — The dial-in phone number.

          • type

            string, possible values: "toll", "tollfree", "media_link" — The type of the phone number: * `toll` — Toll number. * `tollfree` — Toll free number. * `media_link` — Media link.

        • leader_pin

          string — The leader PIN.

        • tsp_bridge

          string — The TSP bridge zone.

    • operator

      string, format: email — The email address of the user who created the TSP.

    • operator_id

      string — The user ID of the user who created the TSP.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "email": "",
      "tsp_credentials": {
        "conference_code": "",
        "leader_pin": "",
        "tsp_bridge": "",
        "dial_in_numbers": [
          {
            "code": "",
            "number": "",
            "type": "toll",
            "country_label": "US_TSP_TB"
          }
        ]
      }
    }
  }
}

Meeting.breakout_room_sharing_endedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The main meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • breakout_room_uuid (required)

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

      • duration (required)

        integer — The main scheduled meeting duration.

      • host_id (required)

        string — The main meeting host's user ID.

      • id (required)

        string — The main meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • sharing_details (required)

          object — Information about the meeting's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's airplay. * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty string value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty string value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty string value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • parent_user_id

          string — The participant's main meeting user ID (`user_id`).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The main meeting's start time.

      • topic (required)

        string — The main meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The main meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The main meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The main meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "breakout_room_uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "parent_user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Meeting.updatedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who updated the meeting.

    • object (required)

      object — Information about the meeting.

      • id (required)

        integer, format: int64 — The meeting ID.

      • agenda

        string — The meeting's agenda.

      • duration

        integer — The scheduled meeting duration.

      • host_id

        string — The meeting host's user ID.

      • join_url

        string — The URL participants use to join the meeting.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

        • duration

          integer — The scheduled meeting duration.

        • status

          string, possible values: "available", "deleted" — The meeting occurrence status. * `available` * `deleted`

      • password

        string — The password required to join the meeting.

      • recurrence

        object — Information about [recurring meetings](https://developers.zoom.us/docs/api/rest/other-references/recurrence-object-definitions/).

        • end_date_time

          string, format: date-time — The recurring meeting's final ending date and time before it is canceled, in UTC format.

        • end_times

          integer — The number of times the recurring meeting will occur before it is canceled.

        • monthly_day

          integer — The day of the month when the recurring monthly meeting occurs. The value ranges from 1 to 31.

        • monthly_week

          integer, possible values: -1, 1, 2, 3, 4 — The week of the month when a recurring meeting occurs. * `-1` - The last week of the month. * `1` - The first week. * `2` - The second week. * `3` - The third week. * `4` - The fourth week.

        • monthly_week_day

          integer, possible values: 1, 2, 3, 4, 5, 6, 7 — The day of the week when the recurring monthly meeting is scheduled. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

        • repeat_interval

          integer — The meeting's repeat interval. * For daily intervals, a max of `99` days. * For a weekly interval, a max of `50` weeks. * For monthly intervals, a max of `10` months.

        • type

          integer, possible values: 1, 2, 3 — The type of recurring meeting. * `1` - Daily. * `2` - Weekly. * `3` - Monthly.

        • weekly_days

          string, possible values: "1", "2", "3", "4", "5", "6", "7" — A comma-separated list of the days of the week when the recurring weekly meeting occurs. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

      • recurrence_event_id

        string — The unique identifier of the recurring event that the occurrences belong to. Updating a recurring meeting with **This and following events** splits it into two recurring events, each with its own `recurrence_event_id`. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

      • registration_url

        string — The meeting's registration URL.

      • settings

        object — Information about the updated meeting settings. This **only** returns updated meeting settings.

        • allow_host_control_participant_mute_state

          boolean — Whether to allow host and co-hosts to fully control the mute state of participants.

        • alternative_hosts

          string — A semicolon-separated list of the meeting's alternative hosts' email addresses or IDs.

        • approval_type

          integer, possible values: 0, 1, 2 — The [approval type](https://support.zoom.us/hc/en-us/articles/211579443-Scheduling-a-meeting-with-registration) for meeting registrants. * `0` - Automatically approve registrants. * `1` - Manually approve registrants. * `2` - Meeting registration not required.

        • audio

          string, possible values: "telephony", "voip", "both" — The available audio options for participants joining the meeting. * `telephony` - Telephony only. * `voip` - VoIP only. * `both` - Both Telephony and VoIP.

        • authentication_domains

          string — A list of the allowed authenticated domains.

        • authentication_name

          string — The authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472).

        • authentication_option

          string — The [authentication](https://support.zoom.us/hc/en-us/articles/4406604615693) option ID value.

        • auto_recording

          string, possible values: "local", "cloud", "none" — The [automatic recording](https://support.zoom.us/hc/en-us/articles/202921119-Automatic-Recording) settings for the meeting. * `local` - Record and save to the local device. * `cloud` - Record and save to the cloud. * `none` - Automatic recording disabled.

        • auto_start_ai_companion_questions

          boolean — Whether to automatically start AI Companion questions.

        • auto_start_meeting_summary

          boolean — Whether to automatically start a meeting summary.

        • continuous_meeting_chat

          object — Information about the **Enable continuous meeting chat** feature.

          • auto_add_invited_external_users

            boolean — Whether to enable the **Automatically add invited external users** setting.

          • auto_add_meeting_participants

            boolean — Whether to enable the **Automatically add meeting participants** setting.

          • channel_id

            string — The channel's ID.

          • enable

            boolean — Whether to enable the **Enable continuous meeting chat** setting.

        • disable_recording_control

          string, possible values: "none", "all", default: "none" — Which recording options are unavailable to the in-meeting host through the Zoom client. * `none` - All recording options are available to the host. This is the default. * `all` - All recording options are unavailable to the host. Not supported when `auto_recording` is set to `local`.

        • email_in_attendee_report

          boolean — Whether to include authenticated guest's email addresses in meetings' attendee reports.

        • enforce_login

          boolean — Whether to only allow signed in users to join the meeting.

        • enforce_login_domains

          string — A list of the domains allowed to join the meeting.

        • host_video

          boolean — Whether to start the meeting with the host's video on.

        • jbh_time

          integer, possible values: 0, 5, 10 — If the value of the `join_before_host` field is `true`, this field indicates the time limits when a participant can join a meeting before the meeting's host. * `0` - Allow the participant to join the meeting at any time. * `5` - Allow the participant to join 5 minutes before the meeting's start time. * `10` - Allow the participant to join 10 minutes before the meeting's start time.

        • join_before_host

          boolean — Whether to [allow participants to join the meeting before host arrives](https://support.zoom.us/hc/en-us/articles/202828525-Allow-participants-to-join-before-host).

        • language_interpretation

          object — The meeting's [language interpretation settings](https://support.zoom.us/hc/en-us/articles/360034919791-Language-interpretation-in-meetings-and-webinars). Make sure to add the language in the web portal in order to use it in the API. See link for details. **Note:** This feature is only available for certain Meeting add-on, Education, and Business and higher plans. If this feature is not enabled on the host's account, this setting will **not** be applied to the meeting.

          • enable (required)

            boolean — Whether to enable [language interpretation](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0064768) for the meeting.

          • interpreters

            array — Information about the meeting's language interpreters.

            Items:
            • email

              string, format: email — The interpreter's email address.

            • interpreter_languages

              string — A comma-separated list of the interpreter's languages. The string must contain exactly two languages. To get this value, use the `language_interpretation` object's `languages` and `custom_languages` values in the [**Get user settings**](https://developers.zoom.us/docs/api/users/#tag/users/GET/users/{userId}/settings) API response. **languages**: System-supported languages include `English`, `Chinese`, `Japanese`, `German`, `French`, `Russian`, `Portuguese`, `Spanish`, and `Korean`. **custom_languages**: User-defined languages added by the user. For example, an interpreter translating between English and French should use `English,French`.

            • languages

              string — A comma-separated list of the interpreter's languages. The string must contain exactly two country IDs. Only system-supported languages are allowed: `US` (English), `CN` (Chinese), `JP` (Japanese), `DE` (German), `FR` (French), `RU` (Russian), `PT` (Portuguese), `ES` (Spanish), and `KR` (Korean). For example, to set an interpreter translating from English to Chinese, use `US,CN`.

        • meeting_authentication

          boolean — Whether only authenticated users can join the meeting.

        • meeting_invitees

          array — A list of the meeting's invitees.

          Items:
          • email

            string, format: email — The invitee's email address.

        • mute_upon_entry

          boolean — Whether participants are muted upon entry.

        • participant_video

          boolean — Whether to turn a participant's video on when they join the meeting. Participants can change this setting during the meeting.

        • prevent_screen_capture

          boolean — Whether to prevent participants from capturing Zoom meeting windows, which may include shared meeting content and chat messages. If not provided, the default value will be based on the user's setting.

        • registration_type

          integer, possible values: 1, 2, 3 — The meeting registration setting for recurring meetings. * `1` - Attendees register once and can attend any of the meeting occurrences. * `2` - Attendees must register for each occurrence to attend. * `3` - Attendees register once and can select one or more occurrences to attend.

        • sign_language_interpretation

          object — The meeting's [sign language interpretation settings](https://support.zoom.us/hc/en-us/articles/9644962487309-Using-sign-language-interpretation-in-a-meeting-or-webinar). Make sure to add the language in the web portal in order to use it in the API. See link for details. **Note:** If this feature is not enabled on the host's account, this setting will **not** be applied to the meeting.

          • enable (required)

            boolean — Whether to enable [sign language interpretation](https://support.zoom.us/hc/en-us/articles/9644962487309-Using-sign-language-interpretation-in-a-meeting-or-webinar) for the meeting.

          • interpreters

            array — Information about the meeting's sign language interpreters.

            Items:
            • email

              string, format: email — The interpreter's email address.

            • sign_language

              string — The interpreter's sign language. To get this value, use the `sign_language_interpretation` object's `languages` and `custom_languages` values in the [**Get user settings**](/api-reference/zoom-api/methods#operation/userSettings) API response.

        • summary_template_id

          string — The summary template ID used to generate a meeting summary based on a predefined template. To get available summary templates, use the **Get user summary templates** API. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.com/hc/en).

        • use_pmi

          boolean — Whether to use a [Personal Meeting ID (PMI)](https://support.zoom.us/hc/en-us/articles/203276937-Using-Personal-Meeting-ID-PMI) instead of an auto-generated meeting ID. PMIs are only available for scheduled meetings, instant meetings, and recurring meetings with no fixed time.

        • waiting_room

          boolean — Whether to enable a [waiting room](https://support.zoom.us/hc/en-us/articles/115000332726-Waiting-Room).

        • watermark

          boolean — Whether to enable the [watermark](https://support.zoom.us/hc/en-us/articles/209605273-Adding-a-Watermark) feature.

        • who_can_ask_questions

          integer, possible values: 1, 2, 3, 4, 5 — Defines who can ask questions about this meeting's transcript. This field is applicable only when `auto_start_ai_companion_questions` is set to `true`. * `1` - All participants and invitees. * `2` - All participants only from when they join. * `3` - Only meeting host. * `4` - Participants and invitees in our organization. * `5` - Participants in our organization only from when they join.

        • who_will_receive_summary

          integer, possible values: 1, 2, 3, 4 — Defines who will receive a summary after this meeting. This field is applicable only when `auto_start_meeting_summary` is set to `true`. * `1` - Only meeting host. * `2` - Only meeting host, co-hosts, and alternative hosts. * `3` - Only meeting host and meeting invitees in our organization. * `4` - All meeting invitees including those outside of our organization.

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting's topic.

      • tracking_fields

        array — Information about the meeting's [tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields).

        Items:
        • field

          string — The tracking field's label.

        • value

          string — The tracking field's value.

      • type

        integer, possible values: 0, 1, 2, 3, 4, 7, 8, 10 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time. * `10` - A screen share only meeting.

      • uuid

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • old_object (required)

      object

    • operator (required)

      string, format: email — The email address of the user who updated the meeting.

    • operator_id (required)

      string — The user ID of the user who updated the meeting.

    • time_stamp (required)

      integer, format: int64 — The meeting's update timestamp, in milliseconds.

    • scope

      string, possible values: "single", "all", "range" — The type of operation performed on a recurring meeting. * `all` - The change was applied to all occurrences. * `single` - The change was applied to a single occurrence. * `range` - The change was applied to a range of occurrences while the other occurrences are unchanged. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "scope": "single",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "join_url": "",
      "password": "",
      "agenda": "",
      "registration_url": "",
      "recurrence_event_id": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "duration": 1,
          "status": "available",
          "additionalProperty": "anything"
        }
      ],
      "settings": {
        "host_video": true,
        "participant_video": true,
        "join_before_host": true,
        "jbh_time": 0,
        "mute_upon_entry": true,
        "audio": "telephony",
        "auto_recording": "local",
        "disable_recording_control": "none",
        "use_pmi": true,
        "waiting_room": true,
        "watermark": true,
        "enforce_login": true,
        "enforce_login_domains": "",
        "approval_type": 0,
        "registration_type": 1,
        "alternative_hosts": "",
        "meeting_authentication": true,
        "authentication_option": "",
        "authentication_name": "",
        "authentication_domains": "",
        "meeting_invitees": [
          {
            "email": ""
          }
        ],
        "language_interpretation": {
          "enable": true,
          "interpreters": [
            {
              "email": "",
              "interpreter_languages": ""
            }
          ]
        },
        "sign_language_interpretation": {
          "enable": true,
          "interpreters": [
            {
              "email": "",
              "sign_language": ""
            }
          ]
        },
        "continuous_meeting_chat": {
          "enable": true,
          "channel_id": ""
        },
        "auto_start_meeting_summary": true,
        "who_will_receive_summary": 1,
        "auto_start_ai_companion_questions": true,
        "who_can_ask_questions": 1,
        "summary_template_id": "",
        "allow_host_control_participant_mute_state": true,
        "email_in_attendee_report": true,
        "prevent_screen_capture": true,
        "additionalProperty": "anything"
      },
      "recurrence": {
        "type": 1,
        "repeat_interval": 1,
        "weekly_days": "1",
        "monthly_day": 1,
        "monthly_week_day": 1,
        "end_times": 1,
        "end_date_time": "",
        "monthly_week": -1,
        "additionalProperty": "anything"
      },
      "tracking_fields": [
        {
          "field": "",
          "value": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "time_stamp": 1,
    "old_object": null,
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.ai_companion_stoppedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that hosted the meeting.

    • object (required)

      object — The meeting where the AI Companion was stopped.

      • ai_companion (required)

        object — The AI Companion features that were stopped.

        • questions

          boolean — Whether the AI Companion's meeting questions feature was stopped.

        • summary

          boolean — Whether the AI Companion's meeting summary feature was stopped.

      • host_id (required)

        string — The ID of the user set as the host of the meeting.

      • meeting_number (required)

        integer, format: int64 — The meeting ID.

      • meeting_uuid (required)

        string — The meeting's universally unique identifier (UUID).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_number": 1,
      "meeting_uuid": "",
      "host_id": "",
      "ai_companion": {
        "questions": true,
        "summary": true
      }
    }
  }
}

Meeting.registration_deniedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting registration.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • registrant (required)

        object — Information about the meeting registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • last_name

          string — The registrant's last name.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who denied the meeting registration.

    • operator_id (required)

      string — The user ID of the user who denied the meeting registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Webinar.registration_deniedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar registration.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer — The webinar ID.

      • registrant (required)

        object — Information about the webinar registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • last_name

          string — The registrant's last name.

        • tracking_source

          object — Information about the source tracking. See [Creating webinar registration tracking links](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-webinar-registration-tracking-links) for details.

          • id (required)

            string — Unique Identifier of the tracking source.

          • source_name (required)

            string — Name of the source (platform) where the registration URL was shared.

          • tracking_url (required)

            string — Tracking URL. The URL that was shared for the registration.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who denied the webinar registration.

    • operator_id (required)

      string — The user ID of the user who denied the webinar registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "tracking_source": {
          "id": "",
          "source_name": "",
          "tracking_url": ""
        }
      }
    }
  }
}

Meeting.registration_approvedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting registration.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • registrant (required)

        object — Information about the meeting registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • join_url (required)

          string — The URL to join the meeting.

        • last_name

          string — The registrant's last name.

        • participant_pin_code

          integer, format: int64 — The participant PIN code is used to authenticate audio participants before they join the meeting.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who approved the meeting registration.

    • operator_id (required)

      string — The user ID of the user who approved the meeting registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "join_url": "",
        "participant_pin_code": 1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Webinar.participant_leftEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This field is returned if the participant joined the webinar by logging into their Zoom account. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • leave_reason

          string — The reason why the participant left the webinar, where `$name` is the participant's username: * `$name left the meeting.` * `$name got disconnected from the meeting.` * `Host ended the meeting.` * `Host closed the meeting.` * `Host started a new meeting.` * `Network connection error.` * `Host did not join.` * `Exceeded free meeting minutes limit.` * `Removed by host.` * `Unknown reason.` * `Leave waiting room.` * `Removed by host from waiting room.`

        • leave_time

          string, format: date-time — The time when the participant left the webinar.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific webinar. This value is assigned to a participant when they join a webinar, and is only valid for the duration of that webinar.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. (A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026)).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "leave_time": "",
        "leave_reason": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "participant_uuid": "",
        "customer_key": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Recording.batch_deletedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that completed the meeting or webinar recording.

    • operator (required)

      string, format: email — The email address of the user who deleted the recording.

    • operator_id (required)

      string — The user ID of the user who deleted the recording.

    • object

      object — Information about the meeting or webinar recording.

      • meetings (required)

        array

        Items:
        • meeting_uuid

          string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

        • recording_file_ids

          array — The recording file's unique ID. If the current field value is NULL, it means to delete the whole Meeting Recording files.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meetings": [
        {
          "meeting_uuid": "",
          "recording_file_ids": []
        }
      ]
    }
  }
}

Webinar.alertEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • issues (required)

        array — A list of issues that occurred during the webinar: * `Unstable audio quality` * `Unstable video quality` * `Unstable screen share quality` * `High CPU occupation` * `Call Reconnection`

        Items:

        string, possible values: "Unstable audio quality", "Unstable video quality", "Unstable screen share quality", "High CPU occupation", "Call Reconnection"

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "issues": [
        "Unstable audio quality"
      ]
    }
  }
}

Webinar.chat_message_sentEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the chat message.

      • chat_message (required)

        object — Information about the chat message.

        • date_time (required)

          string, format: date-time — The date and time when the chat message was sent.

        • message_content (required)

          string — The content of the chat message.

        • message_id (required)

          string — The chat message's UUID.

        • recipient_context (required)

          string, possible values: "webinar", "breakout_room", "waiting_room" — The context where the recipient is located when the message is delivered. * `webinar` - The recipient is in the webinar. * `breakout_room` - The recipient is in a breakout room. * `waiting_room` - The recipient is in the waiting room.

        • recipient_type (required)

          string, possible values: "everyone", "host", "guest", "group", "backstage", "host_group" — The type of message recipient. * `everyone` - All webinar participants. * `host` - The webinar host. * `guest` - A webinar guest. * `group` - A group chat. * `backstage` - The webinar backstage. * `host_group` - The webinar host and all panelists.

        • sender_context (required)

          string, possible values: "webinar", "breakout_room", "waiting_room" — The context where the sender is located when the message is generated. * `webinar` - The sender is in a webinar. * `breakout_room` - The sender is in a breakout room. * `waiting_room` - The sender is in the waiting room.

        • sender_name (required)

          string — The message sender's name.

        • sender_session_id (required)

          string — The message sender's session ID.

        • sender_type (required)

          string, possible values: "host", "alternative-host", "panelist", "guest" — The type of user that sent the message. * `host` - The webinar host. * `alternative-host` - The webinar's [alternative host](https://support.zoom.us/hc/en-us/articles/208220166). * `panelist` - A webinar [panelist](https://support.zoom.us/hc/en-us/articles/360000252726#:~:text=Panelists%20are%20full,a%20webinar%20host.). * `guest` - A webinar guest.

        • file_ids

          array — The live webinar chat file's UUID, in base64-encoded format.

          Items:

          string

        • recipient_email

          string, format: email — The message recipient's email address. Optional only included if it is a private message.

        • recipient_name

          string — The message recipient's name.

        • recipient_session_id

          string — The message recipient's ID.

        • sender_email

          string, format: email — The message sender's session email address.

      • id (required)

        integer, format: int64 — The webinar ID.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • breakout_room_uuid

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "breakout_room_uuid": "",
      "chat_message": {
        "date_time": "",
        "sender_session_id": "",
        "sender_name": "",
        "sender_email": "",
        "sender_type": "host",
        "sender_context": "webinar",
        "recipient_session_id": "",
        "recipient_name": "",
        "recipient_email": "",
        "recipient_type": "everyone",
        "recipient_context": "webinar",
        "message_id": "",
        "message_content": "",
        "file_ids": [
          ""
        ]
      }
    }
  }
}

Webinar.chat_message_file_sentEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the webinar.

    • object (required)

      object — Information about the chat message file.

      • chat_message_file (required)

        object — Information about the chat message file.

        • date_time (required)

          string, format: date-time — The date and time when the chat message was sent.

        • download_url (required)

          string — The live webinar chat file's download URL.

        • file_id (required)

          string — The live webinar chat file's UUID, in base64-encoded format.

        • file_name (required)

          string — The live webinar chat file's name.

        • file_size (required)

          integer — The live webinar chat file's size, in bytes.

        • file_type (required)

          string — The live meeting chat file's type.

        • message_id (required)

          string — The chat message's UUID.

        • recipient_context (required)

          string, possible values: "webinar", "breakout_room" — The context where the recipient is located when the message is delivered. * `webinar` - The recipient is in the webinar. * `breakout_room` - The sender is in a breakout room.

        • recipient_type (required)

          string, possible values: "everyone", "host", "guest", "group", "backstage", "host_group" — The type of message recipient. * `everyone` - All webinar participants. * `host` - The webinar host. * `guest` - A webinar guest. * `group` - A group chat. * `backstage` - The webinar backstage. * `host_group` - The webinar host and all panelists.

        • sender_context (required)

          string, possible values: "webinar", "breakout_room" — The context where the sender is located when the message is generated. * `webinar` - The sender is in a webinar. * `breakout_room` - The sender is in a breakout room.

        • sender_name (required)

          string — The message sender's name.

        • sender_session_id (required)

          string — The message sender's session ID.

        • sender_type (required)

          string, possible values: "host", "guest" — The type of user that sent the message. * `host` - The meeting host. * `guest` - A meeting guest.

        • recipient_email

          string, format: email — The message recipient's email address. Optional only included if it is a private message.

        • recipient_name

          string — The message recipient's name.

        • recipient_session_id

          string — The message recipient's session ID.

        • sender_email

          string, format: email — The message sender's email address.

      • webinar_id (required)

        integer, format: int64 — The webinar ID.

      • webinar_uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • breakout_room_uuid

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "webinar_id": 1,
      "webinar_uuid": "",
      "breakout_room_uuid": "",
      "chat_message_file": {
        "date_time": "",
        "sender_session_id": "",
        "sender_name": "",
        "sender_email": "",
        "sender_type": "host",
        "sender_context": "webinar",
        "recipient_session_id": "",
        "recipient_name": "",
        "recipient_email": "",
        "recipient_type": "everyone",
        "recipient_context": "webinar",
        "message_id": "",
        "file_id": "",
        "file_name": "",
        "file_size": 1,
        "file_type": "",
        "download_url": ""
      }
    }
  }
}

Meeting.endedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • end_time (required)

        string, format: date-time — The date and time at which the meeting ended.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "end_time": ""
    }
  }
}

Meeting.participant_joined_breakout_roomEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the main meeting.

    • object (required)

      object — Information about the meeting.

      • breakout_room_uuid (required)

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

      • duration (required)

        integer — The main scheduled meeting duration.

      • host_id (required)

        string — The main meeting host's user ID.

      • id (required)

        string — The main meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom.

        • join_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's unique ID. * If meeting registration was **not** required and the participant joined by logging into Zoom, this value is the same as the `userId` field used in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API. * If registration was required for the meeting and the participant joined the meeting by logging into Zoom, this value is the same as the `id` value in the [**List meeting registrants**](/api-reference/zoom-api/methods#operation/meetingRegistrants) API response. * If participant joins without logging into Zoom, this returns an empty value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • parent_user_id

          string — The participant's main meeting user ID (`user_id`).

        • participant_user_id

          string — The participant's unique ID. * If meeting registration was **not** required and the participant joined by logging into Zoom, this value is the same as the `userId` field used in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API. * If registration was required for the meeting and the participant joined the meeting by logging into Zoom, this value is the same as the `id` value in the [**List meeting registrants**](/api-reference/zoom-api/methods#operation/meetingRegistrants) API response. * If participant joins without logging into Zoom, this returns an empty value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • start_time (required)

        string — The main meeting's start time.

      • topic (required)

        string — The main meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The main meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The main meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The main meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "breakout_room_uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "parent_user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "phone_number": "8615250064084",
        "customer_key": ""
      }
    }
  }
}

Meeting.participant_left_waiting_roomEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • date_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/docs/api/rest/reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/docs/api/rest/reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN-

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "date_time": "",
        "email": "",
        "phone_number": "8615250064084",
        "participant_user_id": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Meeting.startedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1
    }
  }
}

Meeting.registration_cancelledEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting registration.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • registrant (required)

        object — Information about the meeting registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • last_name

          string — The registrant's last name.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who canceled the meeting registration.

    • operator_id

      string — The user ID of the user who canceled the meeting registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.summary_completedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • next_steps (required)

        array — The next steps.

        Items:

        string — The next step.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_details (required)

        array — The summary content details.

        Items:
        • label (required)

          string — The summary label.

        • summary (required)

          string — The summary content.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

      • summary_content

        string — The complete meeting summary in Markdown format. This unified field is used for all summaries. For compatibility, the legacy fields `summary_overview`, `summary_details`, `next_steps` are still returned, but are deprecated and will not be supported in the future.

      • summary_doc_url

        string — The URL to view the full summary document in Zoom Docs.

      • summary_overview

        string — The summary overview.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "summary_content": "",
      "summary_doc_url": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.participant_leftEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • leave_time (required)

          string, format: date-time — The time when the participant left the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • leave_reason

          string — The reason why the participant left the meeting, where `$name` is the participant's username: * `$name left the meeting.` * `$name got disconnected from the meeting.` * `Host ended the meeting.` * `Host closed the meeting.` * `Host started a new meeting.` * `Network connection error.` * `Host did not join.` * `Exceeded free meeting minutes limit.` * `Removed by host.` * `Unknown reason.` * `Leave waiting room.` * `Removed by host from waiting room.`

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN

        • registrant_id

          string — The participant's registrant ID. (A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026)).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "leave_time": "",
        "leave_reason": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "customer_key": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Meeting.participant_phone_callout_rejectedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's name to display in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Meeting.participant_phone_callout_acceptedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's name to display in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Webinar.sharing_startedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant.

        • sharing_details (required)

          object — Information about the webinar's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's [AirPlay (Apple screen mirroring)](https://support.zoom.us/hc/en-us/articles/204726885-Sharing-screen-using-Apple-screen-mirroring-AirPlay-). * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty string value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty string value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty string value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value.

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The webinar's start time.

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Meeting.registration_createdEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting registration.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • registrant (required)

        object — Information about the meeting registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • join_url (required)

          string — The URL to join the meeting.

        • status (required)

          string, possible values: "approved", "pending" — The registrant's registration approval status: * `approve` — Approved registrant. * `pending` — Registration approval pending.

        • address

          string — The registrant's address.

        • city

          string — The registrant's city.

        • comments

          string — The registrant's questions and comments.

        • country

          string — The registrant's two-letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).

        • custom_questions

          array — Information about custom questions.

          Items:
          Any of:
          • title (required)

            string — The title of the custom question.

          • value (required)

            string — The custom question's response value. This has a limit of 128 characters.

        • industry

          string — The registrant's industry.

        • job_title

          string — The registrant's job title.

        • last_name

          string — The registrant's last name.

        • no_of_employees

          string, possible values: "", "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" — The registrant's number of employees: * `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` * An empty string. — No employee number set.

        • org

          string — The registrant's organization.

        • participant_pin_code

          integer, format: int64 — The participant PIN code is used to authenticate audio participants before they join the meeting.

        • phone

          string — The registrant's phone number.

        • purchasing_time_frame

          string, possible values: "", "Within a month", "1-3 months", "4-6 months", "More than 6 months", "No timeframe" — The registrant's purchasing time frame: * `Within a month` * `1-3 months` * `4-6 months` * `More than 6 months` * `No timeframe` * An empty string. — No purchasing time frame set.

        • role_in_purchase_process

          string, possible values: "", "Decision Maker", "Evaluator/Recommender", "Influencer", "Not involved" — The registrant's role in the purchase process: * `Decision Maker` * `Evaluator/Recommender` * `Influencer` * `Not involved` * An empty string. — No role set.

        • state

          string — The registrant's state or province.

        • zip

          string — The registrant's ZIP or postal code.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "address": "",
        "city": "",
        "country": "",
        "zip": "",
        "state": "",
        "phone": "",
        "industry": "",
        "org": "",
        "job_title": "",
        "purchasing_time_frame": "",
        "role_in_purchase_process": "",
        "no_of_employees": "",
        "comments": "",
        "custom_questions": [
          {
            "title": "",
            "value": "",
            "additionalProperty": "anything"
          }
        ],
        "status": "approved",
        "join_url": "",
        "participant_pin_code": 1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Recording.recoveredEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that completed the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • account_id (required)

        string — The account ID of the user that completed the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_count (required)

        integer — The number of recovered recording files.

      • recording_files (required)

        array — Information about the recovered recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}`. **Note:** We recommend that you send the access_token as a Bearer token in the Authorization header, for example: "Authorization": "Bearer <ACCESS_TOKEN>”.

        • file_extension (required)

          string, possible values: "MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG" — The file extension type of the recording file.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string, possible values: "MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "TB", "CC", "CHAT_MESSAGE", "SUMMARY", "TIMELINE" — The file type of the recording file.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time at which recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "audio_interpretation", "summary", "summary_next_steps", "summary_smart_chapters", "sign_interpretation", "production_sutdio" — The recording file type. * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` * `audio_interpretation` * `summary` * `summary_next_steps` * `summary_smart_chapters` *`sign_interpretation` *`production_studio` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • share_url (required)

        string — The URL at which approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • participant_audio_files

        array — Information about the recovered participants' recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}` **Note:** This field does **not** return for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). Instead, this API will return the `file_path` field.

        • file_extension (required)

          string — The recording file's extension.

        • file_name (required)

          string — The recording file's name.

        • file_size (required)

          integer — The size of the recording file, in bytes.

        • file_type (required)

          string — The recording file's format.

        • id (required)

          string — The recording file's unique ID.

        • recording_end (required)

          string, format: date-time — The recording file's end time.

        • recording_start (required)

          string, format: date-time — The recording file's start time.

        • status (required)

          string, possible values: "completed", "processing" — The participant audio file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_path

          string — The file path to the On-Premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who recovered the recording.

    • operator_id (required)

      string — The user ID of the user who recovered the recording.

  • download_token

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. You can either include the `download_token` as a query parameter or pass it as a Bearer token in the Authorization header of your HTTP request: **Using an Authorization header (Recommended)** ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ``` **Using a query parameter** ``` {download_url}/?access_token={download_token} ``` For example: `https://zoom.us/recording/download/123456?access_token=abcdefgh`

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "account_id": "",
      "timezone": "",
      "duration": 1,
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "MP4",
          "file_size": 1,
          "file_extension": "MP4",
          "file_name": "",
          "play_url": "",
          "download_url": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ],
      "participant_audio_files": [
        {
          "id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_name": "",
          "file_size": 1,
          "file_extension": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed"
        }
      ]
    }
  }
}

Meeting.sharing_endedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • sharing_details (required)

          object — Information about the meeting's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's [AirPlay (Apple screen mirroring)](https://support.zoom.us/hc/en-us/articles/204726885-Sharing-screen-using-Apple-screen-mirroring-AirPlay-). * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty (`””`) value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty (`””`) value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty (`””`) value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Recording.cloud_storage_usage_updatedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the host who recorded the webinar.

    • object (required)

      object — Information about the recording plan.

      • free_storage (required)

        string — Recording free storage.

      • plan_storage (required)

        string — Recording plan storage.

      • plan_type (required)

        string — Recording plan type.

      • storage_exceed (required)

        string — Amount of storage exceed.

      • storage_used (required)

        string — Amount of storage used.

      • storage_used_percentage (required)

        number — The percentage of storage used.

      • max_exceed_date

        string — The maximum date that overage storage.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "free_storage": "2 GB",
      "plan_storage": "10 GB",
      "plan_type": "cmr_monthly_commitment_40",
      "storage_used": "1 GB",
      "storage_used_percentage": 85,
      "storage_exceed": "0",
      "max_exceed_date": "2023-03-01"
    }
  }
}

Recording.transcript_completedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that hosted the meeting or the webinar.

    • object (required)

      object — Information about the webinar or meeting recording.

      • account_id (required)

        string — The account ID of the user that ended the meeting and completed the recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_email (required)

        string, format: email — The host's email address.

      • host_id (required)

        string — The ID of the user set as the host of the archived meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the meeting (`meetingId`) or the webinar (`webinarId`).

      • recording_count (required)

        integer — The number of completed recording files.

      • recording_files (required)

        array — Information about the completed recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}` **Note:** This field does **not** return for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). Instead, this API will return the `file_path` field.

        • file_extension (required)

          string — The recording file's extension.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string — The recording file's type.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time at which recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail" — The type of recording file: * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • file_path

          string — The file path to the On-Premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • share_url (required)

        string — The URL at which approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance. Each meeting or webinar instance generates its own meeting UUID.

      • password

        string — The meeting's password.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

  • download_token

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. You can either include the `download_token` as a query parameter or pass it as a Bearer token in the Authorization header of your HTTP request: **Using an Authorization header (Recommended)** ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ``` **Using a query parameter** ``` {download_url}/?access_token={download_token} ``` For example: `https://zoom.us/recording/download/123456?access_token=abcdefgh`

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "account_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "host_email": "",
      "duration": 1,
      "password": "",
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_size": 1,
          "file_extension": "",
          "file_name": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ]
    }
  }
}

Recording.stoppedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that stopped the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_file (required)

        object — Information about the recording files.

        • recording_end (required)

          string — The date and time at which the recording ended.

        • recording_start (required)

          string — The date and time at which the recording started.

      • start_time (required)

        string — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "recording_file": {
        "recording_start": "",
        "recording_end": ""
      }
    }
  }
}

Recording.batch_trashedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who batch deleted recordings to trash.

    • operation (required)

      string, possible values: "trash_user_recordings", "trash_account_recordings" — The type of batch operation: * `trash_user_recordings` — User recordings trashed. * `trash_account_recordings` — Account recordings trashed.

    • operator (required)

      string, format: email — The email address of the user who batch deleted recordings to trash.

    • operator_id (required)

      string — The user ID of the user who batch deleted recordings to trash.

    • object

      object — Information about the webinar or meeting recording.

      • meeting_uuids (required)

        array

        Items:

        string — A list of the recorded meeting (`meetingId`) or webinar (`webinarId`) UUIDs.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "trash_user_recordings",
    "object": {
      "meeting_uuids": [
        ""
      ]
    }
  }
}

Webinar.startedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who started the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_email (required)

        string, format: email — The meeting host's email address.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "host_email": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1
    }
  }
}

Meeting.chat_message_file_downloadedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • object (required)

      object — Information about the chat message file.

      • chat_message_file (required)

        object — Information about the chat message file.

        • file_id (required)

          string — The live meeting chat file's UUID.

        • file_name (required)

          string — The live meeting chat file's name.

        • file_size (required)

          integer — The live meeting chat file's size, in bytes.

        • file_type (required)

          string — The live meeting chat file's file type.

        • file_owner_id

          string — The user ID of the user who uploaded the team chat file. This value returns blank for external users.

      • host_account_id (required)

        string — The meeting host's account ID. The value will be an empty string if this info is from an external user.

      • id (required)

        integer, format: int64 — The meeting ID.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string, format: email or name — The email address of the user who downloaded the file. This value returns the operator name for external users.

    • account_id

      string — The account ID of the user who downloaded the file. This value returns blank for external users.

    • operator_id

      string — The user ID of the user who downloaded the file. This value returns blank for external users.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_account_id": "",
      "chat_message_file": {
        "file_id": "",
        "file_name": "",
        "file_size": 1,
        "file_type": "",
        "file_owner_id": ""
      }
    }
  }
}

Webinar.sharing_endedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant.

        • sharing_details (required)

          object — Information about the webinar's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's [AirPlay (Apple screen mirroring)](https://support.zoom.us/hc/en-us/articles/204726885-Sharing-screen-using-Apple-screen-mirroring-AirPlay-). * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty string value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty string value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty string if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value.

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The webinar's start time.

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Meeting.summary_trashedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

    • operator (required)

      string — The email address of the user who deleted the meeting summary.

    • operator_id (required)

      string — The user ID of the user who deleted the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.sharing_startedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • sharing_details (required)

          object — Information about the meeting's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [classic whiteboard](https://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). * `desktop` — A user's desktop. * `airplay` — A user's [AirPlay (Apple screen mirroring)](https://support.zoom.us/hc/en-us/articles/204726885-Sharing-screen-using-Apple-screen-mirroring-AirPlay-). * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty (`””`) value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty (`””`) value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty (`””`) value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting.

        • id

          string — The participant's universally unique ID (UUID): * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value.

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Webinar.registration_createdEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar registration.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer — The webinar ID.

      • registrant (required)

        object — Information about the webinar registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • join_url (required)

          string — The URL to join the webinar.

        • status (required)

          string, possible values: "approved", "pending" — The registrant's registration approval status: * `approve` — Approved registrant. * `pending` — Registration approval pending.

        • address

          string — The registrant's address.

        • city

          string — The registrant's city.

        • comments

          string — The registrant's questions and comments.

        • country

          string — The registrant's two-letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).

        • custom_questions

          array — Information about custom questions.

          Items:
          Any of:
          • title (required)

            string — The title of the custom question.

          • value (required)

            string — The custom question's response value. This has a limit of 128 characters.

        • industry

          string — The registrant's industry.

        • job_title

          string — The registrant's job title.

        • last_name

          string — The registrant's last name.

        • no_of_employees

          string, possible values: "", "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" — The registrant's number of employees: * `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`

        • org

          string — The registrant's organization.

        • phone

          string — The registrant's phone number.

        • purchasing_time_frame

          string, possible values: "", "Within a month", "1-3 months", "4-6 months", "More than 6 months", "No timeframe" — The registrant's purchasing time frame: * `Within a month` * `1-3 months` * `4-6 months` * `More than 6 months` * `No timeframe`

        • role_in_purchase_process

          string, possible values: "", "Decision Maker", "Evaluator/Recommender", "Influencer", "Not involved" — The registrant's role in the purchase process: * `Decision Maker` * `Evaluator/Recommender` * `Influencer` * `Not involved`

        • state

          string — The registrant's state or province.

        • tracking_source

          object — Information about the source tracking. See [Creating webinar registration tracking links](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-webinar-registration-tracking-links) for details.

          • id (required)

            string — Unique Identifier of the tracking source.

          • source_name (required)

            string — Name of the source (platform) where the registration URL was shared.

          • tracking_url (required)

            string — Tracking URL. The URL that was shared for the registration.

        • zip

          string — The registrant's ZIP or postal code.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinar with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "address": "",
        "city": "",
        "country": "",
        "zip": "",
        "state": "",
        "phone": "",
        "industry": "",
        "org": "",
        "job_title": "",
        "purchasing_time_frame": "",
        "role_in_purchase_process": "",
        "no_of_employees": "",
        "comments": "",
        "custom_questions": [
          {
            "title": "",
            "value": ""
          }
        ],
        "status": "approved",
        "join_url": "",
        "tracking_source": {
          "id": "",
          "source_name": "",
          "tracking_url": ""
        }
      }
    }
  }
}

Meeting.chat_message_sentEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the chat message.

      • chat_message (required)

        object — Information about the chat message.

        • date_time (required)

          string, format: date-time — The date and time when the chat message was sent.

        • message_content (required)

          string — The chat message's content.

        • message_id (required)

          string — The chat message's UUID.

        • recipient_context (required)

          string, possible values: "meeting", "breakout_room", "waiting_room" — The context where the recipient is located when the message is delivered. * `meeting` - The recipient is in the meeting. * `breakout_room` - The recipient is in a breakout room. * `waiting_room` - The recipient is in the waiting room.

        • recipient_type (required)

          string, possible values: "everyone", "host", "guest", "group", "host_group" — The type of message recipient. * `everyone` - All meeting participants. * `host` - The meeting host. * `guest` - A meeting guest. * `group` - A group chat. * `host_group` - The meeting host and all co-hosts.

        • sender_context (required)

          string, possible values: "meeting", "breakout_room", "waiting_room" — The context where the sender is located when the message is generated. * `meeting` - The sender is in a meeting. * `breakout_room` - The sender is in a breakout room. * `waiting_room` - The sender is in the waiting room.

        • sender_name (required)

          string — The message sender's name.

        • sender_session_id (required)

          string — The message sender's session ID.

        • sender_type (required)

          string, possible values: "host", "guest" — The type of user that sent the message: * `host` — The meeting host. * `guest` — A meeting guest.

        • file_ids

          array — The live webinar chat file's UUID, in base64-encoded format.

          Items:

          string

        • recipient_email

          string, format: email — The message recipient's email address. Optional only included if it is a private message.

        • recipient_name

          string — The message recipient's name.

        • recipient_session_id

          string — The message recipient's session ID.

        • sender_email

          string, format: email — The message sender's email address.

      • id (required)

        integer, format: int64 — The meeting ID.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • breakout_room_uuid

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "breakout_room_uuid": "",
      "chat_message": {
        "date_time": "",
        "sender_session_id": "",
        "sender_name": "",
        "sender_email": "",
        "sender_type": "host",
        "sender_context": "meeting",
        "recipient_session_id": "",
        "recipient_name": "",
        "recipient_email": "",
        "recipient_type": "everyone",
        "recipient_context": "meeting",
        "message_id": "",
        "message_content": "",
        "file_ids": [
          ""
        ]
      }
    }
  }
}

Meeting.invitation_rejectedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • email (required)

          string, format: email — The email address of the user who received the meeting invitation. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • participant_user_id (required)

          string — The user ID of the user who received the meeting invitation.

      • topic (required)

        string — The meeting's topic.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string — The email address of the user who rejected the meeting.

    • operator_id (required)

      string — The user ID of the user who rejected the meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "participant": {
        "participant_user_id": "",
        "email": ""
      }
    }
  }
}

Meeting.participant_role_changedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • participant (required)

        object — Information about the meeting participant.

        • date_time (required)

          string, format: date-time — The time at which the participant changed the [role](https://support.zoom.us/hc/en-us/articles/360040324512-Roles-in-a-meeting).

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • new_role (required)

          string, possible values: "host", "co-host", "attendee" — The participant's new role: * `host` — Host. * `co-host` — Co-host. * `attendee` — Attendee.

        • old_role (required)

          string, possible values: "host", "co-host", "attendee" — The participant's previous role: * `host` — Host. * `co-host` — Co-host. * `attendee` — Attendee.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (personal audio conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • id

        string — The meeting ID.

      • start_time

        string — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "participant_uuid": "",
        "date_time": "",
        "old_role": "host",
        "new_role": "host"
      }
    }
  }
}

Meeting.permanently_deletedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who permanently deleted the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who permanently deleted the meeting.

    • operator_id (required)

      string — The user ID of the user who permanently deleted the meeting.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all meetings. * `single` — The change was applied only to a single meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Recording.registration_createdEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the host that recorded the meeting or webinar.

    • object (required)

      object — Information about the recording registration.

      • duration (required)

        integer — The scheduled meeting or webinar duration.

      • host_id (required)

        string — The webinar or meeting host's user ID.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • registrant (required)

        object — Information about the recording registrant.

        • address (required)

          string — The registrant's address.

        • city (required)

          string — The registrant's city.

        • comments (required)

          string — The registrant's questions and comments.

        • country (required)

          string — The registrant's two-letter [country code](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#countries).

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • industry (required)

          string — The registrant's industry.

        • job_title (required)

          string — The registrant's job title.

        • last_name (required)

          string — The registrant's last name.

        • no_of_employees (required)

          string, possible values: "", "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" — The registrant's number of employees: * `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`

        • org (required)

          string — The registrant's organization.

        • phone (required)

          string — The registrant's phone number.

        • purchasing_time_frame (required)

          string, possible values: "", "Within a month", "1-3 months", "4-6 months", "More than 6 months", "No timeframe" — The registrant's purchasing time frame: * `Within a month` * `1-3 months` * `4-6 months` * `More than 6 months` * `No timeframe`

        • role_in_purchase_process (required)

          string, possible values: "", "Decision Maker", "Evaluator/Recommender", "Influencer", "Not involved" — The registrant's role in the purchase process: * `Decision Maker` * `Evaluator/Recommender` * `Influencer` * `Not involved`

        • state (required)

          string — The registrant's state or province.

        • status (required)

          string, possible values: "approved", "denied", "pending", "all", default: "all" — The registrant's status: * `approved` — Registrant is approved. * `denied` — Registrant is denied. * `pending` — Registrant is waiting for approval. * `all` — The default status code.

        • zip (required)

          string — The registrant's ZIP or postal code.

        • custom_questions

          array — Information about custom questions.

          Items:
          • title

            string — The title of the custom question.

          • value

            string — The custom question's response value. This has a limit of 128 characters.

        • id

          string — The registrant's ID.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "registrant": {
        "id": "",
        "email": "",
        "status": "all",
        "first_name": "",
        "last_name": "",
        "address": "",
        "city": "",
        "country": "",
        "zip": "",
        "state": "",
        "phone": "",
        "industry": "",
        "org": "",
        "job_title": "",
        "purchasing_time_frame": "",
        "role_in_purchase_process": "",
        "no_of_employees": "",
        "comments": "",
        "custom_questions": [
          {
            "title": "",
            "value": ""
          }
        ]
      }
    }
  }
}

Meeting.createdEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • creation_source (required)

        string, possible values: "other", "open_api", "web_portal" — The platform that the meeting was created through. * `other` - Created through another platform. * `open_api` - Created through Open API. * `web_portal` - Created through the web portal.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • join_url (required)

        string — The URL to join the meeting.

      • settings (required)

        object — Information about the meeting's settings.

        • alternative_hosts (required)

          string — A semicolon-separated list of the meeting's alternative hosts' email addresses or IDs.

        • use_pmi (required)

          boolean — Whether the use of PMI is enabled.

        • jbh_time

          integer, possible values: 0, 5, 10, 15 — If the value of the `join_before_host` field is `true`, this field indicates the time limits when a participant can join a meeting before the meeting's host. * `0` - Allow the participant to join the meeting at anytime. * `5` - Allow the participant to join 5 minutes before the meeting's start time. * `10` - Allow the participant to join 10 minutes before the meeting's start time. * `15` - Allow the participant to join 15 minutes before the meeting's start time.

        • join_before_host

          boolean — Whether participants can join the meeting before its host. This field is only used for scheduled meetings (`2`) or recurring meetings (`3` and `8`). This value defaults to `false`. If the [**Waiting Room** feature](https://support.zoom.us/hc/en-us/articles/115000332726-Waiting-Room) is enabled, this setting is **disabled**.

        • meeting_invitees

          array — A list of the meeting's invitees.

          Items:
          • email

            string, format: email — The invitee's email address.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8, 10 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time. * `10` - A screen share only meeting.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

        • duration

          integer — The scheduled meeting duration.

        • status

          string, possible values: "available", "deleted" — The meeting occurrence status: * `available` * `deleted`

      • password

        string — The password required to join the meeting.

      • pmi

        string — The [Personal Meeting ID (PMI)](https://support.zoom.us/hc/en-us/articles/201362843-What-is-Personal-Meeting-ID-PMI-and-Personal-Link-).

      • recurrence

        object — Information about [recurring meetings](https://marketplace.zoom.us/docs/api-reference/other-references/recurrence-object-definitions).

        • end_date_time

          string, format: date-time — The recurring meeting's final ending date and time before it is canceled, in UTC format.

        • end_times

          integer — The number of times the recurring meeting will occur before it is canceled.

        • monthly_day

          integer — The day of the month when the recurring monthly meeting occurs. The value ranges from 1 to 31.

        • monthly_week

          integer, possible values: -1, 1, 2, 3, 4 — The week of the month when a recurring meeting occurs. * `-1` - The last week of the month. * `1` - The first week. * `2` - The second week. * `3` - The third week. * `4` - The fourth week.

        • monthly_week_day

          integer, possible values: 1, 2, 3, 4, 5, 6, 7 — The day of the week when the recurring monthly meeting is scheduled. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

        • repeat_interval

          integer — The meeting's repeat interval. * For daily intervals, a max of `99` days. * For a weekly interval, a max of `50` weeks. * For monthly intervals, a max of `10` months.

        • type

          integer, possible values: 1, 2, 3 — The type of recurring meeting. * `1` - Daily. * `2` - Weekly. * `3` - Monthly.

        • weekly_days

          string — A comma-separated list of the days of the week when the recurring weekly meeting occurs. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

      • recurrence_event_id

        string — The unique identifier of the recurring event that the occurrences belong to. Updating a recurring meeting with **This and following events** splits it into two recurring events, each with its own `recurrence_event_id`. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

      • start_time

        string, format: date-time — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • tracking_fields

        array — Information about the meeting's [tracking fields](https://support.zoom.us/hc/en-us/articles/115000293426-Scheduling-Tracking-Fields).

        Items:
        • field

          string — The tracking field's label.

        • value

          string — The tracking field's value.

        • visible

          boolean — Whether the tracking field is visible in the meeting scheduling options in the Zoom web portal. When the tracking field is disabled, the field can be only be set by users via API.

    • operator (required)

      string, format: email — The email address of the user who created the meeting.

    • operator_id (required)

      string — The user ID of the user who created the meeting.

    • operation

      string, possible values: "all", "single", "range" — The type of operation performed on a recurring meeting. * `all` - The change was applied to all occurrences. * `single` - The change was applied to a single occurrence. * `range` - The change was applied to a range of occurrences while the other occurrences are unchanged. To enable this feature for your account, please [contact Zoom Support](https://support.zoom.us/hc/en-us).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "join_url": "",
      "password": "",
      "pmi": "",
      "creation_source": "other",
      "recurrence_event_id": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "duration": 1,
          "status": "available",
          "additionalProperty": "anything"
        }
      ],
      "settings": {
        "use_pmi": true,
        "alternative_hosts": "",
        "meeting_invitees": [
          {
            "email": ""
          }
        ],
        "join_before_host": true,
        "jbh_time": 0,
        "additionalProperty": "anything"
      },
      "recurrence": {
        "type": 1,
        "repeat_interval": 1,
        "weekly_days": "",
        "monthly_day": 1,
        "monthly_week_day": 1,
        "end_times": 1,
        "end_date_time": "",
        "monthly_week": -1,
        "additionalProperty": "anything"
      },
      "tracking_fields": [
        {
          "field": "",
          "value": "",
          "visible": true,
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Meeting.live_streaming_startedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • live_streaming (required)

        object — Information about the live stream.

        • date_time (required)

          string, format: date-time — The date and time the live stream started.

        • service (required)

          string, possible values: "Facebook", "Workplace_by_Facebook", "YouTube", "Twitch", "Custom_Live_Streaming_Service" — The name of the live streaming service: * `Facebook` * `Workplace_by_Facebook` * `YouTube` * `Twitch` * `Custom_Live_Streaming_Service`

        • custom_live_streaming_settings

          object — Information about the custom live stream.

          • page_url (required)

            string — The live stream's page URL.

          • stream_key (required)

            string — The live stream's key.

          • stream_url (required)

            string — The live stream's URL.

          • resolution

            string — The number of pixels in each dimension that the video camera can display.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who updated the meeting.

    • operator_id (required)

      string — The user ID of the user who updated the meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "live_streaming": {
        "service": "Facebook",
        "custom_live_streaming_settings": {
          "stream_url": "",
          "stream_key": "",
          "page_url": "",
          "resolution": ""
        },
        "date_time": ""
      }
    }
  }
}

Meeting.participant_room_system_callout_acceptedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}

Webinar.registration_approvedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who approved the registration.

    • object (required)

      object — Information about the webinar registration.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer — The webinar ID.

      • registrant (required)

        object — Information about the webinar registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • join_url (required)

          string — The URL to join the webinar.

        • last_name

          string — The registrant's last name.

        • tracking_source

          object — Information about the source tracking. See [Creating webinar registration tracking links](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-webinar-registration-tracking-links) for details.

          • id (required)

            string — Unique Identifier of the tracking source.

          • source_name (required)

            string — Name of the source (platform) where the registration URL was shared.

          • tracking_url (required)

            string — Tracking URL. The URL that was shared for the registration.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinar with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who approved the webinar registration.

    • operator_id (required)

      string — The user ID of the user who approved the webinar registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "join_url": "",
        "tracking_source": {
          "id": "",
          "source_name": "",
          "tracking_url": ""
        }
      }
    }
  }
}

Meeting.breakout_room_sharing_startedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The main meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • breakout_room_uuid (required)

        string — The breakout room's universally unique identifier (UUID). Each breakout room instance generates a breakout room UUID.

      • duration (required)

        integer — The main scheduled meeting duration.

      • host_id (required)

        string — The main meeting host's user ID.

      • id (required)

        string — The main meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • sharing_details (required)

          object — Information about the meeting's screenshare.

          • content (required)

            string, possible values: "application", "whiteboard", "desktop", "airplay", "camera", "unknown" — The type of shared content: * `application` — An application. For example, a web browser. * `whiteboard` — The [Zoom Whiteboard](https://support.zoom.us/hc/en-us/articles/4410916881421). * `desktop` — A user's desktop. * `airplay` — A user's airplay. * `camera` — A user's camera. * `unknown` — An unrecognized application, such as a third party app.

          • date_time (required)

            string, format: date-time — The screenshare's date and time.

          • file_link (required)

            string — The Dropbox file's link. This field returns an empty string value if the file link is **not** from a Dropbox source.

          • link_source (required)

            string, possible values: "", "deep_link", "in_meeting" — The Dropbox sharing method: * `deep_link` — A [deep link](https://en.wikipedia.org/wiki/Deep_linking). * `in_meeting` — A link shared via Zoom. * An empty string value if the link source is **not** a Dropbox link.

          • source (required)

            string, possible values: "", "dropbox" — The source from which the file was shared: * `dropbox` — A Dropbox source. * An empty string value if the source is **not** Dropbox.

        • user_id (required)

          string — The participant's ID. This is a unique ID assigned to the participant upon joining the meeting and is only valid for that meeting.

        • id

          string — The participant's user ID. This is the same value used in the [**Users**](/api-reference/zoom-api/methods#tag/Users) APIs if the participant logged in to join the meeting.

        • parent_user_id

          string — The participant's main meeting user ID (`user_id`).

        • user_name

          string — The participant's username.

      • start_time (required)

        string — The main meeting's start time.

      • topic (required)

        string — The main meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The main meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The main meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The main meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "breakout_room_uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "parent_user_id": "",
        "user_name": "",
        "id": "",
        "sharing_details": {
          "content": "application",
          "link_source": "",
          "file_link": "",
          "date_time": "",
          "source": ""
        }
      }
    }
  }
}

Meeting.participant_bindEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • bind_user_id (required)

          string — The particpant's meeting user ID of participant the phone user bind to. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • phone_number (required)

          string — Phone number of participants who joined via PSTN.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • bind_participant_uuid

          string — The participant's UUID of the user which this phone user binds to.

        • date_time

          string, format: date-time — The time when the participant is bond.

        • email

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • registrant_id

          string — The registrant ID of the participants this phone user binds to. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • duration

        integer — The scheduled meeting duration.

      • id

        string — The meeting ID.

      • start_time

        string — The meeting's start time.

      • timezone

        string — The meeting's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "bind_user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "bind_participant_uuid": "",
        "date_time": "",
        "email": "",
        "participant_user_id": "",
        "registrant_id": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Meeting.participant_feedbackEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who commits the feedback.

    • object (required)

      object — Information about the meeting.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant.

        • feedback (required)

          object — Information about the feedback.

          • rating_quality (required)

            object — The feedback rating quality.

          • satisfied (required)

            boolean — Whether the participant is satisfied.

          • comments

            string — The participant's comments.

          • feedback_details

            array — The feedback details.

            Items:
            • id (required)

              string — The feedback ID. * `1` — Poor video quality. * `2` — Poor audio quality. * `5` — Unable to present using share.zoom.us. * `7` — Unable to make phone call. * `8` — They could not hear us. * `9` — We could not hear them. * `10` — They could not see us. * `11` — We could not see them. * `12` — Could not present computer screen. * `999` — Others.

            • name (required)

              string — The feedback name.

        • participant_user_id (required)

          string — The participant's universally unique ID (UUID). This value returns blank for users who aren't logged into Zoom.

        • participant_uuid (required)

          string — The participant's meeting universally unique ID (UUID). This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting. This value will not be changed when the participant joins/leaves a breakout room.

        • user_name (required)

          string — The participant's display name.

        • zoom_room_id

          string — The ID of the Zoom Room submitted the feedback. This field is only returned when the feedback is submitted by Zoom Rooms.

        • zoom_room_platform

          string — The platform of the Zoom Room submitted the feedback. This field is only returned when the feedback is submitted by Zoom Rooms.

        • zoom_room_sender_email

          string — Zoom Rooms feedback sender email. This field is only returned when the feedback is submitted by Zoom Rooms.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "participant": {
        "participant_uuid": "",
        "participant_user_id": "",
        "user_name": "",
        "feedback": {
          "rating_quality": {
            "type": "2-point",
            "quality": "GOOD"
          },
          "feedback_details": [
            {
              "id": "",
              "name": ""
            }
          ],
          "comments": ""
        },
        "zoom_room_id": "",
        "zoom_room_platform": "",
        "zoom_room_sender_email": ""
      }
    }
  }
}

Recording.deletedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that completed the meeting or webinar recording.

    • object (required)

      object — Information about the webinar or meeting recording.

      • account_id (required)

        string — The account ID of the user that completed the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_count (required)

        integer — The number of recording files deleted.

      • recording_files (required)

        array — Information about the deleted recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}`. **Note:** We recommend that you send the access_token as a Bearer token in the Authorization header, for example: "Authorization": "Bearer <ACCESS_TOKEN>”.

        • file_extension (required)

          string, possible values: "MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG" — The file extension type of the recording file.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string, possible values: "MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "TB", "CC", "CHAT_MESSAGE", "SUMMARY", "TIMELINE" — The type of the recording file.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time at which recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "audio_interpretation", "summary", "summary_next_steps", "summary_smart_chapters", "sign_interpretation", "production_sutdio" — The recording file type. * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` * `audio_interpretation` * `summary` * `summary_next_steps` * `summary_smart_chapters` *`sign_interpretation` *`production_studio` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • share_url (required)

        string — The URL at which approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • participant_audio_files

        array — Information about the participants' deleted audio files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}` **Note:** This field does **not** return for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). Instead, this API will return the `file_path` field.

        • file_extension (required)

          string — The participant audio file's extension.

        • file_name (required)

          string — The participant audio file's name.

        • file_size (required)

          integer — The participant audio file's size, in bytes.

        • file_type (required)

          string — The participant audio file's format.

        • id (required)

          string — The participant audio file's ID.

        • recording_end (required)

          string, format: date-time — The participant audio file's end time.

        • recording_start (required)

          string, format: date-time — The participant audio file's start time.

        • status (required)

          string, possible values: "completed", "processing" — The participant audio file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_path

          string — The file path to the On-Premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL at which the participant audio file can be opened and played.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who deleted the recording.

    • operator_id (required)

      string — The user ID of the user who deleted the recording.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "account_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "MP4",
          "file_size": 1,
          "file_extension": "MP4",
          "file_name": "",
          "play_url": "",
          "download_url": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ],
      "participant_audio_files": [
        {
          "id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_name": "",
          "file_size": 1,
          "file_extension": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed"
        }
      ]
    }
  }
}

Recording.pausedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that started the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_file (required)

        object — Information about the recording files.

        • recording_end (required)

          string — The date and time at which the recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which the recording started.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "recording_file": {
        "recording_start": "",
        "recording_end": ""
      }
    }
  }
}

Meeting.participant_room_system_callout_ringingEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}

Recording.startedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that started the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_file (required)

        object — Information about the recording files.

        • recording_end (required)

          string — The date and time at which the recording ended.

        • recording_start (required)

          string — The date and time at which the recording started.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "recording_file": {
        "recording_start": "",
        "recording_end": ""
      }
    }
  }
}

User.tsp_updatedEvent

  • Type:object
  • event

    string — The name of the event.

  • event_ts

    integer, format: int64 — A timestamp at which the event occurred.

  • payload

    object

    • account_id

      string — The account ID of the user who updated the TSP.

    • object

      object — Information about the updated user.

      • email

        string, format: email — The user's email address.

      • id

        string — The user's ID.

      • tsp_credentials

        object — Information about the updated user's TSP credentials.

        • conference_code

          string — The TSP conference code.

        • dial_in_numbers

          array — Information about the TSP dial-in numbers.

          Items:
          • code

            string — The country code.

          • country_label

            string, possible values: "US_TSP_TB", "EU_TSP_TB" — The TSP country label. * `US_TSP_TB` * `EU_TSP_TB`

          • number

            string — The dial-in phone number.

          • type

            string, possible values: "toll", "tollfree", "media_link" — The phone number's type. * `toll` - Toll number. * `tollfree` - Toll free number. * `media_link` - Media link.

        • leader_pin

          string — The leader PIN.

        • tsp_bridge

          string — The TSP bridge zone.

    • old_object

      object

    • operator

      string, format: email — The email address of the user who updated the TSP.

    • operator_id

      string — The user ID of the user who updated the TSP.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "email": "",
      "tsp_credentials": {
        "conference_code": "",
        "leader_pin": "",
        "tsp_bridge": "",
        "dial_in_numbers": [
          {
            "code": "",
            "number": "",
            "type": "toll",
            "country_label": "US_TSP_TB"
          }
        ]
      }
    },
    "old_object": null
  }
}

Meeting.invitation_timeoutEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • email (required)

          string, format: email — The email address of the user who received the meeting invitation. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. For more information, read our [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) documentation.

        • participant_user_id (required)

          string — The user ID of the user who received the meeting invitation.

      • topic (required)

        string — The meeting's topic.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

    • operator (required)

      string — The email address of the user who missed the meeting invitation.

    • operator_id (required)

      string — The user ID of the user who missed the meeting invitation.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "participant": {
        "participant_user_id": "",
        "email": ""
      }
    }
  }
}

Meeting.participant_admittedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is not part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](/docs/api/using-zoom-apis/#email-address-display-rules) for details.

        • date_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://marketplace.zoom.us/docs/api-reference/using-zoom-apis#email-address) for details.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty (`””`) value.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's meeting universally unique ID (UUID). This value is assigned to a participant upon joining a meeting and is only valid for the duration of the meeting. This value will not be changed when the participant joins/leaves a breakout room.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](/docs/api/references/abbreviations/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "participant_user_id": "",
        "phone_number": "",
        "date_time": "",
        "email": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Meeting.participant_room_system_callout_failedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • reason_type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14 — reason type for failure: * `1` — Encryption_Fail. * `2` — Disconnected_By_Remote. * `3` — Retry. * `4` — Bad_Seq. * `5` — Call_Limit. * `6` — Not_Registered. * `7` — Timeout. * `8` — Bad_Addr. * `9` — Unreachable * `10` — Disconnect_By_Local * `11` — Server_Internal_Error * `12` — Exceed_Free_Port * `13` — Connect_Error * `14` — Proxy_Connect_Error * `0` — Other_Failed_Reason.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "reason_type": 0,
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}

Meeting.participant_data_connection_establishedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp for when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • data_connections (required)

        array — A list of data connection records established by the participant in the meeting.

        Items:
        • command_connection_time_cost_ms (required)

          integer — The time, in milliseconds, spent establishing the command connection.

        • connection_type (required)

          string, possible values: "audio", "video", "screen_share" — The type of in-meeting data connection.

        • data_socket_time_cost_ms (required)

          integer — The time, in milliseconds, spent establishing the data socket connection.

        • first_package_time_cost_ms (required)

          integer — The time, in milliseconds, from data socket establishment to receiving the first package.

        • total_time_cost_ms (required)

          integer — The total time, in milliseconds, that it took to establish the data connection.

      • host_id (required)

        string — The meeting host's user ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • join_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting and is only valid for the duration of the meeting.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting and is only valid for the duration of that meeting.

        • phone_number

          string — The phone number of the participant who joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • id

        string — The meeting number.

      • start_time

        string — The meeting's start time.

      • topic

        string — The meeting's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "participant": {
        "user_id": "",
        "user_name": "",
        "participant_uuid": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "customer_key": "",
        "phone_number": "8611111111111"
      },
      "data_connections": [
        {
          "connection_type": "audio",
          "total_time_cost_ms": 1,
          "command_connection_time_cost_ms": 1,
          "data_socket_time_cost_ms": 1,
          "first_package_time_cost_ms": 1
        }
      ]
    }
  }
}

Recording.resumedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that resumed the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_file (required)

        object — Information about the recording files.

        • recording_end (required)

          string — The date and time at which the recording ended.

        • recording_start (required)

          string — The date and time at which recording started.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "recording_file": {
        "recording_start": "",
        "recording_end": ""
      }
    }
  }
}

Meeting.participant_phone_callout_missedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's name to display in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Meeting.summary_updatedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • edited_summary (required)

        object — Information about the edited meeting summary.

        • next_steps

          array — The user-edited next steps.

          Items:

          string — The user-edited next step.

        • summary_details

          string — The user-edited summary details.

        • summary_overview

          string — The user edited summary overview.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID. After a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • next_steps (required)

        array — The next steps.

        Items:

        string — The next step.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_details (required)

        array — The summary content details.

        Items:
        • label (required)

          string — The summary label.

        • summary (required)

          string — The summary content.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_last_modified_user_email (required)

        string — The user email of the user who last modified the meeting summary.

      • summary_last_modified_user_id (required)

        string — The user ID of the user who last modified the meeting summary.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

      • summary_content

        string — The complete meeting summary in Markdown format. This unified field is used for all summaries. For compatibility, the legacy fields `summary_overview`, `summary_details`, `next_steps`, and `edited_summary` are still returned, but are deprecated and will not be supported in the future.

      • summary_doc_url

        string — The URL to view the full summary document in Zoom Docs.

      • summary_overview

        string — The summary overview.

    • operator (required)

      string — The email address of the user who updated the meeting summary.

    • operator_id (required)

      string — The user ID of the user who updated the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_last_modified_user_id": "",
      "summary_last_modified_user_email": "",
      "summary_title": "",
      "summary_content": "",
      "summary_doc_url": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Webinar.participant_joinedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        string — The webinar ID.

      • participant (required)

        object — Information about the webinar participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the webinar by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • id (required)

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • join_time (required)

          string, format: date-time — The date and time when the participant joined the webinar.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant upon joining a webinar and is only valid for the duration of the webinar.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value.

        • participant_uuid

          string — The participant's UUID for this specific webinar. This value is assigned to a participant when they join a webinar, and is only valid for the duration of that webinar.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. (A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026)).

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "participant_uuid": "",
        "customer_key": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Recording.renamedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that renamed the meeting or webinar recording.

    • object (required)

      object — Information about meeting or webinar recording.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • topic (required)

        string — The updated recording title.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

    • old_object (required)

      object — Information about the previous meeting or webinar recording's settings.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • topic (required)

        string — The previous recording title.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

    • operator (required)

      string — The email address of the user that renamed the meeting or webinar recording.

    • operator_id (required)

      string — The user Id of the user that renamed the meeting or webinar recording.

    • time_stamp (required)

      number — A timestamp at which the user renamed the meeting or webinar recording.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "time_stamp": 1,
    "object": {
      "uuid": "",
      "id": 1,
      "topic": "",
      "type": 1,
      "host_id": ""
    },
    "old_object": {
      "uuid": "",
      "id": 1,
      "topic": "",
      "type": 1,
      "host_id": ""
    }
  }
}

Meeting.participant_room_system_callout_missedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}

Webinar.createdEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • creation_source (required)

        string, possible values: "other", "open_api", "web_portal" — The platform through which the meeting was created. * `other` - Created through another platform. * `open_api` - Created through Open API. * `web_portal` - Created through the web portal.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • join_url (required)

        string — The URL to join the webinar.

      • settings (required)

        object — Information about the webinar's settings.

        • alternative_hosts (required)

          string — A semicolon-separated list of the webinar's alternative hosts' email addresses or IDs.

        • use_pmi (required)

          boolean — Whether the use of PMI is enabled.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

        • duration

          integer — The scheduled webinar duration.

        • status

          string, possible values: "available", "deleted" — The webinar occurrence status: * `available` * `deleted`

      • password

        string — The password required to join the webinar.

      • recurrence

        object — Information about [recurring meetings](https://marketplace.zoom.us/docs/api-reference/other-references/recurrence-object-definitions).

        • end_date_time

          string, format: date-time — The recurring meeting's final ending date and time before it is canceled, in UTC format.

        • end_times

          integer — The number of times the recurring meeting will occur before it is canceled.

        • monthly_day

          integer — The day of the month on which the recurring monthly meeting occurs. The value ranges from 1 to 31.

        • monthly_week

          integer, possible values: -1, 1, 2, 3, 4 — The week of the month on which a recurring meeting occurs: * `-1` — The last week of the month. * `1` — The first week. * `2` — The second week. * `3` — The third week. * `4` — The fourth week.

        • monthly_week_day

          integer, possible values: 1, 2, 3, 4, 5, 6, 7 — The day of the week on which the recurring monthly meeting is scheduled: * `1` — Sunday * `2` — Monday * `3` — Tuesday * `4` — Wednesday * `5` — Thursday * `6` — Friday * `7` — Saturday

        • repeat_interval

          integer — The meeting's repeat interval: * For daily intervals, a max of `90` days. * For a weekly interval, a max of `12` weeks. * For monthly intervals, a max of `3` months.

        • type

          integer, possible values: 1, 2, 3 — The type of recurring meeting: * `1` — Daily. * `2` — Weekly. * `3` — Monthly.

        • weekly_days

          string — A comma-separated list of the days of the week on which the recurring weekly meeting occurs: * `1` — Sunday * `2` — Monday * `3` — Tuesday * `4` — Wednesday * `5` — Thursday * `6` — Friday * `7` — Saturday

      • start_time

        string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who created the webinar.

    • operator_id (required)

      string — The user ID of the user who created the webinar.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all webinar. * `single` — The change was applied only to a single webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "join_url": "",
      "password": "",
      "creation_source": "other",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "duration": 1,
          "status": "available",
          "additionalProperty": "anything"
        }
      ],
      "settings": {
        "use_pmi": true,
        "alternative_hosts": "",
        "additionalProperty": "anything"
      },
      "recurrence": {
        "type": 1,
        "repeat_interval": 1,
        "weekly_days": "",
        "monthly_day": 1,
        "monthly_week_day": 1,
        "end_times": 1,
        "end_date_time": "",
        "monthly_week": -1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Recording.registration_deniedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the host that recorded the meeting or webinar.

    • object (required)

      object — Information about the recording registration.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The webinar or meeting host's user ID.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • registrant (required)

        object — Information about the recording registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • last_name (required)

          string — The registrant's last name.

        • id

          string — The registrant's ID.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who denied the recording registration.

    • operator_id (required)

      string — The user ID of the user who denied the recording registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "registrant": {
        "id": "",
        "email": "",
        "first_name": "",
        "last_name": ""
      }
    }
  }
}

Meeting.participant_phone_callout_failedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — The timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The meeting host's account ID.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • participant (required)

        object — Information about the invited participant.

        • invitee_name (required)

          string — The user's display name in the meeting.

        • phone_number (required)

          integer, format: int64 — The user's phone number.

      • reason_type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14 — The reason type for the failure: * `1` — Not_Allow_PSTN. * `2` — Block_Too_Frequent. * `3` — Block_By_No_Host. * `4` — PhoneNumber_Blocked. * `5` — Call_Count_Limit_InConf. * `6` — SipTrunk_Error. * `7` — Timeout. * `8` — PhoneNumber_Invalid. * `0` — Other_Failed_Reason.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "reason_type": 0,
      "participant": {
        "invitee_name": "",
        "phone_number": 1
      }
    }
  }
}

Meeting.live_streaming_stoppedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • live_streaming (required)

        object — Information about the live stream.

        • date_time (required)

          string, format: date-time — The date and time the live stream ended.

        • service (required)

          string, possible values: "Facebook", "Workplace_by_Facebook", "YouTube", "Twitch", "Custom_Live_Streaming_Service" — The name of the live streaming service: * `Facebook` * `Workplace_by_Facebook` * `YouTube` * `Twitch` * `Custom_Live_Streaming_Service`

        • custom_live_streaming_settings

          object — Information about the custom live stream.

          • page_url (required)

            string — The live stream's page URL.

          • stream_key (required)

            string — The live stream's key.

          • stream_url (required)

            string — The live stream's URL.

          • resolution

            string — The number of pixels in each dimension that the video camera can display.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who updated the meeting.

    • operator_id (required)

      string — The user ID of the user who updated the meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "live_streaming": {
        "service": "Facebook",
        "custom_live_streaming_settings": {
          "stream_url": "",
          "stream_key": "",
          "page_url": "",
          "resolution": ""
        },
        "date_time": ""
      }
    }
  }
}

Webinar.participant_data_connection_establishedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp for when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar.

      • data_connections (required)

        array — A list of data connection records established by the participant in the webinar.

        Items:
        • command_connection_time_cost_ms (required)

          integer — The time, in milliseconds, spent establishing the command connection.

        • connection_type (required)

          string, possible values: "audio", "video", "screen_share" — The type of in-webinar data connection.

        • data_socket_time_cost_ms (required)

          integer — The time, in milliseconds, spent establishing the data socket connection.

        • first_package_time_cost_ms (required)

          integer — The time, in milliseconds, from data socket establishment to receiving the first package.

        • total_time_cost_ms (required)

          integer — The total time, in milliseconds, that it took to establish the data connection.

      • host_id (required)

        string — The webinar host's user ID.

      • participant (required)

        object — Information about the webinar participant. If the participant is **not** part of the host's account, the `email` field returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the webinar by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • join_time (required)

          string, format: date-time — The time when the participant joined the webinar.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant when they join a webinar and is only valid for the duration of the webinar.

        • user_name (required)

          string — The participant's display name.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific webinar and any breakout rooms created in this webinar. This value is assigned to a participant when they join a webinar and is only valid for the duration of that webinar.

        • phone_number

          string — The phone number of the participant who joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • id

        string — The webinar number.

      • start_time

        string — The webinar's start time.

      • topic

        string — The webinar's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "participant": {
        "user_id": "",
        "user_name": "",
        "participant_uuid": "",
        "join_time": "",
        "email": "",
        "registrant_id": "",
        "participant_user_id": "",
        "customer_key": "",
        "phone_number": "8611111111111"
      },
      "data_connections": [
        {
          "connection_type": "audio",
          "total_time_cost_ms": 1,
          "command_connection_time_cost_ms": 1,
          "data_socket_time_cost_ms": 1,
          "first_package_time_cost_ms": 1
        }
      ]
    }
  }
}

Webinar.registration_cancelledEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the webinar.

    • object (required)

      object — Information about the webinar registration.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer — The webinar ID.

      • registrant (required)

        object — Information about the webinar registrant.

        • email (required)

          string, format: email — The registrant's email address.

        • first_name (required)

          string — The registrant's first name.

        • id (required)

          string — The registrant's ID.

        • last_name

          string — The registrant's last name.

        • tracking_source

          object — Information about the source tracking. See [Creating webinar registration tracking links](https://support.zoom.us/hc/en-us/articles/360000315683-Creating-webinar-registration-tracking-links) for details.

          • id (required)

            string — Unique Identifier of the tracking source.

          • source_name (required)

            string — Name of the source (platform) where the registration URL was shared.

          • tracking_url (required)

            string — Tracking URL. The URL that was shared for the registration.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who canceled the webinar registration.

    • operator_id

      string — The user ID of the user who canceled the webinar registration.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ],
      "registrant": {
        "id": "",
        "first_name": "",
        "last_name": "",
        "email": "",
        "tracking_source": {
          "id": "",
          "source_name": "",
          "tracking_url": ""
        }
      }
    }
  }
}

Meeting.recoveredEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who recovered the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        integer, format: int64 — The meeting ID.

      • start_time (required)

        string, format: date-time — The meeting's start time.

      • timezone (required)

        string — The meeting's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type: * `0` — A prescheduled meeting. * `1` — An instant meeting. * `2` — A scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` — A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` — A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • occurrences

        array — Information about recurring meetings with fixed times and their occurrences. This only returns when the meeting's `type` value is `8`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The meeting occurrence's ID.

        • start_time (required)

          string, format: date-time — The meeting's start time.

    • operator (required)

      string, format: email — The email address of the user who recovered the meeting.

    • operator_id (required)

      string — The user ID of the user who recovered the meeting.

    • operation

      string, possible values: "all", "single" — The type of operation performed: * `all` — The change was applied to all meetings. * `single` — The change was applied only to a single meeting.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "additionalProperty": "anything"
        }
      ],
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Webinar.permanently_deletedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who permanently deleted the webinar.

    • object (required)

      object — Information about the webinar.

      • duration (required)

        integer — The scheduled webinar duration.

      • host_id (required)

        string — The webinar host's user ID.

      • id (required)

        integer, format: int64 — The webinar ID.

      • start_time (required)

        string, format: date-time — The webinar's start time.

      • timezone (required)

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic (required)

        string — The webinar's topic.

      • type (required)

        integer, possible values: 5, 6, 9 — The webinar type. * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • occurrences

        array — Information about recurring webinars with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

    • operator (required)

      string, format: email — The email address of the user who permanently deleted the webinar.

    • operator_id (required)

      string — The user ID of the user who permanently deleted the webinar.

    • operation

      string, possible values: "all", "single" — The type of operation performed. * `all` — The change was applied to all webinars. * `single` — The change was applied only to a single webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "operation": "all",
    "object": {
      "uuid": "",
      "id": 1,
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": ""
        }
      ]
    }
  }
}

Recording.completedEvent

  • Type:object
  • download_token (required)

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation, and you can only download the file within 24 hours of receiving the event notification. Pass `download_token` as a bearer token in the authorization header of your HTTP request. ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ```.

  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who completed the meeting or webinar recording.

    • object (required)

      object — Information about the meeting or webinar recording.

      • account_id (required)

        string — The account ID of the user who completed the meeting or webinar recording.

      • duration (required)

        integer — The recording's duration.

      • host_email (required)

        string, format: email — The host's email address.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting `meetingId` or webinar `webinarId`.

      • password (required)

        string — The meeting's or webinar's password.

      • recording_count (required)

        integer — The number of completed recording files.

      • recording_files (required)

        array — Information about the completed recording files.

        Items:
        • download_url (required)

          string — The URL to download the the recording. To download the recording file of a meeting or a webinar, use the `download_token` value to download the file. For example: `https://{{base-domain}}/rec/webhook_download/download/xxx--header 'Authorization: Bearer {{your-download_token-value}}`

        • file_extension (required)

          string, possible values: "MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG" — The file extension type of the recording file.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string, possible values: "MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "TB", "CC", "CHAT_MESSAGE", "SUMMARY", "TIMELINE" — The type of the recording file.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time when recording ended.

        • recording_start (required)

          string, format: date-time — The date and time when recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "audio_interpretation", "summary", "summary_next_steps", "summary_smart_chapters", "sign_interpretation", "production_studio" — The recording file type. * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` * `audio_interpretation` * `summary` * `summary_next_steps` * `summary_smart_chapters` *`sign_interpretation` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status. * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • file_path

          string — The file path to the on-premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL where the recording file can be opened and played.

      • share_url (required)

        string — The URL where approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting's or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar. If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • auto_delete

        boolean — Auto-delete status of a meeting's [cloud recording](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-Recording). Prerequisite: To get the auto-delete status, the host of the recording must have the recording setting 'Delete cloud recordings after a specified number of days' enabled.

      • auto_delete_date

        string — The date on which the recording will be auto-deleted when auto_delete is true. Otherwise, no date will be returned.

      • on_prem

        boolean — Whether the recording is an [on-premise](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment) recording.

      • participant_audio_files

        array — Information about the participants' audio files.

        Items:
        • download_url (required)

          string — The URL to download the the recording. To download the recording file of a meeting or a webinar, use the `download_token` value to download the file. For example: `https://{{base-domain}}/rec/webhook_download/download/xxx--header 'Authorization: Bearer {{your-download_token-value}}`

        • file_extension (required)

          string — The participant audio file's extension.

        • file_name (required)

          string — The participant audio file's name.

        • file_size (required)

          integer — The participant audio file's size, in bytes.

        • file_type (required)

          string — The participant audio file's format.

        • id (required)

          string — The participant audio file's ID.

        • recording_end (required)

          string, format: date-time — The participant audio file's end time.

        • recording_start (required)

          string, format: date-time — The participant audio file's start time.

        • status (required)

          string, possible values: "completed", "processing" — The participant audio file's processing status. * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_path

          string — The file path to the on-premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL to open and play the participant audio file.

      • recording_play_passcode

        string — The cloud recording's password to be used in the URL. This recording's password can be directly spliced in `play_url` or `share_url` with `?pwd=` to access and play, such as in 'https://zoom.us/rec/share/**************?pwd=yNYIS408EJygs7rE5vVsJwXIz4-VW7MH'. See [Embedding meeting passcode in invite link](https://support.zoom.us/hc/en-us/articles/360060396571-Embedding-meeting-passcode-in-invite-link) for details. If you want to use this field, please contact Zoom support.

      • timezone

        string — The meeting's or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "account_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "password": "",
      "timezone": "",
      "host_email": "",
      "duration": 1,
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "on_prem": true,
      "recording_play_passcode": "yNYIS408EJygs7rE5vVsJwXIz4-VW7MH",
      "auto_delete": true,
      "auto_delete_date": "",
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "MP4",
          "file_size": 1,
          "file_extension": "MP4",
          "file_name": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ],
      "participant_audio_files": [
        {
          "id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_name": "",
          "file_size": 1,
          "file_extension": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed"
        }
      ]
    }
  }
}

Meeting.participant_put_in_waiting_roomEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the meeting.

    • object (required)

      object — Information about the meeting.

      • duration (required)

        integer — The scheduled meeting duration.

      • host_id (required)

        string — The meeting host's user ID.

      • id (required)

        string — The meeting ID.

      • participant (required)

        object — Information about the meeting participant. If the participant is not part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](/docs/api/using-zoom-apis/#email-address-display-rules) for details.

        • date_time (required)

          string, format: date-time — The time when the participant joined the meeting.

        • email (required)

          string, format: email — The participant's email address. This response only returns if the participant joined the meeting by logging into Zoom. If the participant is **not** part of the host's account, this returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • user_id (required)

          string — The participant's meeting user ID. This value is assigned to a participant when they join a meeting, and is only valid for the duration of the meeting.

        • customer_key

          string — The participant's SDK identifier. This value can be alphanumeric.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_user_id

          string — The participant's universally unique ID (UUID). * If the participant joins the meeting by logging into Zoom, this value is the `id` value in the [**Get a user**](/api-reference/zoom-api/methods#operation/user) API response. * If the participant joins the meeting **without** logging into Zoom, this returns an empty string value. This value returns blank for external users.

        • participant_uuid

          string — The participant's UUID for this specific meeting and any breakout rooms created in this meeting. This value is assigned to a participant when they join a meeting, and is only valid for the duration of that meeting.

        • phone_number

          string — Phone number of participant joined via PSTN.

        • registrant_id

          string — The participant's registrant ID. A host or a user with administrative permissions can require [registration for Zoom meetings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • start_time (required)

        string — The meeting's start time.

      • topic (required)

        string — The meeting's topic.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The meeting type. * `0` - A prescheduled meeting. * `1` - An instant meeting. * `2` - A scheduled meeting. * `3` - A recurring meeting with no fixed time. * `4` - A [personal meeting room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-meeting) meeting. * `8` - A recurring meeting with a fixed time.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

      • timezone

        string — The meeting's [timezone](/docs/api/references/abbreviations/#timezones).

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "date_time": "",
        "email": "",
        "phone_number": "",
        "participant_user_id": "",
        "customer_key": "",
        "registrant_id": ""
      }
    }
  }
}

Recording.trashedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who deleted the recording to the trash.

    • object (required)

      object — Information about the webinar or meeting recording.

      • account_id (required)

        string — The account ID of the user that completed the meeting or webinar recording.

      • duration (required)

        integer — The meeting or webinar's scheduled duration.

      • host_id (required)

        string — The ID of the user set as the host of the meeting or webinar.

      • id (required)

        integer, format: int64 — The ID of the recorded meeting (`meetingId`) or webinar (`webinarId`).

      • recording_count (required)

        integer — The number of recording files deleted to the trash.

      • share_url (required)

        string — The URL at which approved users can view the recording.

      • start_time (required)

        string, format: date-time — The meeting or webinar's start time.

      • topic (required)

        string — The meeting or webinar topic.

      • total_size (required)

        integer — The recording file's total size, in bytes.

      • type (required)

        integer, possible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 99 — The type of recorded meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time. * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal.

      • uuid (required)

        string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

      • participant_audio_files

        array — Information about the trashed participant audio files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}` **Note:** This field does **not** return for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). Instead, this API will return the `file_path` field.

        • file_extension (required)

          string — The participant audio file's extension.

        • file_name (required)

          string — The participant audio file's name.

        • file_size (required)

          integer — The participant audio file's size, in bytes.

        • file_type (required)

          string — The participant audio file's format.

        • id (required)

          string — The participant audio file's ID.

        • recording_end (required)

          string, format: date-time — The participant audio file's end time.

        • recording_start (required)

          string, format: date-time — The participant audio file's start time.

        • status (required)

          string, possible values: "completed", "processing" — The participant audio file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_path

          string — The file path to the On-Premise account recording. **Note:** This API returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field.

        • play_url

          string — The URL at which the participant audio file can be opened and played.

      • recording_files

        array — Information about the trashed recording files.

        Items:
        • download_url (required)

          string — The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. `https://{{base-domain}}/recording/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}`. **Note:** We recommend that you send the access_token as a Bearer token in the Authorization header, for example: "Authorization": "Bearer <ACCESS_TOKEN>”.

        • file_extension (required)

          string, possible values: "MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG" — The recording file's extension.

        • file_size (required)

          integer — The recording file's size, in bytes.

        • file_type (required)

          string, possible values: "MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "TB", "CC", "CHAT_MESSAGE", "SUMMARY", "TIMELINE" — The recording file's type.

        • id (required)

          string — The recording file's ID.

        • meeting_id (required)

          string — The meeting's ID.

        • recording_end (required)

          string, format: date-time — The date and time at which recording ended.

        • recording_start (required)

          string, format: date-time — The date and time at which recording started.

        • recording_type (required)

          string, possible values: "shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "audio_interpretation", "summary", "summary_next_steps", "summary_smart_chapters", "production_sutdio" — The type of recording file: * `shared_screen_with_speaker_view(CC)` * `shared_screen_with_speaker_view` * `shared_screen_with_gallery_view` * `gallery_view` * `shared_screen` * `audio_only` * `audio_transcript` * `chat_file` * `active_speaker` * `host_video` * `audio_only_each_participant` * `cc_transcript` * `closed_caption` * `poll` * `timeline` * `thumbnail` * `audio_interpretation` * `summary` * `summary_next_steps` * `summary_smart_chapters` *`production_studio` For more information, read our [Managing and sharing cloud recordings](https://support.zoom.us/hc/en-us/articles/205347605-Managing-and-sharing-cloud-recordings#h_9898497b-e736-4980-a749-d55608f10773) documentation.

        • status (required)

          string, possible values: "completed", "processing" — The recording file's processing status: * `completed` — The processing of the file is complete. * `processing` — The file is processing.

        • file_name

          string — The recording file's name.

        • play_url

          string — The URL at which the recording file can be opened and played.

      • timezone

        string — The meeting or webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

    • operator (required)

      string, format: email — The email address of the user who deleted the recording to the trash.

    • operator_id (required)

      string — The user ID of the user who deleted the recording to the trash.

  • download_token

    string — Use the generated token value with the `download_url` value to download the cloud recording via an [OAuth app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-oauth-app). The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. You can either include the `download_token` as a query parameter or pass it as a Bearer token in the Authorization header of your HTTP request: **Using an Authorization header (Recommended)** ``` curl --request GET \ --url {download_url} \ --header 'authorization: Bearer {download_token} \ --header 'content-type: application/json' ``` **Using a query parameter** ``` {download_url}/?access_token={download_token} ``` For example: `https://zoom.us/recording/download/123456?access_token=abcdefgh`

Example:

{
  "event": "",
  "event_ts": 1,
  "download_token": "",
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 1,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "share_url": "",
      "total_size": 1,
      "recording_count": 1,
      "account_id": "",
      "recording_files": [
        {
          "id": "",
          "meeting_id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "MP4",
          "file_extension": "MP4",
          "file_name": "",
          "file_size": 1,
          "play_url": "",
          "download_url": "",
          "status": "completed",
          "recording_type": "shared_screen_with_speaker_view(CC)"
        }
      ],
      "participant_audio_files": [
        {
          "id": "",
          "recording_start": "",
          "recording_end": "",
          "file_type": "",
          "file_name": "",
          "file_size": 1,
          "file_extension": "",
          "play_url": "",
          "download_url": "",
          "file_path": "",
          "status": "completed"
        }
      ]
    }
  }
}

Meeting.summary_deletedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who hosted the meeting.

    • object (required)

      object — Information about the meeting summary.

      • meeting_end_time (required)

        string, format: date-time — The meeting's end date and time.

      • meeting_host_email (required)

        string, format: email — The meeting host's email address.

      • meeting_host_id (required)

        string — The ID of the user who is set as the meeting host.

      • meeting_id (required)

        integer, format: int64 — [Meeting ID](https://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-) - the meeting's unique identifier in **long** format, represented as int64 data type in JSON. Also known as the meeting number.

      • meeting_start_time (required)

        string, format: date-time — The meeting's start date and time.

      • meeting_topic (required)

        string — Meeting topic.

      • meeting_uuid (required)

        string — Unique meeting ID. Each meeting instance generates its own meeting UUID - after a meeting ends, a new UUID is generated for the next instance of the meeting. Retrieve a list of UUIDs from past meeting instances using the [**List past meeting instances**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods/#operation/pastMeetings) API. [Double encode](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#meeting-id-and-uuid) your UUID when using it for API calls if the UUID begins with a `/` or contains `//` in it.

      • summary_created_time (required)

        string, format: date-time — The date and time when the meeting summary was created.

      • summary_end_time (required)

        string, format: date-time — The summary's end date and time.

      • summary_last_modified_time (required)

        string, format: date-time — The date and time when the meeting summary was last modified.

      • summary_start_time (required)

        string, format: date-time — The summary's start date and time.

      • summary_title (required)

        string — The summary title.

    • operator (required)

      string — The email address of the user who permanently deleted the meeting summary.

    • operator_id (required)

      string — The user ID of the user who permanently deleted the meeting summary.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meeting_host_id": "",
      "meeting_host_email": "",
      "meeting_uuid": "",
      "meeting_id": 1,
      "meeting_topic": "",
      "meeting_start_time": "",
      "meeting_end_time": "2020-07-15T23:30:19Z",
      "summary_start_time": "",
      "summary_end_time": "",
      "summary_created_time": "",
      "summary_last_modified_time": "",
      "summary_title": "",
      "additionalProperty": "anything"
    },
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Webinar.participant_bindEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who created the Webinar.

    • object (required)

      object — Information about the webinar.

      • host_id (required)

        string — The webinar host's user ID.

      • participant (required)

        object — Information about the webinar participant. If the participant is **not** part of the host's account, `email` returns an empty string value, with some exceptions. See [Email address display rules](https://developers.zoom.us/docs/api/rest/using-zoom-apis/#email-address-display-rules) for details.

        • bind_user_id (required)

          string — The particpant's webinar user ID of participant the phone user bind to. This value is assigned to a participant when they join a webinar, and is only valid for the duration of the webinar.

        • join_time (required)

          string, format: date-time — The time when the participant joined the webinar.

        • phone_number (required)

          string — Phone number of participants who joined via PSTN.

        • user_id (required)

          string — The participant's webinar user ID. This value is assigned to a participant when they join a webinar, and is only valid for the duration of the webinar.

        • bind_participant_uuid

          string — The participant's UUID of the user which this phone user binds to.

        • id

          string — The participant's universally unique ID (UUID). * If the participant joins the webinar by logging into Zoom, this value is the `id` value in the [**Get a user**](https://developers.zoom.us/docs/api/rest/reference/user/methods/#operation/user) API response. * If the participant joins the webinar **without** logging into Zoom, this returns an empty string value. This value returns blank for external users. **Note:** Use the `participant_user_id` value instead of this value. We will remove this response in a future release.

        • participant_uuid

          string — The participant's UUID for this specific webinar and any breakout rooms created in this webinar. This value is assigned to a participant when they join a webinar, and is only valid for the duration of that webinar.

        • registrant_id

          string — The registrant ID of the participants this phone user binds to. A host or a user with administrative permissions can require [registration for Zoom webinars](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0065026).

        • user_name

          string — The participant's display name.

      • type (required)

        integer, possible values: 0, 1, 2, 3, 4, 7, 8 — The webinar type. * `0` - A prescheduled webinar. * `1` - An instant webinar. * `2` - A scheduled webinar. * `3` - A recurring webinar with no fixed time. * `4` - A [personal webinar room](https://support.zoom.us/hc/en-us/articles/201362843). * `7` - A [PAC (Personal Audio Conference)](https://support.zoom.us/hc/en-us/articles/205172455-Hosting-a-Personal-Audio-Conference-PAC-webinar) webinar. * `8` - A recurring webinar with a fixed time.

      • uuid (required)

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

      • duration

        integer — The scheduled webinar duration.

      • id

        string — The webinar ID.

      • start_time

        string — The webinar's start time.

      • timezone

        string — The webinar's [timezone](https://developers.zoom.us/docs/api/rest/other-references/abbreviation-lists/#timezones).

      • topic

        string — The webinar's topic.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": "",
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 0,
      "start_time": "",
      "timezone": "",
      "duration": 1,
      "participant": {
        "user_id": "",
        "bind_user_id": "",
        "user_name": "",
        "id": "",
        "participant_uuid": "",
        "bind_participant_uuid": "",
        "join_time": "",
        "registrant_id": "",
        "phone_number": "8615250064084"
      }
    }
  }
}

Webinar.updatedEvent

  • Type:object
  • event (required)

    string — The event's name.

  • event_ts (required)

    integer, format: int64 — A timestamp when the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user who updated the webinar.

    • object (required)

      object — Information about the webinar.

      • id (required)

        integer, format: int64 — The webinar ID.

      • agenda

        string — The webinar's agenda.

      • duration

        integer — The scheduled webinar duration.

      • host_id

        string — The webinar host's user ID.

      • occurrences

        array — Information about recurring webinar with fixed times and their occurrences. This only returns when the webinar's `type` value is `9`.

        Items:
        Any of:
        • occurrence_id (required)

          string — The webinar occurrence's ID.

        • start_time (required)

          string, format: date-time — The webinar's start time.

        • duration

          integer — The scheduled webinar duration.

        • status

          string, possible values: "available", "deleted" — The webinar occurrence status: * `available` * `deleted`

      • password

        string — The password required to join the webinar.

      • recurrence

        object — Information about [recurring webinars](https://marketplace.zoom.us/docs/api-reference/other-references/recurrence-object-definitions).

        • end_date_time

          string, format: date-time — The recurring webinar's final ending date and time before it is canceled, in UTC format.

        • end_times

          integer, default: 1 — The number of times the recurring webinar will occur before it is canceled.

        • monthly_day

          integer — The day of the month when the recurring monthly webinar occurs. The value ranges from 1 to 31.

        • monthly_week

          integer, possible values: -1, 1, 2, 3, 4 — The week of the month when a recurring webinar occurs. * `-1` - The last week of the month. * `1` - The first week. * `2` - The second week. * `3` - The third week. * `4` - The fourth week.

        • monthly_week_day

          integer, possible values: 1, 2, 3, 4, 5, 6, 7 — The day of the week when the recurring monthly webinar is scheduled. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

        • repeat_interval

          integer — The webinar's repeat interval. * For daily intervals, a maximum of `90` days. * For a weekly interval, a maximum of `12` weeks. * For monthly intervals, a maximum of `3` months.

        • type

          integer, possible values: 1, 2, 3 — The recurring webinar type. * `1` - Daily. * `2` - Weekly. * `3` - Monthly.

        • weekly_days

          string — A comma-separated list of the days of the week when the recurring weekly webinar occurs. * `1` - Sunday * `2` - Monday * `3` - Tuesday * `4` - Wednesday * `5` - Thursday * `6` - Friday * `7` - Saturday

      • registration_url

        string — The webinar's registration URL.

      • settings

        object — Information about the updated webinar settings. This **only** returns updated webinar settings.

        • allow_host_control_participant_mute_state

          boolean — Whether to allow host and co-hosts to fully control the mute state of participants.

        • approval_type

          integer, possible values: 0, 1, 2 — The [approval type](https://support.zoom.us/hc/en-us/articles/204619915-Scheduling-a-webinar-with-registration) for webinar registrants. * `0` - Automatically approve registrants. * `1` - Manually approve registrants. * `2` - Webinar registration not required.

        • audio

          string, possible values: "telephony", "voip", "both" — The available audio options for participants joining the webinar. * `telephony` - Telephony only. * `voip` - VoIP only. * `both` - Both Telephony and VoIP.

        • authentication_domains

          string — A list of the allowed authenticated domains.

        • authentication_name

          string — The authentication name set in the [authentication profile](https://support.zoom.us/hc/en-us/articles/360037117472).

        • authentication_option

          string — The [authentication](https://support.zoom.us/hc/en-us/articles/4406604615693) option ID value.

        • auto_recording

          string, possible values: "local", "cloud", "none" — The [automatic recording](https://support.zoom.us/hc/en-us/articles/202921119-Automatic-Recording) settings for the webinar. * `local` - Record and save to the local device. * `cloud` - Record and save to the cloud. * `none` - Automatic recording disabled.

        • email_in_attendee_report

          boolean — Whether to include guest's email addresses in webinars' attendee reports.

        • enforce_login

          boolean — Whether to only allow signed in users to join the webinar.

        • host_video

          boolean — Whether to start the webinar with the host's video on.

        • language_interpretation

          object — The webinar's [language interpretation settings](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0064768). Make sure to add the language in the web portal in order to use it in the API. See link for details. **Note:** This feature is only available for certain Webinar add-on, Education, and Business and higher plans. If this feature is not enabled on the host's account, this setting will **not** be applied to the webinar. This is not supported for simulive webinars.

          • enable

            boolean — Whether to enable [language interpretation](https://support.zoom.com/hc/en/article?id=zm_kb&sysparm_article=KB0064768) for the webinar.

          • interpreters

            array — Information about the webinar's language interpreters.

            Items:
            • email

              string, format: email — The interpreter's email address.

            • interpreter_languages

              string — A comma-separated list of the interpreter's languages. The string must contain exactly two languages. To get this value, use the `language_interpretation` object's `languages` and `custom_languages` values in the [**Get user settings**](https://developers.zoom.us/docs/api/users/#tag/users/GET/users/{userId}/settings) API response. **languages**: System-supported languages include `English`, `Chinese`, `Japanese`, `German`, `French`, `Russian`, `Portuguese`, `Spanish`, and `Korean`. **custom_languages**: User-defined languages added by the user. For example, an interpreter translating between English and French should use `English,French`.

        • meeting_authentication

          boolean — Whether only authenticated users can join the webinar.

        • panelists_video

          boolean — Whether to turn panelists' video on when they join the webinar.

        • practice_session

          boolean — Whether to enable the [**Enable Practice Session**](https://support.zoom.us/hc/en-us/articles/206316975-Webinar-Practice-Session) feature.

        • registration_type

          integer, possible values: 1, 2, 3 — The webinar registration setting for recurring webinars: * `1` - Attendees register once and can attend any of the webinar occurrences. * `2` - Attendees must register for each occurrence to attend. * `3` - Attendees register once and can select one or more occurrences to attend.

        • sign_language_interpretation

          object — The webinar's [sign language interpretation settings](https://support.zoom.us/hc/en-us/articles/9644962487309-Using-sign-language-interpretation-in-a-meeting-or-webinar). Make sure to add the language in the web portal in order to use it in the API. See link for details. **Note:** If this feature is not enabled on the host's account, this setting will **not** be applied to the webinar.

          • enable

            boolean — Whether to enable [sign language interpretation](https://support.zoom.us/hc/en-us/articles/9644962487309-Using-sign-language-interpretation-in-a-meeting-or-webinar) for the webinar.

          • interpreters

            array — Information about the webinar's sign language interpreters.

            Items:
            • email

              string, format: email — The interpreter's email address.

            • sign_language

              string — The interpreter's sign language. To get this value, use the `sign_language_interpretation` object's `languages` and `custom_languages` values in the [**Get user settings**](https://developers.zoom.us/docs/api/rest/reference/zoom-api/methods#operation/userSettings) API response.

      • start_time

        string — The webinar's start time.

      • timezone

        string — The webinar's [timezone](https://marketplace.zoom.us/docs/api-reference/other-references/abbreviation-lists#timezones).

      • topic

        string — The webinar's topic.

      • type

        integer, possible values: 5, 6, 9 — The webinar type. * `5` - A webinar. * `6` - A recurring webinar without a fixed time. * `9` - A recurring webinar with a fixed time.

      • uuid

        string — The webinar's universally unique identifier (UUID). Each webinar instance generates a webinar UUID.

    • old_object (required)

      object

    • operator (required)

      string, format: email — The email address of the user who updated the webinar.

    • operator_id (required)

      string — The user ID of the user who updated the webinar.

    • time_stamp (required)

      integer, format: int64 — The webinar's update timestamp, in milliseconds.

    • scope

      string, possible values: "single", "all" — The type of operation performed. * `all` - The change was applied to all webinars. * `single` - The change was applied only to a single webinar.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "scope": "single",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "topic": "",
      "type": 5,
      "start_time": "",
      "duration": 1,
      "timezone": "",
      "password": "",
      "agenda": "",
      "registration_url": "",
      "occurrences": [
        {
          "occurrence_id": "",
          "start_time": "",
          "duration": 1,
          "status": "available",
          "additionalProperty": "anything"
        }
      ],
      "settings": {
        "host_video": true,
        "panelists_video": true,
        "practice_session": true,
        "approval_type": 0,
        "registration_type": 1,
        "audio": "telephony",
        "auto_recording": "local",
        "enforce_login": true,
        "meeting_authentication": true,
        "authentication_option": "",
        "authentication_name": "",
        "authentication_domains": "",
        "language_interpretation": {
          "enable": true,
          "interpreters": [
            {
              "email": "",
              "interpreter_languages": ""
            }
          ]
        },
        "sign_language_interpretation": {
          "enable": true,
          "interpreters": [
            {
              "email": "",
              "sign_language": ""
            }
          ]
        },
        "allow_host_control_participant_mute_state": true,
        "email_in_attendee_report": true,
        "additionalProperty": "anything"
      },
      "recurrence": {
        "type": 1,
        "repeat_interval": 1,
        "weekly_days": "",
        "monthly_day": 1,
        "monthly_week_day": 1,
        "end_times": 1,
        "end_date_time": "",
        "monthly_week": -1,
        "additionalProperty": "anything"
      },
      "additionalProperty": "anything"
    },
    "time_stamp": 1,
    "old_object": null,
    "additionalProperty": "anything"
  },
  "additionalProperty": "anything"
}

Recording.batch_recoveredEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the user that completed the meeting or webinar recording.

    • operator (required)

      string, format: email — The email address of the user who recovered the recording.

    • operator_id (required)

      string — The user ID of the user who recovered the recording.

    • object

      object — Information about the meeting or webinar recording.

      • meetings (required)

        array

        Items:
        • meeting_uuid

          string — The universally unique identifier (UUID) of the recorded meeting or webinar instance.

        • recording_file_ids

          array — The recording file's unique ID. If the current field value is NULL, it means to recover the whole Meeting Recording files.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "operator": "",
    "operator_id": "",
    "object": {
      "meetings": [
        {
          "meeting_uuid": "",
          "recording_file_ids": []
        }
      ]
    }
  }
}

Meeting.participant_room_system_callout_rejectedEvent

  • Type:object
  • event (required)

    string — The name of the event.

  • event_ts (required)

    integer, format: int64 — A timestamp at which the event occurred.

  • payload (required)

    object

    • account_id (required)

      string — The account ID of the meeting host.

    • object (required)

      object — Information about the meeting.

      • host_id (required)

        string — The user ID of the meeting host.

      • id (required)

        integer, format: int64 — The meeting ID.

      • inviter_name (required)

        string — The user name of the event's trigger.

      • message_id (required)

        string — The request unique identifier (UUID).

      • participant (required)

        object — Information about the invited participant.

        • call_type (required)

          string — The type of call out. Use a value of `h323` or `sip`.

        • device_ip (required)

          string — The user's device IP address.

      • uuid (required)

        string — The meeting's universally unique identifier (UUID). Each meeting instance generates a meeting UUID.

Example:

{
  "event": "",
  "event_ts": 1,
  "payload": {
    "account_id": "",
    "object": {
      "id": 1,
      "uuid": "",
      "host_id": "",
      "message_id": "",
      "inviter_name": "",
      "participant": {
        "call_type": "",
        "device_ip": ""
      }
    }
  }
}