MethodPathSummaryAuth
GET/v1/admin/status-pageRead the status page editor viewSession
PUT/v1/admin/status-pageSave the status page settings and componentsSession
POST/v1/admin/status-page/incidentsCreate an incident or a scheduled maintenanceSession
DELETE/v1/admin/status-page/incidents/{incident_id}Delete an incidentSession
POST/v1/admin/status-page/incidents/{incident_id}/updatesAdd an update to an incidentSession

Contract file:api/control-status-page.openapi.yaml

Operation details

GET /v1/admin/status-page

Read the status page editor view

operationId
getAdminStatusPage
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:system_configuration.read

Responses

getAdminStatusPage Responses
StatusDescription
200Settings

Fields:revision: integer(int64) settings: Settings components: array<AdminComponent> incidents: array<Incident> line_groups: array<object> updated_at: string(date-time)

401Error
403Error
503Error

What to do on failure

  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

PUT /v1/admin/status-page

Save the status page settings and components

operationId
updateAdminStatusPage
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:system_configuration.manage

Parameters

updateAdminStatusPage Parameters
NameInTypeRequiredDescription
If-MatchheaderstringYes—

Request body

application/json · Required:Yes

updateAdminStatusPage Request body
NameTypeRequiredDescription
settingsSettingsInputYes—
componentsarray<ComponentInput>Yes—

Responses

updateAdminStatusPage Responses
StatusDescription
200Saved view

Fields:revision: integer(int64) settings: Settings components: array<AdminComponent> incidents: array<Incident> line_groups: array<object> updated_at: string(date-time)

400Error
401Error
403Error
409Duplicate component name
412Revision conflict
428If-Match revision is missing
503Error

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.
  • 412 The revision changed: read the latest ETag, decide again, then send the new If-Match.
  • 428 A precondition is missing: read the resource and send If-Match (or the required proof).
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

POST /v1/admin/status-page/incidents

Create an incident or a scheduled maintenance

operationId
createStatusPageIncident
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:system_configuration.manage

Request body

application/json · Required:Yes

createStatusPageIncident Request body
NameTypeRequiredDescription
kindstring: incident / maintenanceYes—
titlestringYes—
impactstringNoRequired for an incident (degraded or outage); ignored for maintenance, which is always maintenance.
statusstring: investigating / identified / monitoring / resolved / scheduled / in_progress / completedNoIncident: investigating, identified, monitoring or resolved (default investigating). Maintenance: scheduled, in_progress or completed (default scheduled).
messagestringYes—
component_idsarray<string(uuid)>No—
scheduled_startstring(date-time)NoMaintenance only, required there.
scheduled_endstring(date-time)NoMaintenance only, required there; after scheduled_start, at most 30 days after it, and in the future.

Responses

createStatusPageIncident Responses
StatusDescription
201Created

Fields:id: string(uuid) kind: string: incident / maintenance title: string impact: string: degraded / outage / maintenance status: string: investigating / identified / monitoring / resolved / scheduled / in_progress / completed component_ids: array<string(uuid)> scheduled_start?: string(date-time) scheduled_end?: string(date-time) started_at: string(date-time) resolved_at?: string(date-time) updates: array<IncidentUpdate>

400Error
401Error
403Error
503Error

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

DELETE /v1/admin/status-page/incidents/{incident_id}

Delete an incident

operationId
deleteStatusPageIncident
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:system_configuration.manage

Parameters

deleteStatusPageIncident Parameters
NameInTypeRequiredDescription
incident_idpathstring(uuid)Yes—

Responses

deleteStatusPageIncident Responses
StatusDescription
204Deleted
401Error
403Error
404Error
503Error

What to do on failure

  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list

POST /v1/admin/status-page/incidents/{incident_id}/updates

Add an update to an incident

operationId
addStatusPageIncidentUpdate
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:system_configuration.manage

Parameters

addStatusPageIncidentUpdate Parameters
NameInTypeRequiredDescription
incident_idpathstring(uuid)Yes—

Request body

application/json · Required:Yes

addStatusPageIncidentUpdate Request body
NameTypeRequiredDescription
statusstring: investigating / identified / monitoring / resolved / scheduled / in_progress / completedYesMust belong to the incident's kind.
messagestringYes—

Responses

addStatusPageIncidentUpdate Responses
StatusDescription
200Updated incident

Fields:id: string(uuid) kind: string: incident / maintenance title: string impact: string: degraded / outage / maintenance status: string: investigating / identified / monitoring / resolved / scheduled / in_progress / completed component_ids: array<string(uuid)> scheduled_start?: string(date-time) scheduled_end?: string(date-time) started_at: string(date-time) resolved_at?: string(date-time) updates: array<IncidentUpdate>

400Error
401Error
403Error
404Error
409The incident is already resolved or the maintenance completed
503Error

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.
  • 409 Read the current state first; a retry of the same operation keeps the original Idempotency-Key and body.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list