# Tasks - **OpenAPI Version:** `3.1.1` - **API Version:** `2` The Zoom Tasks APIs let you manage and automate tasks within the Zoom ecosystem. Create, view, update, and delete tasks that help teams stay organized across meetings and projects. The Zoom Tasks REST API lets developers programmatically integrate task management into their workflows, enabling seamless coordination and productivity directly through Zoom. ## Servers - **URL:** `https://api.zoom.us/v2` ## Operations ### Get assignees of a task - **Method:** `GET` - **Path:** `/tasks/items/{taskId}/assignees` - **Tags:** Assignee Retrieves the list of assignees of a specified task. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks_assignee:read:admin`,`tasks_assignee:read` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:read:assignees`,`tasks:read:assignees:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 200 Assignees retrieved successfully. ###### Content-Type: application/json - **`assignees`** `array` — A list of all assignees associated with the task. **Items:** - **`display_name` (required)** `string` — The display name of the assignee. - **`user_id` (required)** `string` — The Zoom user ID of the task assignee. - **`avatar`** `string`, format: `uri` — The assignee's avatar image URL. - **`email`** `string`, format: `email` — The email address of the assignee. - **`task_id`** `string` — The unique ID of the task. **Example:** ```json { "task_id": "z2vo9qNRRHKArlJqkVHNUw", "assignees": [ { "user_id": "CcrEGgmeQem1uyJsuIRKwA", "display_name": "John Doe", "email": "john.doe@example.com", "avatar": "https://example.com/avatar.jpg" } ] } ``` ##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You don't have permission to request the task \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The resource not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Add assignees to a task - **Method:** `POST` - **Path:** `/tasks/items/{taskId}/assignees` - **Tags:** Assignee Add one or more assignees to a specified task. If a user is an assignee, they are also considered a collaborator. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks_assignee:write`,`tasks_assignee:write:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:write:assignees`,`tasks:write:assignees:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Request Body ##### Content-Type: application/json - **`assignees` (required)** `array` — The email address of the assignee to add. The user must belong to the same account as the requesting user. **Items:** - **`email` (required)** `string`, format: `email` — The email address of the assignee to invite. - **`invite_message`** `string` — An optional message to include with the assignee invitation. - **`skip_notifications`** `boolean`, default: `false` — Whether to skip sending notifications to the added assignees. By default, notifications are sent. **Example:** ```json { "invite_message": "Please help with this task.", "skip_notifications": false, "assignees": [ { "email": "user@example.com" } ] } ``` #### Responses ##### Status: 201 Assignees added successfully. ###### Content-Type: application/json - **`assignees` (required)** `array` — A list of all assignees associated with the task. **Items:** - **`display_name` (required)** `string` — The assignee's Zdisplay name. - **`user_id` (required)** `string` — The assignee's Zoom user ID. - **`avatar`** `string`, format: `uri` — The assignee's Zavatar image URL. - **`email`** `string`, format: `email` — The assignee's Zemail address. - **`task_id` (required)** `string` — The task's unique ID. **Example:** ```json { "task_id": "z2vo9qNRRHKArlJqkVHNUw", "assignees": [ { "user_id": "CcrEGgmeQem1uyJsuIRKwA", "display_name": "John Doe", "email": "john.doe@example.com", "avatar": "https://example.com/avatar.jpg" } ] } ``` ##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`34002\` \
Invalid email {email}. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You are no permission to request the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The resource not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Remove Assignee from task - **Method:** `DELETE` - **Path:** `/tasks/items/{taskId}/assignees/{userId}` - **Tags:** Assignee Removes a specific assignee from a task. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks_assignee:write`,`tasks_assignee:write:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:delete:assignees`,`tasks:delete:assignees:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 204 Collaborator removed successfully ##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You do not have permission to operate on the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The task not found. \
\*\*Error Code:\*\* \`112100\` \
The assignee not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Get collaborators of a task - **Method:** `GET` - **Path:** `/tasks/items/{taskId}/collaborators` - **Tags:** Collaborator Retrieves all collaborators of a specified task. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks_collaborator:read:admin`,`tasks_collaborator:read` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:read:list_collaborators`,`tasks:read:list_collaborators:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 200 Collaborators retrieved successfully. ###### Content-Type: application/json - **`collaborators`** `array` — A list of all collaborators associated with the task. **Items:** - **`display_name` (required)** `string` — The display name of the collaborator. - **`user_id` (required)** `string` — The Zoom user ID of the collaborator. - **`avatar`** `string`, format: `uri` — The avatar image URL of the collaborator. - **`email`** `string`, format: `email` — The email address of the collaborator. - **`task_id`** `string` — The unique ID of the task. **Example:** ```json { "task_id": "z2vo9qNRRHKArlJqkVHNUw", "collaborators": [ { "user_id": "CcrEGgmeQem1uyJsuIRKwA", "display_name": "John Doe", "email": "john.doe@example.com", "avatar": "https://example.com/avatar.jpg" } ] } ``` ##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You don't have permission to request the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The resource not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Add collaborators to a task - **Method:** `POST` - **Path:** `/tasks/items/{taskId}/collaborators` - **Tags:** Collaborator Add one or more collaborators to a specified task. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks_collaborator:write`,`tasks_collaborator:write:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:write:collaborators`,`tasks:write:collaborators:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Request Body ##### Content-Type: application/json - **`collaborators` (required)** `array` — A list of collaborators to add to the task. The user must belong to the same account as the requesting user. **Items:** - **`email` (required)** `string`, format: `email` — The email address of the collaborator to invite. - **`invite_message`** `string` — An optional message to include with the collaborator invitation. - **`skip_notifications`** `boolean` — Whether to skip sending notifications to the added collaborators. By default, notifications are sent. **Example:** ```json { "invite_message": "Please help with this task.", "skip_notifications": false, "collaborators": [ { "email": "jchill@example.com" } ] } ``` #### Responses ##### Status: 201 Collaborators added successfully. ###### Content-Type: application/json - **`collaborators` (required)** `array` — A list of all collaborators associated with the task. **Items:** - **`display_name` (required)** `string` — The collaborator's display name. - **`user_id` (required)** `string` — The collaborator's Zoom user ID. - **`avatar`** `string`, format: `uri` — The collaborator's avatar image URL. - **`email`** `string`, format: `email` — The collaborator's email address. - **`task_id` (required)** `string` — The task's unique ID. **Example:** ```json { "task_id": "z2vo9qNRRHKArlJqkVHNUw", "collaborators": [ { "user_id": "CcrEGgmeQem1uyJsuIRKwA", "display_name": "John Doe", "email": "john.doe@example.com", "avatar": "https://example.com/avatar.jpg" } ] } ``` ##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`34002\` \
Invalid email {email}. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You are no permission to request the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The resource not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Remove collaborator from task - **Method:** `DELETE` - **Path:** `/tasks/items/{taskId}/collaborators/{userId}` - **Tags:** Collaborator Removes a specific collaborator from a task. This operation will completely remove the user's access to the task. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks_collaborator:write`,`tasks_collaborator:write:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:delete:collaborator:admin`,`tasks:delete:collaborator` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 204 Collaborator removed successfully ##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You do not have permission to operate on the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The task not found. \
\*\*Error Code:\*\* \`112100\` \
The assignee not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Get a task's comments - **Method:** `GET` - **Path:** `/tasks/items/{taskId}/comments` - **Tags:** Comment Retrieves all comments associated with a specific task. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks_comment:read`,`tasks_comment:read:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:read:comments`,`tasks:read:comments:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 200 Task comments retrieved successfully. ###### Content-Type: application/json - **`comments`** `array` — The list of comments associated with the task. **Items:** - **`comment_id`** `string` — The unique identifier of the comment. - **`content`** `array` — The array of content fragments that make up the comment. Each fragment must define its order and contain either plain text or a mention. Fragments may also include attributes such as a hyperlink. **Items:** - **`order` (required)** `number` — The position of the fragment within the comment. Must be unique within the \`content\` array. Defines the sequence for rendering. - **`attributes`** `object` — Optional metadata for the fragment. Currently supports only hyperlinks. - **`link`** `string` — The URL associated with the fragment's text. Typically an absolute \`http\://\` or \`https\://\` link. - **`mention`** `object` — Represents a mention of an entity (e.g., a user). If present, the fragment represents a mention instead of plain text. - **`avatar`** `string`, format: `uri` — The avatar image URL of the user. - **`display_name`** `string` — The display name of the user. - **`email`** `string` — The email address of the user being mentioned. - **`user_id`** `string` — The user ID of the user being mentioned. - **`text`** `string` — The plain text fragment. May include letters, numbers, symbols, or emoji. Required if no \`mention\` is provided. If combined with \`attributes.link\`, this text is rendered as a hyperlink. - **`content_text`** `string` — A plain text version of the entire comment content. - **`create_time`** `integer`, format: `int64` — Creation timestamp in milliseconds. - **`next_page_token`** `string` — Use the next page token to paginate through a large set of results. A next page token is returned when the available results exceed the current page size. This token's expiration period is 15 minutes. - **`page_size`** `integer` — The number of records returned per page in a single API call. - **`total_records`** `integer` — The total number of records found. **Example:** ```json { "comments": [ { "comment_id": "comment_abc123def456", "content": [ { "text": "the text demo", "order": 0, "attributes": { "link": "https://google.cn" }, "mention": { "email": "example@zoom.us", "user_id": "3afwV0HiZS9mCLpxSQQbVz", "display_name": "John Doe", "avatar": "https://example.com/avatar.jpg" } } ], "content_text": "the text demo", "create_time": 1752715586000 } ], "next_page_token": "qUEQqB1V0HVhJmwKFQrGOD", "page_size": 10, "total_records": 2 } ``` ##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You don't have permission to operate on the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The task not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Add a comment to a task - **Method:** `POST` - **Path:** `/tasks/items/{taskId}/comments` - **Tags:** Comment Adds a comment to a specific task. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks_comment:write`,`tasks_comment:write:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:write:comment:admin`,`tasks:write:comment` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Request Body ##### Content-Type: application/json - **`content` (required)** `array` — The array of content fragments that make up the comment. Each fragment must define its order and contain either plain text or a mention. Fragments may also include attributes such as hyperlinks. **Items:** - **`order` (required)** `number` — The position of the fragment within the comment. Must be unique within the \`content\` array. Defines the sequence for rendering. - **`attributes`** `object` — Optional metadata for the fragment. Currently supports only hyperlinks. - **`link`** `string` — The URL associated with the fragment's text, typically an absolute http\:// or https\:// link. - **`mention`** `object` — Represents a user mention. Provide either the email or the user ID. If present, the fragment will be treated as a mention instead of plain text. - **`email`** `string`, format: `email` — The email address of the user being mentioned. - **`user_id`** `string` — The user ID of the user being mentioned. - **`text`** `string` — A plain text fragment that may include letters, numbers, symbols, or emoji. Required if no mention is provided. If combined with attributes.link, this text is rendered as a hyperlink. - **`content_text` (required)** `string` — A plain text version of the entire comment content. **Example:** ```json { "content": [ { "text": "the text demo", "order": 0, "attributes": { "link": "https://google.cn" }, "mention": { "email": "example@zoom.us", "user_id": "3afwV0HiZS9mCLpxSQQbV" } } ], "content_text": "the text demo" } ``` #### Responses ##### Status: 201 Comment added successfully ###### Content-Type: application/json - **`comment_id` (required)** `string` — The unique identifier of the created comment. - **`content` (required)** `array` — The array of content fragments that make up the comment. Each fragment must define its order and contain either plain text or a mention. Fragments may also include attributes such as a hyperlink. **Items:** - **`order` (required)** `number` — The position of the fragment within the comment. Must be unique within the \`content\` array. Defines the sequence for rendering. - **`attributes`** `object` — Optional metadata for the fragment. Currently supports only hyperlinks. - **`link`** `string` — The URL associated with the fragment's text, typically an absolute http\:// or https\:// link. - **`mention`** `object` — Represents a mention of an entity (e.g., a user). If present, the fragment represents a mention instead of plain text. - **`avatar`** `string`, format: `uri` — The avatar image URL of the user. - **`display_name`** `string` — The display name of the user. - **`email`** `string` — The email address of the user being mentioned. - **`user_id`** `string` — The user ID of the user being mentioned. - **`text`** `string` — A plain text fragment that may include letters, numbers, symbols, or emoji. Required if no mention is provided. If combined with attributes.link, this text is rendered as a hyperlink. - **`content_text`** `string` — A plain text version of the entire comment content. - **`create_time`** `integer`, format: `int64` — Creation timestamp in milliseconds. **Example:** ```json { "comment_id": "comment_abc123def456", "content": [ { "text": "the text demo", "order": 0, "attributes": { "link": "https://google.cn" }, "mention": { "email": "example@zoom.us", "user_id": "3afwV0HiZS9mCLpxSQQbV", "display_name": "John Doe", "avatar": "https://example.com/avatar.jpg" } } ], "content_text": "the text demo", "create_time": 1752715586000 } ``` ##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`34002\` \
Invalid request body. Please verify the content and try again. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You don't have permission to request the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The resource not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Delete a task's comment - **Method:** `DELETE` - **Path:** `/tasks/items/{taskId}/comments/{commentId}` - **Tags:** Comment Deletes a specific comment from a task by its ID. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks_comment:write`,`tasks_comment:write:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:delete:comment:admin`,`tasks:delete:comment` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 204 Comment deleted successfully. No content is returned. ##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You don't have permission to operate on the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The task not found. \
\*\*Error Code:\*\* \`112100\` \
The comment not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### List tasks - **Method:** `GET` - **Path:** `/tasks/items` - **Tags:** Tasks Retrieves tasks assigned to, or created by, the current user with advanced filtering, sorting, and pagination options. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:read`,`tasks:read:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:read:list_tasks:admin`,`tasks:read:list_tasks` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 200 Tasks retrieved successfully ###### Content-Type: application/json - **`tasks` (required)** `array` — List of tasks matching the query criteria. **Items:** - **`ai_generated` (required)** `boolean` — Whether the task was generated by AI. - **`create_time` (required)** `string`, format: `date-time` — The task create date-time in UTC/GMT. - **`is_public` (required)** `boolean`, default: `false` — Determines the task's visibility. \* \`true\` - The task is accessible to all members of your organization. \* \`false\` - The task is accessible only to the assigned users and collaborators. - **`modify_time` (required)** `string`, format: `date-time` — The task modify date-time in UTC/GMT. - **`priority` (required)** `string`, possible values: `"Low", "Medium", "High", "Highest"`, default: `"Medium"` — The task's priority level. - **`source_type` (required)** `string`, possible values: `"user", "aic_meeting_summary", "whiteboard", "notes", "docs", "phone", "chat", "email", "meeting", "aic"` — Type of the source that created the task. - **`starred` (required)** `boolean` — Whether the task is starred by the user. - **`status` (required)** `string`, possible values: `"To do", "In progress", "Done", "Blocked", "Recommended"`, default: `"To do"` — The task's current status. - **`task_id` (required)** `string` — The unique identifier of the task. - **`title` (required)** `string` — The title of the task. - **`assignees`** `array` — A list of all assignees associated with the task. Only the first 5 assignees are returned. **Items:** - **`display_name` (required)** `string` — The display name of the assignee. - **`user_id` (required)** `string` — The Zoom user ID of the assignee. - **`avatar`** `string`, format: `uri` — The avatar image URL of the assignee. - **`email`** `string`, format: `email` — The email address of the assignee. - **`collaborators`** `array` — A list of all collaborators associated with the task. Only the first 5 collaborators are returned. **Items:** - **`display_name` (required)** `string` — The display name of the collaborator. - **`user_id` (required)** `string` — The Zoom user ID of the collaborator. - **`avatar`** `string`, format: `uri` — The avatar image URL of the collaborator. - **`email`** `string`, format: `email` — The email address of the collaborator. - **`description`** `string` — A description of the task that will be truncated. The maximum length is 200 characters. - **`due_date`** `string`, format: `date` — The task's due date in UTC, formatted as \`yyyy-MM-dd\`. - **`friendly_task_id`** `string` — The task friendly ID. - **`link`** `string` — The task share link. - **`unread`** `boolean` — Whether the task is unread by the current user. - **`total_records` (required)** `integer` — The total number of records found. - **`next_page_token`** `string` — Use the next page token to paginate through a large set of results. A next page token is returned when the available results exceed the current page size. This token's expiration period is 15 minutes. - **`page_size`** `integer` — The number of records returned per page in a single API call. **Example:** ```json { "next_page_token": "qUEQqB1V0HVhJmwKFQrGOD", "page_size": 10, "total_records": 2, "tasks": [ { "task_id": "z2vo9qNRRHKArlJqkVHNUw", "title": "Complete project documentation", "description": "Write comprehensive documentation for the new API endpoints...", "priority": "Medium", "status": "To do", "is_public": false, "due_date": "2025-09-24", "ai_generated": false, "starred": true, "unread": false, "assignees": [ { "user_id": "CcrEGgmeQem1uyJsuIRKwA", "display_name": "John Doe", "email": "john.doe@example.com", "avatar": "https://example.com/avatar.jpg" } ], "collaborators": [ { "user_id": "CcrEGgmeQem1uyJsuIRKwA", "display_name": "John Doe", "email": "john.doe@example.com", "avatar": "https://example.com/avatar.jpg" } ], "friendly_task_id": "Task-1", "link": "https://tasks.zoomdev.us/ws53iQgOOkOdzVTxZaVoRA/TASK-1", "create_time": "2025-03-31T12:02:00Z", "modify_time": "2025-03-31T12:02:00Z", "source_type": "user" } ] } ``` ##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`38004\` \
invalid params {params\_name} \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Create a new task - **Method:** `POST` - **Path:** `/tasks/items` - **Tags:** Tasks Provide essential details to create a new task without file attachments. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:write` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:write:task` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Request Body ##### Content-Type: application/json - **`title` (required)** `string` — The tasks's title. Maximum 500 characters. - **`assignees`** `array` — A list of assignees to add to the task. Maximum of 20. If empty, the request user is added by default. **Items:** - **`email`** `string` — The email address of the assignee to invite. The potential assignee must belong to the same account as the requesting user. - **`collaborators`** `array` — A list of collaborators to invite to the task. Maximum 20. **Items:** - **`email`** `string` — The email address of the collaborator to invite. The potential collaborator must belong to the same account as the requesting user. - **`description`** `string` — The task's detailed description. Maximum 10,000 characters. - **`due_date`** `string`, format: `date` — The task's due date in UTC, formatted as \`yyyy-MM-dd\`. - **`invite_message`** `string` — Include an optional message when inviting a user as a collaborator or assignee. Maximum length is 200 characters. - **`is_public`** `boolean`, default: `false` — Determines the task's visibility. \* \`true\` - The task is accessible to all members of your organization. \* \`false\` - The task is accessible only to the assigned users and collaborators. - **`priority`** `string`, possible values: `"Low", "Medium", "High", "Highest"`, default: `"Medium"` — The task's priority level. - **`skip_notifications`** `boolean` — Whether to skip sending notifications to collaborators. - **`starred`** `boolean`, default: `false` — Whether the task is starred. - **`status`** `string`, possible values: `"To do", "In progress", "Done", "Blocked", "Recommended"`, default: `"To do"` — The task's current status. **Example:** ```json { "title": "Complete project documentation", "description": "Write comprehensive documentation for the new API endpoints", "priority": "Medium", "status": "To do", "due_date": "2025-09-24", "is_public": false, "starred": false, "collaborators": [ { "email": "potential-collaborator@example.com" } ], "invite_message": "Please join this task to help review the API documentation.", "skip_notifications": false, "assignees": [ { "email": "invited-assignee@example.com" } ] } ``` #### Responses ##### Status: 201 Task created successfully. ###### Content-Type: application/json - **`create_time` (required)** `string`, format: `date-time` — The creation date and time in UTC/GMT format. - **`is_public` (required)** `boolean`, default: `false` — Determines the task's visibility. \* \`true\` - The task is accessible to all members of your organization. \* \`false\` - The task is accessible only to the assigned users and collaborators. - **`priority` (required)** `string`, possible values: `"Low", "Medium", "High", "Highest"`, default: `"Medium"` — The task's priority level. - **`starred` (required)** `boolean` — Indicates whether the task is starred by the user. - **`status` (required)** `string`, possible values: `"To do", "In progress", "Done", "Blocked", "Recommended"`, default: `"To do"` — The task's current status. - **`task_id` (required)** `string` — The created task's unique identifier. - **`title` (required)** `string` — The task's title. - **`assignees`** `array` — A list of all assignees associated with the task. **Items:** - **`user_id` (required)** `string` — The assignee's Zoom user ID. - **`email`** `string` — The email address of the assignee. - **`collaborators`** `array` — A list of collaborators associated with the task. **Items:** - **`user_id` (required)** `string` — The collaborator's Zoom user ID. - **`email`** `string` — The email address of the collaborator. - **`description`** `string` — The task's detailed description. - **`due_date`** `string`, format: `date` — The task's due date in UTC, formatted as \`yyyy-MM-dd\`. - **`friendly_task_id`** `string` — The human-readable identifier of the task. - **`link`** `string` — The direct URL link to the task. **Example:** ```json { "task_id": "z2vo9qNRRHKArlJqkVHNUw", "title": "Complete project documentation", "description": "Write comprehensive documentation for the new API endpoints", "priority": "Medium", "status": "To do", "is_public": false, "due_date": "2025-09-24", "starred": false, "collaborators": [ { "user_id": "w0RChiauQeqRlv5fgxYULQ", "email": "john.doe@example.com" } ], "assignees": [ { "user_id": "w0RChiauQeqRlv5fgxYULQ", "email": "invited-assignee@example.com" } ], "create_time": "2025-03-25T07:29:29Z", "friendly_task_id": "Task-1", "link": "https://tasks.example.com/ws53iQgOOkOdzVTxZaVoRA/TASK-1" } ``` ##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`34002\` \
Invalid email {email}. \
\*\*Error Code:\*\* \`34002\` \
The title is too long. \
\*\*Error Code:\*\* \`34002\` \
The description is too long. \
\*\*Error Code:\*\* \`34002\` \
Invalid field {field\_name}. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Get task details - **Method:** `GET` - **Path:** `/tasks/items/{taskId}` - **Tags:** Tasks Retrieves detailed information about a specific task by it’s ID **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:read`,`tasks:read:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:read:task`,`tasks:read:task:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 200 Task details retrieved successfully ###### Content-Type: application/json - **`create_time` (required)** `string`, format: `date-time` — The task create date-time in UTC/GMT. - **`is_ai_generated` (required)** `boolean` — Whether the task was generated by AI. - **`is_public` (required)** `boolean`, default: `false` — Determines the task's visibility. \* \`true\` - The task is accessible to all members of your organization. \* \`false\` - The task is accessible only to the assigned users and collaborators. - **`modify_time` (required)** `string`, format: `date-time` — The task modify date-time in UTC/GMT. - **`priority` (required)** `string`, possible values: `"Low", "Medium", "High", "Highest"`, default: `"Medium"` — The task's priority level. - **`source_type` (required)** `string`, possible values: `"user", "aic_meeting_summary", "whiteboard", "notes", "docs", "phone", "chat", "email", "meeting", "aic"` — Type of the source that created the task. - **`starred` (required)** `boolean` — Whether the task is starred by the user. - **`status` (required)** `string`, possible values: `"To do", "In progress", "Done", "Blocked", "Recommended"`, default: `"To do"` — The task's current status. - **`task_id` (required)** `string` — The unique identifier of the task. - **`title` (required)** `string` — The title of the task. - **`assignees`** `array` — A list of all assignees associated with the task. **Items:** - **`display_name` (required)** `string` — The display name of the assignee. - **`user_id` (required)** `string` — The Zoom user ID of the assignee. - **`avatar`** `string`, format: `uri` — The avatar image URL of the assignee. - **`email`** `string`, format: `email` — The email address of the assignee. - **`associated_meeting`** `object` — Associated meeting information - **`id`** `integer`, format: `int64` — \[Meeting ID]\(https\://support.zoom.us/hc/en-us/articles/201362373-What-is-a-Meeting-ID-): Unique identifier of the meeting in \*\*long\*\* format, represented as int64 data type in JSON, also known as the meeting number. - **`meeting_date`** `string`, format: `date-time` — The meeting start date-time in UTC/GMT. - **`topic`** `string` — The topic of the associated meeting - **`uuid`** `string` — The unique Meeting ID. Each meeting instance will generate its own Meeting UUID. - **`collaborators`** `array` — A list of all collaborators associated with the task. **Items:** - **`display_name` (required)** `string` — The display name of the collaborator. - **`user_id` (required)** `string` — The Zoom user ID of the collaborator. - **`avatar`** `string`, format: `uri` — The avatar image URL of the collaborator. - **`email`** `string`, format: `email` — The email address of the collaborator. - **`description`** `string` — A detailed description of the task. - **`due_date`** `string`, format: `date` — The task's due date in UTC, formatted as \`yyyy-MM-dd\`. - **`friendly_task_id`** `string` — The task friendly ID. - **`link`** `string` — The task share link. - **`tasks_attachments`** `array` — List of attachments associated with the task **Items:** - **`attachment_id`** `string` — The unique identifier of the attachment. - **`download_url`** `string` — The download link for the attachment will remain valid for 7,200 seconds. - **`file_name`** `string` — The name of the attached file. - **`file_size`** `integer` — The size of the file in bytes. - **`mime_type`** `string` — The MIME type of the file. - **`upload_time`** `string`, format: `date-time` — The file upload date-time in UTC/GMT. **Example:** ```json { "task_id": "z2vo9qNRRHKArlJqkVHNUw", "title": "the tasks title demo", "description": "the task description", "priority": "Medium", "status": "To do", "is_public": false, "due_date": "2025-09-24", "is_ai_generated": false, "starred": false, "tasks_attachments": [], "assignees": [ { "user_id": "w0RChiauQeqRlv5fgxYULQ", "display_name": "John Doe", "email": "john.doe@example.com", "avatar": "https://example.com/avatar.jpg" } ], "collaborators": [ { "user_id": "w0RChiauQeqRlv5fgxYULQ", "display_name": "John Doe", "email": "john.doe@example.com", "avatar": "https://example.com/avatar.jpg" } ], "source_type": "user", "friendly_task_id": "Task-1", "link": "https://tasks.zoomdev.us/ws53iQgOOkOdzVTxZaVoRA/TASK-1", "associated_meeting": { "id": 97763643886, "uuid": "aDYlohsHRtCd4ii1uC2+hA==", "topic": "Tasks Meeting", "meeting_date": "2025-03-31T12:02:00Z" }, "create_time": "2025-03-31T12:02:00Z", "modify_time": "2025-03-31T12:02:00Z" } ``` ##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You don't have permission to request the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The resource not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Delete a task - **Method:** `DELETE` - **Path:** `/tasks/items/{taskId}` - **Tags:** Tasks Permanently delete a task and all its associated data including descriptions, attachments, collaborators, and integrations. This operation cannot be undone. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:delete`,`tasks:delete:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:delete:task:admin`,`tasks:delete:task` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Responses ##### Status: 204 Task deleted successfully ##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You don't have permission to request the task. \
##### Status: 404 \*\*HTTP Status Code:\*\* \`404\` \
Not Found \*\*Error Code:\*\* \`112100\` \
The resource not found. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/). ### Update task fields - **Method:** `PATCH` - **Path:** `/tasks/items/{taskId}` - **Tags:** Tasks Updates specific fields of an existing task. Only provided fields will be updated, others will remain unchanged. **[Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:write`,`tasks:write:admin` **[Granular Scopes](https://developers.zoom.us/docs/integrations/oauth-scopes-overview/):** `tasks:update:task`,`tasks:update:task:admin` **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `LIGHT` #### Request Body ##### Content-Type: application/json - **`description`** `string` — A detailed description of the task. Maximum 10,000 characters. - **`due_date`** `string`, format: `date` — The task's due date in UTC, formatted as \`yyyy-MM-dd\`. - **`is_public`** `boolean`, default: `false` — Determines the task's visibility. \* \`true\` - The task is accessible to all members of your organization. \* \`false\` - The task is accessible only to the assigned users and collaborators. - **`priority`** `string`, possible values: `"Low", "Medium", "High", "Highest"`, default: `"Medium"` — The task's priority level. - **`starred`** `boolean` — Whether the task should be starred. - **`status`** `string`, possible values: `"To do", "In progress", "Done", "Blocked", "Recommended"`, default: `"To do"` — The task's current status. - **`title`** `string` — The title of the task. Maximum 500 characters. **Example:** ```json { "title": "Complete project documentation", "description": "Write comprehensive documentation for the new API endpoints", "priority": "Medium", "status": "To do", "due_date": "2025-09-24", "is_public": false, "starred": true } ``` #### Responses ##### Status: 204 Task updated successfully ##### Status: 400 \*\*HTTP Status Code:\*\* \`400\` \
Bad Request \*\*Error Code:\*\* \`34002\` \
Invalid field {field\_name}. \
\*\*Error Code:\*\* \`34002\` \
The title is too long. \
\*\*Error Code:\*\* \`34002\` \
The description is too long. \
##### Status: 403 \*\*HTTP Status Code:\*\* \`403\` \
Forbidden \*\*Error Code:\*\* \`111800\` \
You don't have permission to request the task. \
##### Status: 429 \*\*HTTP Status Code:\*\* \`429\` \
Too Many Requests. For more information, see \[rate limits]\(https\://developers.zoom.us/docs/api/rate-limits/).