Impostare il modello di pagina

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

Scrive il modello di pagina Liquid della bozza dell'ambiente (piano Startup o superiore, funzionalità branding_page_template). Il modello deve contenere lo slot {{ idp.widget }} esattamente una volta; viene compilato in una sandbox in scrittura. Una stringa vuota lo cancella.

Richiesta

Campo Tipo Obbligatorio Descrizione
If-Match intestazione sì L'ETag della bozza letto per ultimo ("0" se mai scritta). Assente: 428; obsoleto: 412.
page_template stringa sì Al massimo 102400 byte; "" cancella.

Risposta

200 OK con la bozza dell'ambiente e il suo ETag. theme contiene solo i token impostati; gli altri ereditano il valore predefinito della piattaforma.

{
  "theme": {"mode": "light", "light": {"color": {"primary": "#0a3d91"}}, "logo_height": 40},
  "css": null,
  "page_template": null,
  "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.
403 plan_feature_unavailable Il piano non include la funzionalità (plan_feature_unavailable, estensioni feature e required_plan). Gli ambienti di sviluppo non sono limitati.
412 precondition_failed If-Match non corrisponde alla versione corrente della bozza.
422 validation_failed page_template è assente o null (required), oppure troppo lungo (too_long).
422 template_forbidden_construct Il modello usa un costrutto vietato (ad esempio {% include %} o <script>), oppure {{ idp.widget }} non compare esattamente una volta.
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/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>"}'