Skip to main content
A fixed set of list endpoints support cursor (keyset) pagination. Each accepts optional limit and cursor query parameters and returns its result array alongside a nextCursor. Every other list endpoint returns its full set in one response.

Paginated endpoints

Organizations, members, profiles, and API keys are not paginated — they return the full set.

Request

integer
default:"50"
Page size. Clamped to [1, 100] server-side.
string
Opaque keyset cursor. Pass back the previous page’s nextCursor.

Response

The result array sits under the endpoint’s key (see the table above) next to nextCursor. Using GET /v1/items as the example:
string | null
The cursor for the next page, or null on the last page.

Contract

  • cursor is opaque. Pass back the exact nextCursor from the previous page; never construct or parse it. The encoding is an implementation detail and may change.
  • Ordering is newest-first by creation time. Pages form a stable keyset, so rows are neither dropped nor duplicated across page boundaries even while new records are being inserted concurrently.
  • nextCursor: null means the last page. Stop iterating when it is null.

Iterating

The SDK list methods (client.items.list(), agents.list(), etc.) drain every page for you and return the full set with nextCursor: null. Iterate the cursor yourself only when calling /v1 over raw HTTP:
cURL