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: tasks_assignee:read:admin,tasks_assignee:read
Granular Scopes: tasks:read:assignees,tasks:read:assignees:admin
Rate Limit Label: LIGHT
Responses
Status: 200 Assignees retrieved successfully.
Content-Type: application/json
-
assigneesarray— 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. -
avatarstring, format:uri— The assignee's avatar image URL. -
emailstring, format:email— The email address of the assignee.
-
-
task_idstring— The unique ID of the task.
Example:
{
"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` <br> Forbidden **Error Code:** `111800` <br> You don't have permission to request the task <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The resource not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks_assignee:write,tasks_assignee:write:admin
Granular Scopes: tasks:write:assignees,tasks:write:assignees:admin
Rate Limit Label: 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_messagestring— An optional message to include with the assignee invitation. -
skip_notificationsboolean, default:false— Whether to skip sending notifications to the added assignees. By default, notifications are sent.
Example:
{
"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. -
avatarstring, format:uri— The assignee's Zavatar image URL. -
emailstring, format:email— The assignee's Zemail address.
-
-
task_id(required)string— The task's unique ID.
Example:
{
"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` <br> Bad Request **Error Code:** `34002` <br> Invalid email {email}. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `111800` <br> You are no permission to request the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The resource not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks_assignee:write,tasks_assignee:write:admin
Granular Scopes: tasks:delete:assignees,tasks:delete:assignees:admin
Rate Limit Label: LIGHT
Responses
Status: 204 Collaborator removed successfully
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `111800` <br> You do not have permission to operate on the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The task not found. <br> **Error Code:** `112100` <br> The assignee not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks_collaborator:read:admin,tasks_collaborator:read
Granular Scopes: tasks:read:list_collaborators,tasks:read:list_collaborators:admin
Rate Limit Label: LIGHT
Responses
Status: 200 Collaborators retrieved successfully.
Content-Type: application/json
-
collaboratorsarray— 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. -
avatarstring, format:uri— The avatar image URL of the collaborator. -
emailstring, format:email— The email address of the collaborator.
-
-
task_idstring— The unique ID of the task.
Example:
{
"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` <br> Forbidden **Error Code:** `111800` <br> You don't have permission to request the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The resource not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks_collaborator:write,tasks_collaborator:write:admin
Granular Scopes: tasks:write:collaborators,tasks:write:collaborators:admin
Rate Limit Label: 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_messagestring— An optional message to include with the collaborator invitation. -
skip_notificationsboolean— Whether to skip sending notifications to the added collaborators. By default, notifications are sent.
Example:
{
"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. -
avatarstring, format:uri— The collaborator's avatar image URL. -
emailstring, format:email— The collaborator's email address.
-
-
task_id(required)string— The task's unique ID.
Example:
{
"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` <br> Bad Request **Error Code:** `34002` <br> Invalid email {email}. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `111800` <br> You are no permission to request the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The resource not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks_collaborator:write,tasks_collaborator:write:admin
Granular Scopes: tasks:delete:collaborator:admin,tasks:delete:collaborator
Rate Limit Label: LIGHT
Responses
Status: 204 Collaborator removed successfully
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `111800` <br> You do not have permission to operate on the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The task not found. <br> **Error Code:** `112100` <br> The assignee not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks_comment:read,tasks_comment:read:admin
Granular Scopes: tasks:read:comments,tasks:read:comments:admin
Rate Limit Label: LIGHT
Responses
Status: 200 Task comments retrieved successfully.
Content-Type: application/json
-
commentsarray— The list of comments associated with the task.Items:
-
comment_idstring— The unique identifier of the comment. -
contentarray— 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. -
attributesobject— Optional metadata for the fragment. Currently supports only hyperlinks.-
linkstring— The URL associated with the fragment's text. Typically an absolute `http://` or `https://` link.
-
-
mentionobject— Represents a mention of an entity (e.g., a user). If present, the fragment represents a mention instead of plain text.-
avatarstring, format:uri— The avatar image URL of the user. -
display_namestring— The display name of the user. -
emailstring— The email address of the user being mentioned. -
user_idstring— The user ID of the user being mentioned.
-
-
textstring— 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_textstring— A plain text version of the entire comment content. -
create_timeinteger, format:int64— Creation timestamp in milliseconds.
-
-
next_page_tokenstring— 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_sizeinteger— The number of records returned per page in a single API call. -
total_recordsinteger— The total number of records found.
Example:
{
"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` <br> Forbidden **Error Code:** `111800` <br> You don't have permission to operate on the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The task not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks_comment:write,tasks_comment:write:admin
Granular Scopes: tasks:write:comment:admin,tasks:write:comment
Rate Limit Label: 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. -
attributesobject— Optional metadata for the fragment. Currently supports only hyperlinks.-
linkstring— The URL associated with the fragment's text, typically an absolute http:// or https:// link.
-
-
mentionobject— 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.-
emailstring, format:email— The email address of the user being mentioned. -
user_idstring— The user ID of the user being mentioned.
-
-
textstring— 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:
{
"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. -
attributesobject— Optional metadata for the fragment. Currently supports only hyperlinks.-
linkstring— The URL associated with the fragment's text, typically an absolute http:// or https:// link.
-
-
mentionobject— Represents a mention of an entity (e.g., a user). If present, the fragment represents a mention instead of plain text.-
avatarstring, format:uri— The avatar image URL of the user. -
display_namestring— The display name of the user. -
emailstring— The email address of the user being mentioned. -
user_idstring— The user ID of the user being mentioned.
-
-
textstring— 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_textstring— A plain text version of the entire comment content. -
create_timeinteger, format:int64— Creation timestamp in milliseconds.
Example:
{
"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` <br> Bad Request **Error Code:** `34002` <br> Invalid request body. Please verify the content and try again. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `111800` <br> You don't have permission to request the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The resource not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks_comment:write,tasks_comment:write:admin
Granular Scopes: tasks:delete:comment:admin,tasks:delete:comment
Rate Limit Label: LIGHT
Responses
Status: 204 Comment deleted successfully. No content is returned.
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `111800` <br> You don't have permission to operate on the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The task not found. <br> **Error Code:** `112100` <br> The comment not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks:read,tasks:read:admin
Granular Scopes: tasks:read:list_tasks:admin,tasks:read:list_tasks
Rate Limit Label: 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. -
assigneesarray— 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. -
avatarstring, format:uri— The avatar image URL of the assignee. -
emailstring, format:email— The email address of the assignee.
-
-
collaboratorsarray— 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. -
avatarstring, format:uri— The avatar image URL of the collaborator. -
emailstring, format:email— The email address of the collaborator.
-
-
descriptionstring— A description of the task that will be truncated. The maximum length is 200 characters. -
due_datestring, format:date— The task's due date in UTC, formatted as `yyyy-MM-dd`. -
friendly_task_idstring— The task friendly ID. -
linkstring— The task share link. -
unreadboolean— Whether the task is unread by the current user.
-
-
total_records(required)integer— The total number of records found. -
next_page_tokenstring— 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_sizeinteger— The number of records returned per page in a single API call.
Example:
{
"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` <br> Bad Request **Error Code:** `38004` <br> invalid params {params_name} <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks:write
Granular Scopes: tasks:write:task
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
title(required)string— The tasks's title. Maximum 500 characters. -
assigneesarray— A list of assignees to add to the task. Maximum of 20. If empty, the request user is added by default.Items:
-
emailstring— The email address of the assignee to invite. The potential assignee must belong to the same account as the requesting user.
-
-
collaboratorsarray— A list of collaborators to invite to the task. Maximum 20.Items:
-
emailstring— The email address of the collaborator to invite. The potential collaborator must belong to the same account as the requesting user.
-
-
descriptionstring— The task's detailed description. Maximum 10,000 characters. -
due_datestring, format:date— The task's due date in UTC, formatted as `yyyy-MM-dd`. -
invite_messagestring— Include an optional message when inviting a user as a collaborator or assignee. Maximum length is 200 characters. -
is_publicboolean, 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. -
prioritystring, possible values:"Low", "Medium", "High", "Highest", default:"Medium"— The task's priority level. -
skip_notificationsboolean— Whether to skip sending notifications to collaborators. -
starredboolean, default:false— Whether the task is starred. -
statusstring, possible values:"To do", "In progress", "Done", "Blocked", "Recommended", default:"To do"— The task's current status.
Example:
{
"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. -
assigneesarray— A list of all assignees associated with the task.Items:
-
user_id(required)string— The assignee's Zoom user ID. -
emailstring— The email address of the assignee.
-
-
collaboratorsarray— A list of collaborators associated with the task.Items:
-
user_id(required)string— The collaborator's Zoom user ID. -
emailstring— The email address of the collaborator.
-
-
descriptionstring— The task's detailed description. -
due_datestring, format:date— The task's due date in UTC, formatted as `yyyy-MM-dd`. -
friendly_task_idstring— The human-readable identifier of the task. -
linkstring— The direct URL link to the task.
Example:
{
"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` <br> Bad Request **Error Code:** `34002` <br> Invalid email {email}. <br> **Error Code:** `34002` <br> The title is too long. <br> **Error Code:** `34002` <br> The description is too long. <br> **Error Code:** `34002` <br> Invalid field {field_name}. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks:read,tasks:read:admin
Granular Scopes: tasks:read:task,tasks:read:task:admin
Rate Limit Label: 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. -
assigneesarray— 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. -
avatarstring, format:uri— The avatar image URL of the assignee. -
emailstring, format:email— The email address of the assignee.
-
-
associated_meetingobject— Associated meeting information-
idinteger, 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_datestring, format:date-time— The meeting start date-time in UTC/GMT. -
topicstring— The topic of the associated meeting -
uuidstring— The unique Meeting ID. Each meeting instance will generate its own Meeting UUID.
-
-
collaboratorsarray— 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. -
avatarstring, format:uri— The avatar image URL of the collaborator. -
emailstring, format:email— The email address of the collaborator.
-
-
descriptionstring— A detailed description of the task. -
due_datestring, format:date— The task's due date in UTC, formatted as `yyyy-MM-dd`. -
friendly_task_idstring— The task friendly ID. -
linkstring— The task share link. -
tasks_attachmentsarray— List of attachments associated with the taskItems:
-
attachment_idstring— The unique identifier of the attachment. -
download_urlstring— The download link for the attachment will remain valid for 7,200 seconds. -
file_namestring— The name of the attached file. -
file_sizeinteger— The size of the file in bytes. -
mime_typestring— The MIME type of the file. -
upload_timestring, format:date-time— The file upload date-time in UTC/GMT.
-
Example:
{
"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` <br> Forbidden **Error Code:** `111800` <br> You don't have permission to request the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The resource not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks:delete,tasks:delete:admin
Granular Scopes: tasks:delete:task:admin,tasks:delete:task
Rate Limit Label: LIGHT
Responses
Status: 204 Task deleted successfully
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `111800` <br> You don't have permission to request the task. <br>
Status: 404 **HTTP Status Code:** `404` <br> Not Found **Error Code:** `112100` <br> The resource not found. <br>
Status: 429 **HTTP Status Code:** `429` <br> 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: tasks:write,tasks:write:admin
Granular Scopes: tasks:update:task,tasks:update:task:admin
Rate Limit Label: LIGHT
Request Body
Content-Type: application/json
-
descriptionstring— A detailed description of the task. Maximum 10,000 characters. -
due_datestring, format:date— The task's due date in UTC, formatted as `yyyy-MM-dd`. -
is_publicboolean, 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. -
prioritystring, possible values:"Low", "Medium", "High", "Highest", default:"Medium"— The task's priority level. -
starredboolean— Whether the task should be starred. -
statusstring, possible values:"To do", "In progress", "Done", "Blocked", "Recommended", default:"To do"— The task's current status. -
titlestring— The title of the task. Maximum 500 characters.
Example:
{
"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
}