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

# Update a task

`PATCH /v2/tasks/{task_id}`

Updates an existing task by `task_id`. At present, only the `deadline_at`, `is_completed`, `linked_records`, and `assignees` fields can be updated.

Required scopes: `task:read-write`, `object_configuration:read`, `record_permission:read`, `user_management:read`.

## Path parameters

- `task_id` string, uuid, required — The ID of the task to update.

## Request body

- object
  - `data` object, required
    - `deadline_at` string, nullable — The deadline of the task, in ISO 8601 format.
    - `is_completed` boolean — Whether the task has been completed.
    - `linked_records` union[] — Records linked to the task. Creating record links within task content text is not possible via the API at present.
      - union
        - object
          - `target_object` string, required — The ID or slug of the parent object the tasks refers to. This can reference both standard and custom objects.`
          - `target_record_id` string, uuid, required — The ID of the parent record the task refers to.
        - object
          - `target_object` string, required — A UUID or slug to identify the object that the referenced record belongs to.
          - `[slug_or_id_of_matching_attribute]` union[], required — In addition to referencing records directly by record ID, you may also reference by a matching attribute of your choice. For example, if you want to add a reference to the person record with email "alice@website.com", you should pass a value with `target_object` set to `"people"` and `email_addresses` set to `[{email_address:"alice@website.com"}]`. The key should be the slug or ID of the matching attribute you would like to use and the value should be an array containing a single value of the appropriate attribute type (as specified below). Matching on multiple values is not currently supported. Matching attributes must be unique. This process is similar to how you use the `matching_attribute` query param in Attio's [assert endpoints](/reference/put_v2-objects-object-records).
            - union
              - …
    - `assignees` union[] — Workspace members assigned to this task.
      - union
        - object
          - `referenced_actor_type` 'workspace-member', required — The actor type of the task assignee. Only `workspace-member` actors can be assigned to tasks. [Read more information on actor types here](/docs/actors).
          - `referenced_actor_id` string, uuid, required — The ID of the actor assigned to this task.
        - object
          - `workspace_member_email_address` string, required — Workspace member actors can be referenced by email address as well as actor ID.

## Response `200`

Success

- object — Success
  - `data` Task, required
    - `id` object, required
      - `workspace_id` string, uuid, required — The ID of the workspace the task belongs to.
      - `task_id` string, uuid, required — The ID of the task.
    - `content_plaintext` string, required — The plaintext representation of the task content. Inline linked records will appear as "@record name" and are returned in the `linked_records` property.
    - `deadline_at` string, nullable, required — The deadline date of the task. Returned as an ISO 8601 timestamp.
    - `is_completed` boolean, required — Whether the task has been completed.
    - `linked_records` object[], required — Records linked to the task. Creating record links within task content text is not possible via the API at present.
      - `target_object_id` string, required — The ID of the parent object the task refers to. At present, only `people` and `companies` are supported.
      - `target_record_id` string, uuid, required — The ID of the parent record the task refers to.
    - `assignees` object[], required — Workspace members assigned to this task.
      - `referenced_actor_type` 'api-token' | 'workspace-member' | 'system' | 'app', required — The type of actor. [Read more information on actor types here](/docs/actors).
      - `referenced_actor_id` string, uuid, required — The ID of the workspace member actor assigned to this task.
    - `created_by_actor` object, required — The actor that created this task.
      - `id` string, nullable — An ID to identify the actor.
      - `type` 'api-token' | 'workspace-member' | 'system' | 'app', nullable — The type of actor. [Read more information on actor types here](/docs/actors).
    - `created_at` string, required — When the task was created.

## Other responses

- `400` — Bad Request
- `404` — Not Found

---

[API](https://skmtc.net/d-stoll/apis/attio-api.md) · [All operations](https://skmtc.net/d-stoll/apis/attio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/d-stoll/attio-api/revisions/ebcf9b5c6aa3/schema)
