> ## Documentation Index
> Fetch the complete documentation index at: https://tatallo-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Pagination

> Cursor pagination: limit, next_cursor, and a stable order.

`GET /v1/properties` returns a page at a time:

```json theme={null}
{
  "data": [ /* up to `limit` properties */ ],
  "page": { "next_cursor": "pKZAA9cXZioUAmmXQVzN4RBwg8cC3KXflLg_..." }
}
```

## Parameters

| Parameter | Default | Meaning |
| - | - | - |
| `limit` | `25` | How many items per page, from 1 to 100. Anything else gets `400 invalid_limit`. |
| `cursor` | none | The `page.next_cursor` of the previous page. Leave it out for the first page. |

## Walking a list

1. Request the first page without a `cursor`.
2. If `page.next_cursor` is a string, request the next page with `cursor` set to it, exactly as received (URL-encode it).
3. Stop when `page.next_cursor` is `null`: that was the last page.

The order is stable, so walking every page returns each item exactly once and never skips one. A [guide](https://tatallo-docs.mintlify.site/guides/property-discovery.md) shows a complete loop.

## About cursors

* A cursor is **opaque**: its content means nothing to you and may change format at any time.
* A cursor works only with the **PMS credential and environment** that received it. Sent with another key, or edited in any way, it gets `400 invalid_cursor`.
* Don't **store** cursors for later or **build** them by hand. To start over, request the first page again.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.