Sostituire il tema dell'applicazione

PUT /v1/branding/applications/{application_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.

Richiesta

Campo Tipo Obbligatorio Descrizione
application_id percorso sì Id app_….
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'applicazione non esiste in questo ambiente o l'id non è 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/applications/app_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"}}}}'