---
title: "Update a Task"
method: PATCH
path: "/v1/tasks/{task_id}"
tags: ["Tasks"]
---

# Update a Task

`PATCH /v1/tasks/{task_id}`

Updates an existing task by its `task_id`. Marking a task as `DONE` or `CANCELLED` sets `completed_at`; moving out of those states clears it. Updating `account_id` is only supported for manually created tasks.

## Path parameters

- `task_id` string, uuid, required

## Request body

- TaskUpdateRequest — Request body for updating a task via PATCH.
  - `title` string, nullable — Title of the task
  - `description` string, nullable — Detailed description of the task
  - `status` string, nullable — Current status of the task. One of TODO, DONE, CANCELLED.
  - `account_id` string, uuid, nullable — ID of the account to associate the task with. Only supported for manually created tasks.
  - `assignee_id` string, uuid, nullable — User ID to assign the task to
  - `due_at` string, date-time, nullable — Due date and time for the task
  - `message_draft` MessageDraft — Draft message contents stored on a task with `task_type=EMAIL`.
    - `recipients` EmailRecipient[], required — Primary recipients (To) of the email
      - `name` string, required — Display name of the recipient
      - `email` string, required — Email address of the recipient
    - `cc` EmailRecipient[], nullable — Carbon-copy recipients of the email
      - `name` string, required — Display name of the recipient
      - `email` string, required — Email address of the recipient
    - `subject` string, required — Subject line of the email
    - `body` string, required — Body of the email (plain text or HTML)
    - `sent_at` string, nullable — ISO timestamp the email was sent (read-only; ignored on write).

## Response `200`

Successful Response

- PublicItemResponseTaskResponse
  - `data` TaskResponse, required
    - `id` string, required — Unique identifier for the task
    - `account_id` string, nullable — ID of the associated account
    - `opportunity_id` string, nullable — ID of the associated opportunity
    - `title` string, nullable — Title of the task
    - `description` string, nullable — Detailed description of the task
    - `task_type` string, nullable — Type of task
    - `assignee` OwnerInfo
      - `id` string, required — Unique identifier of the user
      - `first_name` string, nullable — First name of the user
      - `last_name` string, nullable — Last name of the user
    - `status` string, nullable — Current status of the task
    - `due_at` string, date-time, nullable — Due date and time for the task
    - `completed_at` string, date-time, nullable — Date and time the task was completed
    - `created_at` string, date-time, required — Date and time the task was created
    - `updated_at` string, date-time, required — Date and time the task was last updated
    - `message_draft` MessageDraft — Draft message contents stored on a task with `task_type=EMAIL`.
      - `recipients` EmailRecipient[], required — Primary recipients (To) of the email
        - `name` string, required — Display name of the recipient
        - `email` string, required — Email address of the recipient
      - `cc` EmailRecipient[], nullable — Carbon-copy recipients of the email
        - `name` string, required — Display name of the recipient
        - `email` string, required — Email address of the recipient
      - `subject` string, required — Subject line of the email
      - `body` string, required — Body of the email (plain text or HTML)
      - `sent_at` string, nullable — ISO timestamp the email was sent (read-only; ignored on write).
  - `meta` ResponseMeta
    - `timestamp` string, date-time — Server timestamp of the response

## Other responses

- `4XX` — Client error

---

[API](https://skmtc.dev/monaco/apis/monaco-public-api.md) · [All operations](https://skmtc.dev/monaco/apis/monaco-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/monaco/monaco-public-api/revisions/ec4d9b2b035b/schema)
