# Update a task in place

`PATCH /api/v1/tasks/{id}`

Not on the MCP surface. It is served over REST only.

One item of `update-tasks`, addressed by path.

## Parameters

- `id` (path, required)

## Responses

- `200` — The acknowledgement — `get-task` reads the task back
- `400` — The request body or query string does not match the operation's schema, or a `calendar` task names no date (`calendar_requires_date`)
- `404` — No such task
- `409` — The status change is not one the GTD state table allows. The body's `error.code` is `invalid_transition` and `error.meta` carries `from`, `to` and `allowed` — the statuses this task can actually move to.
