---
title: "GET /v1/todos/watch"
method: GET
path: "/v1/todos/watch"
tags: ["TodoService"]
---

# GET /v1/todos/watch

`GET /v1/todos/watch`

WatchTodos opens a server-side stream that emits a TodoEvent for every
 create, update, or delete that matches the supplied filter and ordering.
 The stream remains open until the client cancels or the server terminates it.

## Query parameters

- `pageSize` integer
- `pageToken` string
- `filter` string
- `orderBy` string

## Response `200`

OK

- TodoV1TodoEvent — TodoEvent is a server-sent message describing a change to a todo item. It is emitted by both WatchTodos and SyncTodos streams.
  - `action` string — The change that occurred. One of `created`, `updated`, or `deleted`.
  - `todo` TodoV1Todo — Todo is the canonical representation of a todo item.
    - `id` string — Application-generated UUIDv7 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.
    - `createdAt` string, date-time — Time at which the todo item was created. Server-assigned, read-only.
    - `updatedAt` string, date-time — Time at which the todo item was last modified. Server-assigned, read-only.
    - `status` integer — Lifecycle state. Server-assigned, read-only: call DeleteTodo to move an item to TODO_STATUS_DELETED.
  - `eventTime` string, date-time — Time at which the change was observed by the server.

---

[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/revisions/bbd5b5339910/schema)
