---
title: Pagination
description: Follow the pagination contract defined by each list endpoint.
---

Pagination is not identical across every route. Check the API reference for the endpoint you call.

Cursor-based routes, including usage events and the wallet ledger, return `next_cursor` and `has_more`. Pass `next_cursor` back as `cursor` only while `has_more` is `true`.

```json
{
  "items": [],
  "next_cursor": "opaque-value",
  "has_more": true
}
```

Collection names vary by resource, such as `items`, `events`, or `product_users`. Limits also vary.
