
# Branding-Entwurf abrufen

`GET /v1/branding` · Berechtigung `branding:read`

Gibt den Branding-Entwurf der Umgebung zurück: Thementokens, benutzerdefiniertes CSS und Seitenvorlage. Der Entwurf ist nicht live; gehostete Seiten verwenden die zuletzt veröffentlichte Version (`POST /v1/branding:publish`). Wurde noch nichts geschrieben, ist das Thema leer, `ETag` ist `"0"` und `updated_at` ist `null`. Senden Sie das `ETag` beim nächsten Schreiben als `If-Match`.

## Anfrage

Dieser Vorgang hat keine Pfad-, Query- oder Body-Felder. Die Umgebung ergibt sich aus der Anmeldeinformation.

## Antwort

`200 OK` mit dem Umgebungsentwurf und seinem `ETag`. `theme` enthält nur gesetzte Tokens; nicht gesetzte erben vom Plattformstandard.

```json
{
  "theme": {"mode": "light", "light": {"color": {"primary": "#0a3d91"}}, "logo_height": 40},
  "css": null,
  "page_template": null,
  "updated_at": "2026-10-05T09:30:00.123456Z"
}
```

## Fehler

| HTTP | Code | Wann |
|---|---|---|
| 401 | `unauthenticated` | Die Anmeldeinformation fehlt, ist ungültig oder widerrufen. |
| 403 | `insufficient_permissions` | Der Anmeldeinformation fehlt die erforderliche Berechtigung. |
| 429 | `rate_limited` | Das Ratenlimit wurde überschritten; nach der `Retry-After`-Zeit erneut versuchen. |
| 503 | `service_unavailable` | Eine Abhängigkeit ist vorübergehend nicht verfügbar; nach der `Retry-After`-Zeit erneut versuchen. |

## Beispiel

```bash
curl https://api.eu.keenauth.com/v1/branding \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
