Establecer la plantilla de página

PUT /v1/branding/page-template · permiso branding:write

Escribe la plantilla de página Liquid del borrador del entorno (plan Startup o superior, función branding_page_template). La plantilla debe contener la ranura {{ idp.widget }} exactamente una vez; se compila en un entorno aislado al escribir. Una cadena vacía la borra.

Solicitud

Campo Tipo Requerido Descripción
If-Match encabezado sí El ETag del borrador leído por última vez ("0" si nunca se escribió). Ausente: 428; obsoleto: 412.
page_template cadena sí Como máximo 102400 bytes; "" borra.

Respuesta

200 OK con el borrador del entorno y su ETag. theme contiene solo los tokens definidos; los demás heredan el valor predeterminado de la plataforma.

{
  "theme": {"mode": "light", "light": {"color": {"primary": "#0a3d91"}}, "logo_height": 40},
  "css": null,
  "page_template": null,
  "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.
403 plan_feature_unavailable El plan no incluye la función (plan_feature_unavailable, extensiones feature y required_plan). Los entornos de desarrollo no están restringidos.
412 precondition_failed If-Match no coincide con la versión actual del borrador.
422 validation_failed page_template falta o es null (required), o es demasiado largo (too_long).
422 template_forbidden_construct La plantilla usa una construcción prohibida (por ejemplo {% include %} o <script>), o {{ idp.widget }} no aparece exactamente una vez.
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/page-template \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H 'If-Match: "3"' \
  -d '{"page_template":"<div class=\"shell\">{{ idp.widget }}</div>"}'