Skip to main content

Overview

List endpoints return results wrapped in a standard data / meta envelope. Each paginated response includes:

Query parameters


Basic example

First page:
Next page — pass nextCursor as cursor:
When hasMore is false (or nextCursor is null), you’ve consumed all pages.

Iterating all pages

Python

TypeScript


Time-range filtering

Use since and until to fetch a specific window without iterating your entire history:
For production polling, store the nextCursor from your last run and resume from there rather than re-fetching everything.

Notes on cursors

  • Cursors are opaque — don’t parse or modify them.
  • Cursors are stable — new records arriving during pagination won’t cause you to skip or re-see existing records.
  • Cursors may expire after a period of inactivity. If you receive a 400 bad_request error on a cursor, start a fresh request from the beginning.