---
title: "List watches (the Watchlist)"
method: GET
path: "/api/v1/watches"
---

# List watches (the Watchlist)

`GET /api/v1/watches`

## Request

- Base URL: `https://offnadir-delta.com`
- URL: `https://offnadir-delta.com/api/v1/watches`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Free. Everything this key keeps watch on — areas under satellite measurement, areas under event watch, and real-world events being tracked — aggregated as one list. Each watch carries a state bucket (needs_attention / changed_today / awaiting_data / stable), its capabilities (measurements, standing-order questions, event state), and the latest meaningful change. A monitored metric and a standing order on the same bbox appear as ONE watch. Also returns the active-watch plan limit. Pass updated_since to receive only the watches whose CONTENT changed after that instant — a new measurement, a new note, a new development, not merely a rename — which is what a system holding a synchronised copy should poll; bucket counts and plan limits still describe the whole watchlist, never the returned page.

## Query parameters

- `updated_since` string, date-time
- `cursor` string
- `limit` integer

## Response `200`

Your watches, bucket counts, and the plan limit for active watches.

- object
  - `watches` object[]
  - `buckets` object
  - `limits` object
    - `max_active` number, nullable: null = unlimited.
    - `used_active` number
    - `remaining` number, nullable

## Other responses

- `401`: Error response with a stable machine-readable code.
- `403`: Error response with a stable machine-readable code.
- `429`: Error response with a stable machine-readable code.

---

[API](https://skmtc.dev/offnadir-delta/apis/off-nadir-delta-api.md) · [All operations](https://skmtc.dev/offnadir-delta/apis/off-nadir-delta-api/llms.txt) · [OpenAPI document](https://skmtc.dev/offnadir-delta/apis/off-nadir-delta-api/revisions/5cf3f2bed5a2?raw)
