API reference · v1

Poll changes

Resumable ingestion feed, including historical discoveries. Order is per-shard ingestion sequence, not observedAt. Persist checkpoint after processing and deduplicate event IDs.

GET/v1/changes

Send a secret API key in Authorization: Bearer YOUR_API_KEY. Each successful request uses one of your 500 monthly requests.

Parameters

limitquery · optional

Page size. 1–100, default 50.

Default: 50

Range: 1–100

cursorquery · optional

Opaque cursor from this endpoint with the same filters. Keep it unchanged; page size may change.

authorityquery · optional

Authority ID, for example local-authority-oxo. Omit to search all authorities.

startquery · optional

Return an empty checkpoint at the current ingestion positions. Cannot combine with cursor. Omit to enumerate from the beginning.

Response fields

itemsarray

Array of the items described below.

Show item fields
idstring

Stable event ID. Deduplicate replays using this field.

applicationIdstring

Fetch this application to obtain its current state.

observedAtstring

Source observation time; may predate ingestion and is not feed order.

kind"discovered" | "source_changed" | "parser_changed" | "availability_changed" | "registry_changed"

discovered: first persisted record; source_changed: changed council evidence; parser_changed: changed interpretation; availability_changed: section completeness changed; registry_changed: source configuration changed.

fieldsarray

Array of the items described below.

snapshotIdstring

Resulting snapshot identifier.

previousSnapshotIdstring · optional

Previous snapshot identifier Omitted when not collected.

notifyEligibleboolean

Whether this event qualified for a new-source-change notification. Historical discoveries remain in this feed even when false.

nextCursorstring | null

Continue with this cursor; null when this page exhausts the current query.

checkpointstring

Durable continuation, including on an empty page. Use as cursor for the next poll.

Errors

Error codes, request IDs, retry behaviour, and allowance headers apply to every endpoint. Invalid or repeated query parameters return 400; unavailable records return 404. Source failures never become successful empty results.