Skip to main content
All list endpoints in the Toktra API use cursor-based pagination. Unlike page-number pagination, cursors remain stable as records are added or removed, so you never miss records or see duplicates when iterating through a large result set.

How it works

Cursors are opaque strings — you should not attempt to parse or construct them. Pass the cursor you received in the previous response to advance to the next page.

First page

Omit the cursor parameter entirely to fetch the first page:

Subsequent pages

Take next_cursor from the response and pass it as cursor on the next request:

End of results

When you reach the last page, next_cursor is null and has_more is false. Stop paginating.

Pagination parameters

string
Opaque cursor for pagination. Pass the next_cursor value from the previous response to fetch the next page. Omit for the first page.
integer
default:"25"
Maximum number of items to return per page. Must be between 1 and 100.

Response envelope

Every list endpoint wraps its results in this envelope:
array
required
The page of results.
string | null
required
Opaque cursor to pass as cursor on the next request. null when this is the last page.
boolean
required
true if there are more results beyond this page.
integer
Total number of matching items. May be approximate for very large datasets.

Example: paginating through users

The following example shows a full pagination cycle using GET /v1/users. Request — page 1
Response — page 1
Request — page 2
Response — last page
next_cursor is null — you have fetched all records.

Iterating all pages in code

Cursors are not permanent. Do not store a cursor and attempt to resume pagination days later — use the cursor immediately within the same session.