Remplacer le thème de l'organisation
PUT /v1/branding/organizations/{org_id} · permission branding:write
Remplace tout le brouillon de thème de la portée ; les jetons absents du corps sont effacés. {"theme":{}} efface la portée. If-Match porte l'ETag de cette portée (issu du GET correspondant), pas celui de l'environnement. Tout jeton autre que logo, light.color.primary et dark.color.primary échoue avec 422 (token_not_allowed_in_scope).
Requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
org_id |
chemin | oui | Identifiant org_…. |
If-Match |
en-tête | oui | L'ETag du brouillon lu en dernier ("0" s'il n'a jamais été écrit). Absent : 428 ; périmé : 412. |
theme |
objet | oui | BrandingTheme complet de la portée. |
Réponse
200 OK avec le brouillon de thème de la portée et son ETag (chaque portée a sa propre version).
{
"theme": {"logo": "logo_acme", "light": {"color": {"primary": "#0a3d91"}}},
"updated_at": "2026-10-05T09:30:00.123456Z"
}
Erreurs
| HTTP | code | Quand |
|---|---|---|
| 400 | unknown_field |
Le corps contient un champ inconnu ou n'est pas un objet JSON. |
| 404 | not_found |
L'identifiant n'est pas un identifiant org_… valide. |
| 412 | precondition_failed |
If-Match ne correspond pas à la version actuelle du brouillon. |
| 422 | validation_failed |
Une valeur de jeton est invalide (invalid_value, out_of_range, unknown_token) ; pointer désigne le jeton, p. ex. /theme/light/color/primary. |
| 428 | precondition_required |
L'en-tête If-Match est absent. |
| 401 | unauthenticated |
L'identifiant est absent, invalide ou révoqué. |
| 403 | insufficient_permissions |
L'identifiant n'a pas la permission requise. |
| 429 | rate_limited |
La limite de débit est dépassée ; réessayez après le délai Retry-After. |
| 503 | service_unavailable |
Une dépendance est temporairement indisponible ; réessayez après le délai Retry-After. |
Exemple
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"}}}}'