API guides

Filtering & polling

updated_since, phase, and staying in sync without missing a change.

The API isn’t switched on in this environment yet. Everything below is accurate; the examples come from the published contract rather than a live read.

Polling with updated_since

To keep a copy in sync, page through everything once, then poll for what changed: updated_since returns only documents whose updated_at is at or after the instant you pass (an ISO date or timestamp). Sort order is unchanged, so combine it with cursor exactly as you would a full list.

Everything changed since a timestamp
From the published contract
curl "https://api.rivet.network/v1/documents?updated_since=2026-09-01T00:00:00Z&limit=50" \
  -H "Authorization: Bearer rk_live_…"
  • Store the time you started each poll and pass it next time — not the time it finished.
  • Overlap the window by a few seconds; deduplicate by document id. Cheap, and it never misses a change at a boundary.
  • For push instead of poll, see Webhooks.

Filtering by phase

Document statuses are per type (submitted, acknowledged, …). phase is the one vocabulary across every type — draft, awaiting_counterparty, in_review, approved, scheduled, overdue, exception, settled, closed — so “everything overdue, of any kind” is one filter.

Everything overdue, across document types
From the published contract
curl "https://api.rivet.network/v1/documents?phase=overdue" \
  -H "Authorization: Bearer rk_live_…"
Combine any of connection, type, status, phase, since/until (the document date) and updated_since (the change time) — an unknown parameter is a 400, never a silently ignored typo that returns everything.