---
title: "Update a todo"
method: PATCH
path: "/api/v2/todos/{id}"
tags: ["Todos"]
---

# Update a todo

`PATCH /api/v2/todos/{id}`

Updates a todo. Only the provided attributes are modified — typically to toggle `closed`, change the `assignee_id`, or adjust the `description` or `due_date`.

## Path parameters

- `id` string, required

## Headers

- `X-Organization-Id` string, required

## Response `200`

Single todo

## Other responses

- `403` — Forbidden
- `422` — Unprocessable Entity

## Changes

- **2026-09-03** `72b19e10d7df` — 1 breaking
  - the request property `data/attributes/description` became required
- **2026-09-02** `061c271b2e3a` — 1 info
  - the request property `data/attributes/description` became optional
- **2026-09-02** `743d67840637` — 1 breaking
  - the request property `data/attributes/description` became required
- **2026-08-20** `8395135d78da` — 1 info
  - the request property `data/attributes/description` became optional
- **2026-08-18** `6ea89cbb80ee` — 1 breaking
  - the request property `data/attributes/description` became required

[Full history](https://skmtc.dev/productive/apis/api-documentation/changes/api/v2/todos/:id/patch.md)

---

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