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

{
  "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_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:

{
  "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:

{
  "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
  • 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:

{
  "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_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:

{
  "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:

{
  "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
  • 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:

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

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

{
  "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:

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

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

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

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

{
  "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:

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

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

{
  "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
  • 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:

{
  "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` <br> Bad Request **Error Code:** `34002` <br> Invalid field {field_name}. <br> **Error Code:** `34002` <br> The title is too long. <br> **Error Code:** `34002` <br> The description is too long. <br>
Status: 403 **HTTP Status Code:** `403` <br> Forbidden **Error Code:** `111800` <br> You don't have permission to request the task. <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/).