Skip to main content

Overview

All list endpoints return paginated results using cursor-based pagination. Results are ordered newest first, and you can page in both directions: towards older records with next_cursor and towards newer records with previous_cursor.

Response envelope

List endpoints return a standard envelope:

Query parameters

Traversing pages

Fetch the first page, then pass next_cursor to move towards older records, or previous_cursor to move back towards newer records. Both tokens go in the same cursor parameter, and each cursor already encodes its own direction.
The SDK’s list method returns an async iterator that handles cursor traversal automatically; you don’t need to pass cursor yourself. Use the iterator when you want to walk every page; pass cursor explicitly only if you’re rendering one page at a time in your own UI.

Important notes

  • Cursors are opaque. Do not decode, parse, or construct them. Always use the value returned by the API.
  • Cursors are time-limited. An expired cursor is rejected. Start a new list request without cursor if this happens.
  • Changing filters between pages invalidates the cursor. Omit cursor to begin pagination again when filters change.
  • Pagination is bidirectional. Use next_cursor to page towards older records and previous_cursor to page back towards newer records, both via the cursor parameter. has_more and has_previous tell you when each direction is exhausted.