---
title: "PUT /v1/todos/update"
method: PUT
path: "/v1/todos/update"
tags: ["TodoService"]
---

# PUT /v1/todos/update

`PUT /v1/todos/update`

UpdateTodo applies a partial update to an existing todo item using a
 FieldMask. Only the fields listed in update_mask are overwritten; all
 other fields are left unchanged.
 Returns NOT_FOUND if the target todo does not exist, or
 INVALID_ARGUMENT if update_mask references unknown fields.

## Query parameters

- `updateMask` string, field-mask

## Request body

- TodoV1Todo — Todo is the canonical representation of a todo item.
  - `id` string — Server-assigned unique identifier. Read-only on create.
  - `title` string — Short human-readable title.
  - `content` string — Detailed description or notes for the todo item.
  - `completed` boolean — Whether the todo item has been completed.
  - `createTime` string, date-time — Time at which the todo item was created. Server-assigned, read-only.
  - `updateTime` string, date-time — Time at which the todo item was last modified. Server-assigned, read-only.

## Response `200`

OK

- TodoV1Todo — Todo is the canonical representation of a todo item.
  - `id` string — Server-assigned unique identifier. Read-only on create.
  - `title` string — Short human-readable title.
  - `content` string — Detailed description or notes for the todo item.
  - `completed` boolean — Whether the todo item has been completed.
  - `createTime` string, date-time — Time at which the todo item was created. Server-assigned, read-only.
  - `updateTime` string, date-time — Time at which the todo item was last modified. Server-assigned, read-only.

---

[API](https://skmtc.net/go-kratos/apis/todoservice-api.md) · [All operations](https://skmtc.net/go-kratos/apis/todoservice-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/go-kratos/todoservice-api/versions/d99daada47f9/schema)
