---
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-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
- **2026-08-18** `7e6cad75fd81` — 1 info
  - the request property `data/attributes/description` became optional
- **2026-08-13** `11e8576224b8` — 1 breaking
  - the request property `data/attributes/description` became required
- **2026-08-12** `7764b2b9fcc4` — 1 info
  - the request property `data/attributes/description` became optional

[Change 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/0e862879d77b/schema)
