---
title: "Update a status page"
method: PUT
path: "/api/status-pages/{id}"
tags: ["Status Pages"]
---

# Update a status page

`PUT /api/status-pages/{id}`

## Request

- Base URL: `https://demo.supercheck.dev`
- URL: `https://demo.supercheck.dev/api/status-pages/{id}`
- Auth: HTTP bearer

Update settings and/or status of a status page. Requires `status_page:update`. The body is strict: unknown fields, `subdomain` and `customDomainVerified` return 400, and an empty body returns 400 (`No fields to update`).

Order of work: when `status` is `published`, publish preconditions are checked first and nothing is written if they fail (the page must be accessible to your account and have at least one public component, otherwise 403 or 400). Then settings are saved, then the status is changed. If the status change fails after settings were saved, the error message says so.

Custom domains: setting a non-empty `customDomain` that differs from the current one resets verification and requires the feature to be available for your account (403 if not), a deployment configured for custom domains (400), a hostname outside the platform status page domain (400) and not used by another page (409).

## Request body

- StatusPageUpdateRequest: Any subset of the fields below; at least one is required. `subdomain` and `customDomainVerified` are managed by the server and rejected with 400.
  - `name` string
  - `headline` string
  - `pageDescription` string
  - `supportUrl` string: Support contact: an email address or an `http(s)` URL. Empty string clears it.
  - `timezone` string
  - `language` string: Public page language (ISO 639-1), for example `en` or `pt-BR`.
  - `customDomain` string: Hostname for the public page, lower-cased by the server. Empty string removes it. Changing it resets verification (`customDomainVerified` becomes false). It must not use the platform status page domain or its subdomains, must not be used by another status page (409), and requires custom domains to be configured on the deployment (400) and available for your account (403).
  - `allowPageSubscribers` boolean
  - `allowEmailSubscribers` boolean
  - `allowWebhookSubscribers` boolean
  - `allowSlackSubscribers` boolean
  - `allowIncidentSubscribers` boolean
  - `allowRssFeed` boolean
  - `cssBodyBackgroundColor` string: Hex color such as `#1a2b3c`.
  - `cssFontColor` string: Hex color such as `#1a2b3c`.
  - `cssLightFontColor` string: Hex color such as `#1a2b3c`.
  - `cssGreens` string: Hex color such as `#1a2b3c`.
  - `cssYellows` string: Hex color such as `#1a2b3c`.
  - `cssOranges` string: Hex color such as `#1a2b3c`.
  - `cssBlues` string: Hex color such as `#1a2b3c`.
  - `cssReds` string: Hex color such as `#1a2b3c`.
  - `cssBorderColor` string: Hex color such as `#1a2b3c`.
  - `cssGraphColor` string: Hex color such as `#1a2b3c`.
  - `cssLinkColor` string: Hex color such as `#1a2b3c`.
  - `cssNoData` string: Hex color such as `#1a2b3c`.
  - `status` 'draft' | 'published' | 'archived': Lifecycle status. `draft` and `archived` unpublish the page. See the operation description for publish preconditions.

## Response `200`

Updated status page

- object
  - `statusPage` StatusPage
    - `id` string, uuid
    - `name` string
    - `subdomain` string
    - `status` string
    - `pageDescription` string, nullable
    - `allowRssFeed` boolean
    - `faviconLogo` string, nullable
    - `transactionalLogo` string, nullable
    - `heroCover` string, nullable
    - `createdAt` string, date-time, nullable
    - `updatedAt` string, date-time, nullable

## Other responses

- `400`: Invalid body, publish precondition failed, or domain rule violated
- `401`: Authentication required or token invalid
- `403`: Insufficient permissions, or the feature or action is not available for your account
- `404`: Resource not found
- `409`: Custom domain already in use by another status page
- `500`: Failed to update status page

## Changes

- **2026-10-25** `9d4e9599f8c5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/supercheck-io/apis/supercheck-api/changes/api/status-pages/:id/put.md)

---

[API](https://skmtc.dev/supercheck-io/apis/supercheck-api.md) - [All operations](https://skmtc.dev/supercheck-io/apis/supercheck-api/llms.txt) - [OpenAPI document](https://skmtc.dev/supercheck-io/apis/supercheck-api/revisions/7fa0162c07bd?raw)
