Skip to main content
GET /events and GET /orders return one page at a time and a cursor for the next page.

The loop

  1. Make the first request without cursor.
  2. If the response has a next_cursor, pass it unchanged as cursor on the next request, with the same filters.
  3. Stop when there is no next cursor.
The two lists signal the last page slightly differently: Write your loop to stop on “no usable cursor” and it handles both:

Cursor rules

  • Cursors are opaque. Do not parse, build or modify them.
  • Reuse a cursor only with the filters that produced it. Changing event_id or status mid-loop gives you a page you didn’t ask for.
  • A malformed cursor is 400: invalid_cursor on events (also for a cursor from another organization), validation_failed on orders.
  • Cursors are for walking a list now, not bookmarks to keep for later.