> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.recurrente.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.recurrente.com/_mcp/server.

# Pagination

> How pagination works in list endpoints

List endpoints return paginated results. You control pagination with query parameters and read metadata from response headers.

## Query Parameters

| Parameter | Default | Description    |
| --------- | ------- | -------------- |
| `page`    | `1`     | Page number    |
| `items`   | `20`    | Items per page |

## Response Headers

Pagination metadata follows [RFC 8288](https://tools.ietf.org/html/rfc8288):

| Header         | Description                                        |
| -------------- | -------------------------------------------------- |
| `Link`         | Navigation links (`first`, `prev`, `next`, `last`) |
| `Current-Page` | Current page number                                |
| `Page-Items`   | Items on this page                                 |
| `Total-Pages`  | Total number of pages                              |
| `Total-Count`  | Total number of records                            |

## Example

```bash
curl "https://app.recurrente.com/api/products?page=2&items=10" \
  -H "X-SECRET-KEY: ..."
```

Response headers:

```
Link: <.../products?page=1&items=10>; rel="first", <.../products?page=1&items=10>; rel="prev", <.../products?page=3&items=10>; rel="next", <.../products?page=5&items=10>; rel="last"
Current-Page: 2
Page-Items: 10
Total-Pages: 5
Total-Count: 47
```

## Common Usage

To iterate through all items:

1. Start with `page=1`
2. Process the results
3. If `Current-Page` \< `Total-Pages`, increment the page and repeat
4. Continue until you've processed all pages