Seitenvorlage setzen
PUT /v1/branding/page-template · Berechtigung branding:write
Schreibt die Liquid-Seitenvorlage des Umgebungsentwurfs (Plan Startup oder höher, Funktion branding_page_template). Die Vorlage muss den Platzhalter {{ idp.widget }} genau einmal enthalten; sie wird beim Schreiben in einer Sandbox kompiliert. Eine leere Zeichenkette löscht sie.
Anfrage
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
If-Match |
Header | ja | Das zuletzt gelesene ETag des Entwurfs ("0", wenn nie geschrieben). Fehlt: 428; veraltet: 412. |
page_template |
String | ja | Höchstens 102400 Bytes; "" löscht. |
Antwort
200 OK mit dem Umgebungsentwurf und seinem ETag. theme enthält nur gesetzte Tokens; nicht gesetzte erben vom Plattformstandard.
{
"theme": {"mode": "light", "light": {"color": {"primary": "#0a3d91"}}, "logo_height": 40},
"css": null,
"page_template": null,
"updated_at": "2026-10-05T09:30:00.123456Z"
}
Fehler
| HTTP | Code | Wann |
|---|---|---|
| 400 | unknown_field |
Der Body enthält ein unbekanntes Feld oder ist kein JSON-Objekt. |
| 403 | plan_feature_unavailable |
Der Plan enthält die Funktion nicht (plan_feature_unavailable, Erweiterungen feature und required_plan). Entwicklungsumgebungen sind nicht eingeschränkt. |
| 412 | precondition_failed |
If-Match stimmt nicht mit der aktuellen Version des Entwurfs überein. |
| 422 | validation_failed |
page_template fehlt oder ist null (required) oder zu lang (too_long). |
| 422 | template_forbidden_construct |
Die Vorlage verwendet ein verbotenes Konstrukt (zum Beispiel {% include %} oder <script>), oder {{ idp.widget }} kommt nicht genau einmal vor. |
| 428 | precondition_required |
Der If-Match-Header fehlt. |
| 401 | unauthenticated |
Die Anmeldeinformation fehlt, ist ungültig oder widerrufen. |
| 403 | insufficient_permissions |
Der Anmeldeinformation fehlt die erforderliche Berechtigung. |
| 429 | rate_limited |
Das Ratenlimit wurde überschritten; nach der Retry-After-Zeit erneut versuchen. |
| 503 | service_unavailable |
Eine Abhängigkeit ist vorübergehend nicht verfügbar; nach der Retry-After-Zeit erneut versuchen. |
Beispiel
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>"}'