# Pagination

> Cursor-based paging with limit and after parameters.

List endpoints are cursor-paged. Pass `limit` (default 25, max 100) and follow `meta.next_cursor`:

```bash
curl "https://lunary.cloud/api/v1/runs?limit=50" \
  -H "Authorization: Bearer lc_your_token_here"
```

```json
{
  "data": [ ... ],
  "meta": { "next_cursor": "eyJrIjoxNDJ9", "limit": 50 }
}
```

To fetch the next page, pass the cursor back as `after`:

```bash
curl "https://lunary.cloud/api/v1/runs?limit=50&after=eyJrIjoxNDJ9" \
  -H "Authorization: Bearer lc_your_token_here"
```

Cursors are **opaque**: echo them back, don't parse them. A `null` `next_cursor` is the last page. A malformed cursor returns **400 `invalid_cursor`**.
