---
title: "Configure a Watch and run it once, unsaved"
method: POST
path: "/api/v1/watches/unfurl"
tags: ["Watches"]
---

# Configure a Watch and run it once, unsaved

`POST /api/v1/watches/unfurl`

## Request

- Base URL: `https://api.signalbureau.ai`
- URL: `https://api.signalbureau.ai/api/v1/watches/unfurl`
- Auth: none declared

Returns the governed reading (`sb.watch-reading.v1`) plus one line per coordinate stating whether it was applied. Free, no key, nothing saved or charged. Same content as the MCP tool `unfurl_watch`.

## Request body

- object
  - `base` string, required: The standard Watch to start from; GET /api/v1/watches/standard lists the ids.
  - `coordinates` object: Coordinates to change from the base Watch; each one omitted takes the base value. The reading states, per coordinate, whether it was applied.
  - `label` string: Your own name for the Watch (save only).
  - `watchId` string: Save only: edit this saved Watch. An edit is a new version at no extra charge.

## Response `200`

The reading and the per-coordinate application report.

- object

## Other responses

- `400`: The body is not JSON or names an unknown base or coordinate; the error names the field.
- `429`: slow-down: past the published burst limit for this door. The `retry-after` header gives the seconds to wait.

---

[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)
