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

# Pagination

> Page through list endpoints with opaque cursors.

List endpoints — such as `GET /v1/catalog` and `GET /v1/orders` — are
cursor-paginated. Each response carries the page of results and whether more
remain:

```json theme={null}
{
  "data": [ /* ... */ ],
  "has_more": true,
  "next_cursor": "b3JkOjE3MDAwMDAwMDA6b3JkXzk="
}
```

To fetch the next page, pass `next_cursor` back as the `cursor` query parameter:

```bash theme={null}
curl "https://api.sodacards.com/v1/orders?limit=50&cursor=b3JkOjE3MDAwMDAwMDA6b3JkXzk=" \
  -H "X-API-Key: sc_live_your_key_here"
```

Stop when `has_more` is `false`.

* `limit` bounds the page size; it is clamped to a sane maximum.
* The cursor is **opaque** — do not parse or construct it. Pass back exactly what
  you received. A malformed cursor is refused with `invalid_cursor`.
* Cursors are keyset-based, so paging stays correct even as new records arrive.
