# Canvas Webhooks - **OpenAPI Version:** `3.1.1` - **API Version:** `1.0.0` ## Servers - **URL:** `https://{your-endpoint-url}` ## Operations ### docs.file\_created - **Method:** `POST` - **Path:** `docs.file_created` - **Tags:** File Metadata The **File created** event is triggered every time a docs file is created for your account. Zoom offers multiple methods for users to create a new docs file. Users can manually create docs files via the Zoom client or the Zoom Docs web site. Users can also programmatically create docs files via the APIs like [**Create a new file**](https://developers.zoom.us/docs/api/zoom-docs/#tag/file-management/post/docs/files) and [**Create a new file by import**](https://developers.zoom.us/docs/api/zoom-docs/#tag/import/post/docs/imports). The event is delivered to the operator, the file owner, and all co-owners associated with the file account. If the operator is outside of the file account, the event message will not display the `operator_id` and `account_id`, and the operator will not receive the event. ## Prerequisites - **Event Subscriptions** must be enabled for your [Marketplace app](https://marketplace.zoom.us/user/build) with the following configurations: - A valid **Event Notification Endpoint URL**. - The **File created** subscription enabled under the **Docs** 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 file. - **`object` (required)** `object` — Information about the file. - **`file_id` (required)** `string` — The file ID. - **`file_name` (required)** `string` — The file name. - **`file_type` (required)** `string`, possible values: `"doc", "folder", "data_table"` — The file type. - **`operator_id` (required)** `string` — The user ID of the user who created the file. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator_id": "", "object": { "file_id": "", "file_name": "", "file_type": "doc" } } } ``` #### Responses ##### Status: 200 Successfully received the webhook event. ### docs.data\_table\_user\_mentioned - **Method:** `POST` - **Path:** `docs.data_table_user_mentioned` - **Tags:** DataTable Content The **Data Table User Mentioned** event is triggered every time when new users are mentioned for your account. There may be multiple users mentioned. ## Prerequisites - **Event Subscriptions** must be enabled for your [Marketplace app](https://marketplace.zoom.us/user/build) with the following configurations - A valid **Event Notification Endpoint URL** - The **Data Table User Mentioned** subscription enabled under the **Docs** 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 mentioned others. - **`object` (required)** `object` — Information about the mentioned users. - **`data_table_id` (required)** `string` — Data Table ID. - **`data_table_name` (required)** `string` — Data Table Name. - **`file_id` (required)** `string` — File ID. - **`file_name` (required)** `string` — File Name. - **`mentioned_users` (required)** `array` — Mention user list. **Items:** - **`email` (required)** `string` — User Email. - **`user_id` (required)** `string` — User ID. - **`primary_key_value` (required)** `string` — The row primary key value. - **`row_link` (required)** `string` — Link to the current row. - **`row_id`** `string` — The row ID. - **`operator` (required)** `string`, format: `email` — The email address of the user who mentioned others. - **`operator_id` (required)** `string` — The user ID of the user who mentioned others. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator": "", "operator_id": "", "object": { "file_id": "", "data_table_id": "", "row_id": "", "primary_key_value": "", "row_link": "", "mentioned_users": [ { "user_id": "", "email": "" } ], "file_name": "", "data_table_name": "" } } } ``` #### Responses ##### Status: 200 Successfully received the webhook event. ### docs.data\_table\_row\_created - **Method:** `POST` - **Path:** `docs.data_table_row_created` - **Tags:** DataTable Content The **Data Table Row Created** event is triggered every time a new data table row is created for your account. ## Prerequisites - **Event Subscriptions** must be enabled for your [Marketplace app](https://marketplace.zoom.us/user/build) with the following configurations - A valid **Event Notification Endpoint URL** - The **Data Table Row Created** subscription enabled under the **Docs** 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 row. - **`object` (required)** `object` — Information about the created row. - **`data_table_id` (required)** `string` — Data Table ID. - **`data_table_name` (required)** `string` — Data Table Name. - **`file_id` (required)** `string` — File ID. - **`file_name` (required)** `string` — File Name. - **`primary_key_value` (required)** `string` — The created row primary key value. - **`row_id` (required)** `string` — The created row ID. - **`row_link` (required)** `string` — Link to the created row. - **`operator` (required)** `string`, format: `email` — The email address of the user who created the new row. - **`operator_id` (required)** `string` — The user ID of the user who created the new row. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator": "", "operator_id": "", "object": { "file_id": "", "data_table_id": "", "row_id": "", "primary_key_value": "", "row_link": "", "file_name": "", "data_table_name": "" } } } ``` #### Responses ##### Status: 200 Successfully received the webhook event. ### canvas.file\_edited - **Method:** `POST` - **Path:** `canvas.file_edited` - **Tags:** File Content The **File edited** event is triggered when a file is edited in your account. This webhook employs an aggregation strategy. The **File edited** event is sent no later than one minute after the edit. The event is delivered to the operator, the file owner, and all co-owners associated with the file account. If the operator is outside of the file account, the event message will not display the `operator_id`,`operator`,and `account_id`, and the operator will not receive the event. ## Prerequisites - **Event Subscriptions** must be enabled for your [Marketplace app](https://marketplace.zoom.us/user/build) with the following configurations: - A valid **Event Notification Endpoint URL**. - The **File edited** subscription enabled under the **Docs** event. #### Request Body ##### Content-Type: application/json - **`event` (required)** `string` — The name of the event. - **`event_ts` (required)** `integer`, format: `int64` — The timestamp at which the event occurred. - **`payload` (required)** `object` - **`account_id` (required)** `string` — The account ID of the user who edited the file. - **`object` (required)** `object` — Information about the edited file. - **`file_id` (required)** `string` — The file ID. - **`file_name` (required)** `string` — The file name. - **`file_type` (required)** `string`, possible values: `"doc", "data_table"` — The file type. - **`operator` (required)** `string`, format: `email` — The email address of the user who edited the file. - **`operator_id` (required)** `string` — The user ID of the user who edited the file. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator": "", "operator_id": "", "object": { "file_id": "", "file_name": "", "file_type": "doc" } } } ``` #### Responses ##### Status: 200 Successfully received the webhook event. ### docs.data\_table\_row\_updated - **Method:** `POST` - **Path:** `docs.data_table_row_updated` - **Tags:** DataTable Content The **Data Table Row Updated** event is triggered every time a data table row is updated for your account. ## Prerequisites - **Event Subscriptions** must be enabled for your [Marketplace app](https://marketplace.zoom.us/user/build) with the following configurations - A valid **Event Notification Endpoint URL** - The **Data Table Row Updated** subscription enabled under the **Docs** 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 updated the row. - **`object` (required)** `object` — Information about the updated row. - **`column_ids` (required)** `array` — The ID list of the updated column. **Items:** `string` — The ID of the updated column. - **`data_table_id` (required)** `string` — Data Table ID. - **`data_table_name` (required)** `string` — Data Table Name. - **`file_id` (required)** `string` — File ID. - **`file_name` (required)** `string` — File Name. - **`primary_key_value` (required)** `string` — The updated row primary key value. - **`row_id` (required)** `string` — The updated row ID. - **`row_link` (required)** `string` — Link to the updated row. - **`operator` (required)** `string`, format: `email` — The email address of the user who updated the row. - **`operator_id` (required)** `string` — The user ID of the user who updated the row. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator": "", "operator_id": "", "object": { "file_id": "", "data_table_id": "", "row_id": "", "primary_key_value": "", "row_link": "", "column_ids": [ "" ], "file_name": "", "data_table_name": "" } } } ``` #### Responses ##### Status: 200 Successfully received the webhook event. ## Schemas ### Docs.file\_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 file. - **`object` (required)** `object` — Information about the file. - **`file_id` (required)** `string` — The file ID. - **`file_name` (required)** `string` — The file name. - **`file_type` (required)** `string`, possible values: `"doc", "folder", "data_table"` — The file type. - **`operator_id` (required)** `string` — The user ID of the user who created the file. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator_id": "", "object": { "file_id": "", "file_name": "", "file_type": "doc" } } } ``` ### Docs.data\_table\_user\_mentionedEvent - **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 mentioned others. - **`object` (required)** `object` — Information about the mentioned users. - **`data_table_id` (required)** `string` — Data Table ID. - **`data_table_name` (required)** `string` — Data Table Name. - **`file_id` (required)** `string` — File ID. - **`file_name` (required)** `string` — File Name. - **`mentioned_users` (required)** `array` — Mention user list. **Items:** - **`email` (required)** `string` — User Email. - **`user_id` (required)** `string` — User ID. - **`primary_key_value` (required)** `string` — The row primary key value. - **`row_link` (required)** `string` — Link to the current row. - **`row_id`** `string` — The row ID. - **`operator` (required)** `string`, format: `email` — The email address of the user who mentioned others. - **`operator_id` (required)** `string` — The user ID of the user who mentioned others. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator": "", "operator_id": "", "object": { "file_id": "", "data_table_id": "", "row_id": "", "primary_key_value": "", "row_link": "", "mentioned_users": [ { "user_id": "", "email": "" } ], "file_name": "", "data_table_name": "" } } } ``` ### Docs.data\_table\_row\_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 row. - **`object` (required)** `object` — Information about the created row. - **`data_table_id` (required)** `string` — Data Table ID. - **`data_table_name` (required)** `string` — Data Table Name. - **`file_id` (required)** `string` — File ID. - **`file_name` (required)** `string` — File Name. - **`primary_key_value` (required)** `string` — The created row primary key value. - **`row_id` (required)** `string` — The created row ID. - **`row_link` (required)** `string` — Link to the created row. - **`operator` (required)** `string`, format: `email` — The email address of the user who created the new row. - **`operator_id` (required)** `string` — The user ID of the user who created the new row. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator": "", "operator_id": "", "object": { "file_id": "", "data_table_id": "", "row_id": "", "primary_key_value": "", "row_link": "", "file_name": "", "data_table_name": "" } } } ``` ### Canvas.file\_editedEvent - **Type:**`object` * **`event` (required)** `string` — The name of the event. * **`event_ts` (required)** `integer`, format: `int64` — The timestamp at which the event occurred. * **`payload` (required)** `object` - **`account_id` (required)** `string` — The account ID of the user who edited the file. - **`object` (required)** `object` — Information about the edited file. - **`file_id` (required)** `string` — The file ID. - **`file_name` (required)** `string` — The file name. - **`file_type` (required)** `string`, possible values: `"doc", "data_table"` — The file type. - **`operator` (required)** `string`, format: `email` — The email address of the user who edited the file. - **`operator_id` (required)** `string` — The user ID of the user who edited the file. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator": "", "operator_id": "", "object": { "file_id": "", "file_name": "", "file_type": "doc" } } } ``` ### Docs.data\_table\_row\_updatedEvent - **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 updated the row. - **`object` (required)** `object` — Information about the updated row. - **`column_ids` (required)** `array` — The ID list of the updated column. **Items:** `string` — The ID of the updated column. - **`data_table_id` (required)** `string` — Data Table ID. - **`data_table_name` (required)** `string` — Data Table Name. - **`file_id` (required)** `string` — File ID. - **`file_name` (required)** `string` — File Name. - **`primary_key_value` (required)** `string` — The updated row primary key value. - **`row_id` (required)** `string` — The updated row ID. - **`row_link` (required)** `string` — Link to the updated row. - **`operator` (required)** `string`, format: `email` — The email address of the user who updated the row. - **`operator_id` (required)** `string` — The user ID of the user who updated the row. **Example:** ```json { "event": "", "event_ts": 1, "payload": { "account_id": "", "operator": "", "operator_id": "", "object": { "file_id": "", "data_table_id": "", "row_id": "", "primary_key_value": "", "row_link": "", "column_ids": [ "" ], "file_name": "", "data_table_name": "" } } } ```