Reemplazar el tema de la aplicación

PUT /v1/branding/applications/{application_id} · permiso branding:write

Reemplaza todo el borrador del tema del ámbito; los tokens ausentes del cuerpo se borran. {"theme":{}} vacía el ámbito. If-Match lleva el ETag de este ámbito (del GET correspondiente), no el del entorno.

Solicitud

Campo Tipo Requerido Descripción
application_id ruta sí Id app_….
If-Match encabezado sí El ETag del borrador leído por última vez ("0" si nunca se escribió). Ausente: 428; obsoleto: 412.
theme objeto sí BrandingTheme completo del ámbito.

Respuesta

200 OK con el borrador del tema del ámbito y su ETag (cada ámbito tiene su propia versión).

{
  "theme": {"logo": "logo_acme", "light": {"color": {"primary": "#0a3d91"}}},
  "updated_at": "2026-10-05T09:30:00.123456Z"
}

Errores

HTTP código Cuándo
400 unknown_field El cuerpo tiene un campo desconocido o no es un objeto JSON.
404 not_found La aplicación no existe en este entorno o el id está mal formado.
412 precondition_failed If-Match no coincide con la versión actual del borrador.
422 validation_failed Un valor de token no es válido (invalid_value, out_of_range, unknown_token); pointer indica el token, p. ej. /theme/light/color/primary.
428 precondition_required Falta el encabezado If-Match.
401 unauthenticated La credencial falta, no es válida o se ha revocado.
403 insufficient_permissions La credencial no tiene el permiso necesario.
429 rate_limited Se superó el límite de frecuencia; vuelva a intentarlo tras el periodo Retry-After.
503 service_unavailable Una dependencia no está disponible temporalmente; vuelva a intentarlo tras el periodo Retry-After.

Ejemplo

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"}}}}'