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

# Pagination

> Traverse Arbol collections with opaque forward cursors without skipping or duplicating pages.

Most list operations return a bounded page with this shape:

```json theme={null}
{
  "items": [],
  "nextCursor": "opaque-cursor"
}
```

## Request the next page

Pass the returned cursor back to the **same operation with the same filters and sort order**.

```bash theme={null}
curl --fail-with-body \
  --get "${ARBOL_API_BASE}/agents" \
  --header "Authorization: Bearer ${ARBOL_ACCESS_TOKEN}" \
  --data-urlencode "limit=25" \
  --data-urlencode "cursor=${NEXT_CURSOR}"
```

`nextCursor: null` means there is no next page.

## Rules

* Treat cursors as opaque strings. Do not decode, modify, or construct them.
* Do not reuse a cursor with different filters, sorting, or organization credentials.
* Persist the cursor only when you need to resume a bounded traversal.
* Restart from the first page when an operation rejects a stale or invalid cursor.

The common list contract defaults to 25 items and permits at most 100. An endpoint can define a tighter bound, so use the value shown in its generated reference.
