GET endpoint that returns a collection paginates with opaque cursors. There are no page numbers, no offsets, no totals — cursors are forward-only pointers into the result set.
Parameters
| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
limit | integer | 20 | 100 | Items per page. |
cursor | string | — | — | Opaque cursor from a previous response. Omit to start from the beginning. |
Response envelope
| Field | Description |
|---|---|
data | Array of results for this page. |
has_more | true if more results exist beyond this page. |
next_cursor | Cursor to pass in the next request. Present only when has_more is true. |
next_cursor and sets has_more to false:
Iterating through pages
Rules
Use the maximum page size
Use the maximum page size
Set
limit=100 to minimize round trips when fetching large result sets.Stop when has_more is false
Stop when has_more is false
has_more is the only correct termination signal. Don’t compare len(data) to limit — the last page may be full.Cursors are opaque
Cursors are opaque
Treat cursor values as opaque strings. Do not parse, modify, or construct them. Always pass the exact
next_cursor value returned by the API.Cursors don't expire
Cursors don't expire
Cursor values remain valid indefinitely. You can store a cursor and resume pagination later — useful for long-running exports.