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

# Paginierung

> So paginieren Sie durch Listen-Endpoints

# Paginierung

Alle Listen-Endpoints der RxScale APIs unterstützen Paginierung über Query-Parameter.

## Query-Parameter

| Parameter | Typ     | Standard | Beschreibung                  |
| --------- | ------- | -------- | ----------------------------- |
| `page`    | Integer | `0`      | Seitennummer (nullbasiert)    |
| `limit`   | Integer | `50`     | Anzahl der Einträge pro Seite |

<Warning>
  Seiten sind **nullbasiert**. Die erste Seite ist `page=0`, nicht `page=1`.
</Warning>

## Antwortformat

Paginierte Endpoints geben Folgendes zurück:

```json theme={null}
{
  "data": [...],
  "totalRegistries": 150,
  "totalPages": 3
}
```

* `data` — Array der Einträge für die aktuelle Seite
* `totalRegistries` — Gesamtanzahl der Einträge über alle Seiten
* `totalPages` — Gesamtanzahl der Seiten (berechnet als `ceil(totalRegistries / limit)`)

## Limits

| API                   | Standard-Limit | Maximales Limit |
| --------------------- | -------------- | --------------- |
| External Pharmacy API | 50             | 200             |
| Management API        | 50             | 200             |
| Public API (Produkte) | 50             | 150             |

Wird ein `limit` über dem Maximum angefordert, wird es auf das Maximum begrenzt.

## Beispiel

Abruf der zweiten Seite mit 25 Produkten:

```bash theme={null}
curl -X GET "https://api.rxscale.com/v1/management/products?page=1&limit=25" \
  -H "X-API-Key: your-api-key"
```

Antwort:

```json theme={null}
{
  "data": [
    {"uid": "prod_abc", "name": "Product 26"},
    {"uid": "prod_def", "name": "Product 27"}
  ],
  "totalRegistries": 75,
  "totalPages": 3
}
```

## Durch alle Seiten iterieren

```python theme={null}
import requests

page = 0
all_items = []

while True:
    response = requests.get(
        "https://api.rxscale.com/v1/management/products",
        headers={"X-API-Key": "your-api-key"},
        params={"page": page, "limit": 50}
    )
    data = response.json()
    all_items.extend(data["data"])

    if page >= data["totalPages"] - 1:
        break
    page += 1
```

<Tip>
  Verwenden Sie das kleinste `limit`, das für Ihren Anwendungsfall sinnvoll ist. Kleinere Seiten bedeuten schnellere Antworten und weniger Speicherverbrauch.
</Tip>
