Cursor-Based Pagination
Most list endpoints use cursor-based pagination. This provides stable, consistent results even when new items are being created.Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
cursor | string | — | Opaque cursor from a previous response. Omit for the first page. |
limit | integer | 25 | Number of items per page. Minimum 1, maximum 100. |
Response Fields
| Field | Type | Description |
|---|---|---|
data | array | The list of items for the current page. |
has_more | boolean | Whether there are more items after this page. |
next_cursor | string or null | The cursor to use for the next page. Null if no more results. |
Example
Request the first page:Offset-Based Pagination
Some endpoints (such as List Customers) use offset-based pagination instead of cursor-based pagination.Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
offset | integer | 0 | Number of items to skip before returning results. |
limit | integer | 25 | Number of items per page. Minimum 1, maximum 100. |
Example
Best Practices
- Always check the
has_morefield to determine if additional pages exist. - Use the
next_cursorvalue exactly as returned — do not modify or construct cursor values. - For cursor-based pagination, results are ordered newest first by default.
- If you need all results, loop until
has_moreisfalse.