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

# Update a task

`PATCH /v1/tasks/{id}`

Update an existing task

## Path parameters

- `id` string, required

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `title` string — Task title
  - `description` string — Task description
  - `deadline_at` string, date-time — Deadline for the task
  - `all_day` boolean — Whether this is an all-day task
  - `status` 'todo' | 'done' — Task status
  - `priority` 'low_priority' | 'medium_priority' | 'high_priority' | 'urgent_priority' — Task priority
  - `is_private` boolean — When true, only the creator, assignee (or members of the assigned team), and collaborators can see this task.
  - `household_id` string — Associate task with a household
  - `contact_id` string — Associate task with a contact
  - `business_id` string — Associate task with a business
  - `assigned_to_id` string — User ID from the relevant book users list to assign the task to
  - `assigned_team_id` string — Team ID to assign the task to (mutually exclusive with assigned_to_id)
  - `tag_ids` string[] — Label IDs to replace the task labels with

## Response `200`

task updated

- Task
  - `id` string, required — The task ID
  - `title` string, required — Task title
  - `description` string, nullable — Task description
  - `deadline_at` string, date-time, nullable — Deadline for the task
  - `all_day` boolean, required — Whether this is an all-day task
  - `status` 'todo' | 'done', required — Task status
  - `priority` 'low_priority' | 'medium_priority' | 'high_priority' | 'urgent_priority', nullable — Task priority
  - `is_private` boolean — When true, only the creator, assignee (or members of the assigned team), and collaborators can see this task. Use for sensitive tasks like HR or payroll.
  - `completed_at` string, date-time, nullable — When the task was completed
  - `created_at` string, date-time, required — When the task was created
  - `updated_at` string, date-time, required — When the task was last updated
  - `assigned_to` object, nullable
    - `id` string — User ID
    - `name` string — User full name
    - `email` string, email — User email
  - `assigned_team` object, nullable
    - `id` string — Team ID
    - `name` string — Team name
  - `record` object, nullable — The associated record (household, contact, or business) this task is linked to
    - `id` string — Record ID
    - `type` 'household' | 'contact' | 'business' — Type of record
    - `name` string — Name of the record
  - `tags` object[] — Labels applied to the task
    - `id` string
    - `name` string

## Other responses

- `400` — bad request - invalid JSON
- `401` — unauthorized - missing or invalid token
- `403` — forbidden
- `404` — not found

---

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