Sostituire il tema dell'organizzazione
PUT /v1/branding/organizations/{org_id} · permesso branding:write
Sostituisce l'intera bozza del tema dell'ambito; i token assenti dal corpo vengono cancellati. {"theme":{}} svuota l'ambito. If-Match contiene l'ETag di questo ambito (dal GET corrispondente), non quello dell'ambiente. Qualsiasi token diverso da logo, light.color.primary e dark.color.primary fallisce con 422 (token_not_allowed_in_scope).
Richiesta
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
org_id |
percorso | sì | Id org_…. |
If-Match |
intestazione | sì | L'ETag della bozza letto per ultimo ("0" se mai scritta). Assente: 428; obsoleto: 412. |
theme |
oggetto | sì | BrandingTheme completo dell'ambito. |
Risposta
200 OK con la bozza del tema dell'ambito e il suo ETag (ogni ambito ha la propria versione).
{
"theme": {"logo": "logo_acme", "light": {"color": {"primary": "#0a3d91"}}},
"updated_at": "2026-10-05T09:30:00.123456Z"
}
Errori
| HTTP | code | Quando |
|---|---|---|
| 400 | unknown_field |
Il corpo contiene un campo sconosciuto o non è un oggetto JSON. |
| 404 | not_found |
L'id non è un id org_… valido. |
| 412 | precondition_failed |
If-Match non corrisponde alla versione corrente della bozza. |
| 422 | validation_failed |
Un valore di token non è valido (invalid_value, out_of_range, unknown_token); pointer indica il token, ad es. /theme/light/color/primary. |
| 428 | precondition_required |
L'intestazione If-Match è assente. |
| 401 | unauthenticated |
La credenziale manca, non è valida o è stata revocata. |
| 403 | insufficient_permissions |
La credenziale non ha il permesso richiesto. |
| 429 | rate_limited |
Il limite di frequenza è stato superato; riprovare dopo il periodo Retry-After. |
| 503 | service_unavailable |
Una dipendenza è temporaneamente non disponibile; riprovare dopo il periodo Retry-After. |
Esempio
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"}}}}'