Cursor pagination

List endpoints use opaque keyset cursors, never numeric offsets.
The response returns next_cursor: null when no further page is available. Treat the cursor as an opaque string and do not parse or manufacture it.

Common errors

FastAPI errors use a JSON detail field:
Use bounded exponential backoff with jitter for 429 and 503 responses. Preserve the same idempotency key for an operation that explicitly supports idempotent retry.