# Erlaubte Werte lesen (https://developer.bimetrics.de/reference/layouts/get-layout-catalog)

`GET https://app.bimetrics.de/api/layouts/catalog`

operationId: `getLayoutCatalog` · Berechtigung (Scope): `sales:read` · Bereich: Layouts

Liefert, was ein Layout wählen kann: die Module mit Bereichen, Eigenschaften und erlaubten Werten, die Vorlagen (`presets`) mit ihren Kombinationen aus Schrift und Farbe (`recipes`), die Belegarten, die Musterfälle der Vorschau und die Bausteine. Pfade und Werte für `set` stehen unter `modules[].properties`, Grenzen zwischen Werten unter `modules[].limits`.

Benötigt einen Schlüssel mit der Berechtigung `sales:read` oder `read`.

### Authentifizierung

`Authorization: Bearer bm_…` (alternativ `X-API-KEY: bm_…`, nie beide zugleich).

### Beispiel

```sh
curl --fail-with-body "https://app.bimetrics.de/api/layouts/catalog" \
  -H "Authorization: Bearer $BIMETRICS_API_KEY"
```

### Antworten

| Status | Beschreibung | Inhalt |
| --- | --- | --- |
| 200 | Erfolg. | `application/json`: LayoutCatalog |
| 400 | Ungültige Anfrage, z. B. ein Parameter mit ungültigem Wert wie eine ID, die keine UUID ist; korrigieren statt wiederholen. Mehr unter [Fehler](https://developer.bimetrics.de/errors). | `application/json`: Error |
| 401 | Kein gültiger Schlüssel: fehlt (`Unauthorized`), ist unbekannt, abgelaufen oder widerrufen oder wurde nicht in genau einem Header gesendet (`InvalidAPIKey`). Schlüssel prüfen, nicht wiederholen. Auch eine ID, die zu einer anderen Firma gehört, ergibt `401 Unauthorized`. | `application/json`: Error |
| 403 | Dem Schlüssel fehlt die Berechtigung für diese Route (`APIKeyPermissionDenied`), oder die Firma hat keinen API-Zugang (mehr), etwa nach Ende der Testphase oder des Abos (`APIUnavailable`). | `application/json`: Error |
| 413 | Die Anfrage ist zu groß (`APIRequestTooLarge`), siehe `x-bimetrics-limits`. | `application/json`: Error |
| 429 | Zu viele Anfragen; nach `Retry-After` Sekunden erneut senden. Mehr unter [Fehler](https://developer.bimetrics.de/errors). (Header: Retry-After) | `application/json`: Error |
| 500 | Serverfehler; die Anfrage später wiederholen. Mehr unter [Fehler](https://developer.bimetrics.de/errors). | `application/json`: Error |

#### Felder der Antwort 200 (`LayoutCatalog`)

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| `blockLimits` | LayoutBlockLimits | Höchstzahl der Bausteine. |
| `blocks` | Array<LayoutBlockModule>, kann null sein | Die Bausteine. |
| `cases` | object, kann null sein | Musterfälle der Vorschau je Belegart, dazu `recurring` und `xrechnung`; der erste ist der Standard. |
| `documentKinds` | Array<string>, kann null sein | Belegarten einer Zuweisung; `*` gilt für alle ohne eigenes Layout. |
| `modules` | Array<LayoutModule>, kann null sein | Die Module. `classic` ist das bisherige Layout ohne Einstellungen. |
| `presets` | Array<LayoutPreset>, kann null sein | Die Vorlagen mit ihren Kombinationen aus Schrift und Farbe. |

Verschachtelte Schemas stehen vollständig in der OpenAPI-Beschreibung: https://app.bimetrics.de/api/openapi.json
