Organisationsthema ersetzen
PUT /v1/branding/organizations/{org_id} · Berechtigung branding:write
Ersetzt den gesamten Themenentwurf des Bereichs; im Body fehlende Tokens werden gelöscht. {"theme":{}} leert den Bereich. If-Match trägt das ETag dieses Bereichs (aus dem passenden GET), nicht das der Umgebung. Jedes Token außer logo, light.color.primary und dark.color.primary schlägt mit 422 (token_not_allowed_in_scope) fehl.
Anfrage
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
org_id |
Pfad | ja | org_…-ID. |
If-Match |
Header | ja | Das zuletzt gelesene ETag des Entwurfs ("0", wenn nie geschrieben). Fehlt: 428; veraltet: 412. |
theme |
Objekt | ja | Vollständiges BrandingTheme des Bereichs. |
Antwort
200 OK mit dem Themenentwurf des Bereichs und seinem ETag (jeder Bereich hat eine eigene Version).
{
"theme": {"logo": "logo_acme", "light": {"color": {"primary": "#0a3d91"}}},
"updated_at": "2026-10-05T09:30:00.123456Z"
}
Fehler
| HTTP | Code | Wann |
|---|---|---|
| 400 | unknown_field |
Der Body enthält ein unbekanntes Feld oder ist kein JSON-Objekt. |
| 404 | not_found |
Die ID ist keine gültige org_…-ID. |
| 412 | precondition_failed |
If-Match stimmt nicht mit der aktuellen Version des Entwurfs überein. |
| 422 | validation_failed |
Ein Tokenwert ist ungültig (invalid_value, out_of_range, unknown_token); pointer nennt das Token, z. B. /theme/light/color/primary. |
| 428 | precondition_required |
Der If-Match-Header fehlt. |
| 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
curl -X PUT https://api.eu.keenauth.com/v1/branding/organizations/org_01jbexample0000000000000000 \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-H 'If-Match: "1"' \
-d '{"theme":{"logo":"logo_acme","light":{"color":{"primary":"#0a3d91"}}}}'