---
title: "Recall a saved Watch: its reading now and what changed since your last delivery"
method: GET
path: "/api/v1/watches/{id}"
tags: ["Watches"]
---

# Recall a saved Watch: its reading now and what changed since your last delivery

`GET /api/v1/watches/{id}`

## Request

- Base URL: `https://api.signalbureau.ai`
- URL: `https://api.signalbureau.ai/api/v1/watches/{id}`
- Auth: none declared. Required headers: `x-api-key`

Returns the reading (`sb.watch-reading.v1`) and the change since the last delivery to your key. This call records a delivery, which is what makes the next recall's change exact. Same content as the MCP tool `recall_watch`.

## Path parameters

- `id` string, required

## Query parameters

- `expand` string

## Headers

- `x-api-key` string, required

## Response `200`

The reading and its change since your last delivery.

- object

## Other responses

- `401`: No key: `{state: "key-required", error, howToGetOne}`. Configuring and unfurling need no key; saving, listing, recalling and retiring do.
- `403`: not-yours: the Watch is held by a different key and was not shared with this one; nothing was read, changed or charged.
- `404`: not-found: `{state: "not-found", watchId}` — no Watch with that id is saved to your key.
- `410`: retired: the Watch was retired and is no longer recallable; the body carries its saved view. Its versions and deliveries are kept.
- `429`: slow-down: past the published burst limit for this door. The `retry-after` header gives the seconds to wait.
- `503`: cannot-verify: we could not confirm the Watch is yours (key or Watch store did not answer, or the record names no owner); refused, retry shortly.

---

[API](https://skmtc.dev/sigb/apis/signal-bureau-api.md) · [All operations](https://skmtc.dev/sigb/apis/signal-bureau-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sigb/apis/signal-bureau-api/revisions/290c9c6ca0d0?raw)
