Skip to content

Create a status page

POST
/organizations/{org_id}/status-pages
curl --request POST \
--url https://api.perstat.io/organizations/example/status-pages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example" }'

Creates a status page with the given name; the URL slug is derived server-side. Returns 201 with the created page, 402 when the plan’s status page limit is reached, and 409 when the slug is already taken. Requires project management rights. Accepts API keys with the status-pages:write scope, subject to current role and resource grants.

org_id
required
string
Media typeapplication/json
object
name
required
string
Examplegenerated
{
"name": "example"
}

Resource created. The response body contains the created resource.

Media typeapplication/json
object
collapsed_groups
required

Gruppen-Namen, die auf der publizierten Seite standardmäßig eingeklappt sind.

Array<string>
description
string | null
enabled
required
boolean
header_nav
required

Header-Navigation (Label + URL).

Array<object>

Ein Navigationselement der Header-Bar.

object
href
required
string
label
required
string
headline
string | null
hide_datargo_brand
required

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.

boolean
id
required
string
name
required
string
organization_id
required
string
password_protected
required

Privat: publizierte Seite hinter Viewer-Login (orthogonal zu public_viewable).

boolean
public_viewable
required
boolean
shared_password_protected
required

Gemeinsames Kennwort: EIN geteiltes Passwort schaltet die ganze Seite frei (orthogonal zu public_viewable, mutually-exclusive zu password_protected).

boolean
shared_password_set
required

Ob ein geteiltes Kennwort GESETZT ist (Hash vorhanden). Niemals das Klartext — nur dieser bool, damit der Editor „gesetzt/leer“ anzeigen kann.

boolean
slug
required
string
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.

Tarif-Limit für Status-Seiten erreicht

The authenticated caller does not have permission to perform this operation.

Slug bereits vergeben