Skip to content

Event Polling & Reconciliation

Omit mode. Use limit, cursor, and optional repeated or comma-separated type filters. Results are ordered by (created_at, evt_ id). Store the next cursor only after processing the full page. Events are retained for 30 days; an expired continuation returns 410 event_cursor_expired, requiring a rebuild from current resource lists.

Use mode=recent with at least one type. This provider-neutral mode reads a 24-hour window newest-first, has a fixed 200-event bound, and uses an opaque poll_cursor with a five-minute replay overlap. Deduplicate stable IDs.

  • 201 matching events: 409 event_window_overflow; nothing is truncated and the checkpoint does not advance.
  • Checkpoint older than 24 hours: 410 event_window_expired.
  • Recent mode rejects chronological cursor and limit.

Events contain thin references. Hydrate current resources with bounded concurrency. Advance a checkpoint only after every hydration and downstream write succeeds. Reconcile after overflow, expiry, scope changes, or location-grant changes.