offset query parameter) on the Rentman API in favor of cursor-based
pagination, which is already available today.Cursor-based pagination is faster and returns consistent results even while the underlying data changes — it's the method we'll support going forward. If your integration reads collections (for example,
GET /contacts or
GET /projects) using offset, you'll need to update
it before the removal date below.Removal date: Q4 2026 (exact date to be confirmed)
How to migrate
Instead of calculating page offsets yourself, follow the next_page_url returned in each collection response until it is null.
Before — offset-based:
GET https://api.rentman.net/contacts?limit=10&offset=0 GET https://api.rentman.net/contacts?limit=10&offset=10 GET https://api.rentman.net/contacts?limit=10&offset=20
After — cursor-based:
GET https://api.rentman.net/contacts?limit=10
The response includes a next_page_url:
{
"data": [...],
"itemCount": 10,
"limit": 10,
"next_page_url": "https://api.rentman.net/contacts?cursor=eyJhZnRlciI6NDU2..."
}Follow it to get the next page, and keep going until next_page_url is null:
GET https://api.rentman.net/contacts?cursor=eyJhZnRlciI6NDU2...
- The
cursorvalue is an opaque token — don't build or modify it yourself. Always use thenext_page_urlas returned. - Filters and sorting carry over automatically:
next_page_urlincludes all your original query parameters, andlimitis preserved via the cursor.
Common use cases
Fetch everything in a collection
Follow next_page_url until it's null.
Top N sorted by a field (for example, the first 30 contacts by first name)
You no longer need offset — just combine limit with sort:
GET https://api.rentman.net/contacts?limit=30&sort=+firstname
What can't be migrated
Cursor-based pagination is sequential: you move through pages by following next_page_url, and it doesn't support jumping to an arbitrary page.
If your integration relies on random access to a specific page (for example, "give me page 5" via offset=40), there's no direct equivalent. Instead, page forward from the start of the collection — ideally narrowing the result set with filters first so fewer pages are needed.
If this pattern is critical to your integration, reach out so we can help you find the best approach.