Skip to main content
Every endpoint that returns a list is paginated with a cursor. There are no page numbers, and asking for “page 3” is not something the API can answer.

Reading a page

A collection response looks like this:
meta.next_cursor is the whole mechanism. Pass it back as the cursor query parameter to get the next page:
When next_cursor is null, you have reached the end. That is the only reliable stop condition — a short page is not one.

Fetching everything

Page size

Pages hold 25 records by default. Ask for fewer with per_page:
The maximum is 100. Ask for more and you get 100 — an integration that wants everything at once should follow cursors, not request a page large enough to time out.

Why cursors

Cursor pagination stays correct while the data underneath is changing. With numbered pages, an event created while you are paging shifts every later record down one, and you either see something twice or miss it entirely. A cursor points at a position in the list rather than counting from the start, so that cannot happen. The tradeoff is that you cannot jump to an arbitrary page or know the total count in advance. For the things this API returns, that has never been the useful question.
Treat a cursor as opaque. It is a token describing a position, not a record ID, and its format may change.