Update status page settings
const url = 'https://api.perstat.io/status-pages/example';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"access_mode":"example","collapsed_groups":["example"],"description":"example","enabled":true,"header_nav":[{"href":"example","label":"example"}],"headline":"example","hide_datargo_brand":true,"name":"example","password_protected":true,"public_viewable":true,"slug":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://api.perstat.io/status-pages/example \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "access_mode": "example", "collapsed_groups": [ "example" ], "description": "example", "enabled": true, "header_nav": [ { "href": "example", "label": "example" } ], "headline": "example", "hide_datargo_brand": true, "name": "example", "password_protected": true, "public_viewable": true, "slug": "example" }'Updates the settings of a status page: name, slug, headline, description, publication state, access mode, header navigation, and branding options. Private access modes and hiding the platform branding are plan-gated (402). Slug collisions return 409, and slug changes are rate-limited to three per week (429). Requires project management rights. Accepts API keys with the status-pages:write scope, subject to current role and resource grants.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
Zugriffsmodus (neuer, expliziter Weg): “draft” | “public” | “shared_password”
| “viewer_login”. Wenn gesetzt, hat er Vorrang vor den Legacy-Flags
public_viewable/password_protected und ist die EINE Quelle der Wahrheit
für genau ein Gate.
Gruppen-Namen, die standardmäßig eingeklappt dargestellt werden; fehlt das Feld, bleibt die bisherige Liste erhalten.
Header-Navigation; fehlt sie, bleibt die bisherige erhalten.
Ein Navigationselement der Header-Bar.
object
Perstat-Branding der Seite ausblenden (Seite + Abo-Mails). Fehlt das Feld,
bleibt der bisherige Wert. Tarif-Feature: ohne monitor.white_label lehnt
der Server das EINSCHALTEN mit 402 ab (Ausschalten geht immer).
Seite als privat (passwortgeschützt = Viewer-Login) schalten. Legacy-Fallback,
wenn access_mode fehlt. Tarif-Feature: ohne monitor.private_status_pages
lehnt der Server das Einschalten mit 403 ab.
Optionaler neuer Subdomain-Slug. Wird serverseitig normalisiert (slugify); fehlt er oder ist leer, bleibt der bisherige Slug erhalten.
Examplegenerated
{ "access_mode": "example", "collapsed_groups": [ "example" ], "description": "example", "enabled": true, "header_nav": [ { "href": "example", "label": "example" } ], "headline": "example", "hide_datargo_brand": true, "name": "example", "password_protected": true, "public_viewable": true, "slug": "example"}Responses
Section titled “Responses”Request succeeded. The response body contains the result.
object
Gruppen-Namen, die auf der publizierten Seite standardmäßig eingeklappt sind.
Header-Navigation (Label + URL).
Ein Navigationselement der Header-Bar.
object
Per-Seite-Schalter „Perstat-Branding ausblenden“. Wirksam nur zusammen
mit der Tarif-Cap monitor.white_label (siehe white_label_available
im Detail-DTO); ohne Cap bleibt der gespeicherte Wert wirkungslos.
Privat: publizierte Seite hinter Viewer-Login (orthogonal zu public_viewable).
Gemeinsames Kennwort: EIN geteiltes Passwort schaltet die ganze Seite frei
(orthogonal zu public_viewable, mutually-exclusive zu password_protected).
Ob ein geteiltes Kennwort GESETZT ist (Hash vorhanden). Niemals das Klartext — nur dieser bool, damit der Editor „gesetzt/leer“ anzeigen kann.
Examplegenerated
{ "collapsed_groups": [ "example" ], "description": "example", "enabled": true, "header_nav": [ { "href": "example", "label": "example" } ], "headline": "example", "hide_datargo_brand": true, "id": "example", "name": "example", "organization_id": "example", "password_protected": true, "public_viewable": true, "shared_password_protected": true, "shared_password_set": true, "slug": "example"}The request is invalid. Check the supplied fields and values.
Authentication is missing or invalid.
Privat braucht perstat.private_status_pages, Branding-Ausblenden perstat.white_label (Tarif)
The authenticated caller does not have permission to perform this operation.
No accessible resource matches the supplied identifier.
Slug bereits vergeben
Zu viele Slug-Wechsel (max. 3/Woche)