Status Pages
Update Status Page
Update status page configuration, branding, or visibility
PATCH
Path Parameters
The status page ID
Body Parameters
All fields are optional. Only include the fields you want to change.General
Display name
URL slug (must be unique)
Subtitle shown below the page name
Language code (e.g.
en, ja, de) or auto for browser detectionBranding
Logo image URL
Favicon URL
Brand color hex code (e.g.
#22c55e)light, dark, or systemTheme preset:
default, minimal, corporate, neon, ocean, sunsetCustom CSS to inject into the page
Custom HTML for the page header
Custom HTML for the page footer
Hide the “Powered by kodo” footer (Pro+)
Advanced Design
Font family id used by the status page theme.
Secondary brand color in
#RRGGBB format.Toggle subscriber form section visibility.
Toggle incident timeline section visibility.
Toggle uptime chart section visibility.
Header layout style:
centered or left-aligned.Border radius preset id from supported theme radius options.
Full custom HTML template (Pro+), max
64KB. Set null to clear.For versioned draft/validate/publish workflows, use the dedicated Design API:
GET/PUT/POST /status-pages/{id}/design....Custom Domain
Custom domain for the status page (e.g.
status.yourcompany.com). Must be globally unique across all status pages. Set null to remove. Requires Pro plan or higher.Visibility
public, private (Pro+), or internal (Team+)Optional hint shown on the password entry page (private mode)
Announcements
Announcement banner text
info, warning, or successShow or hide the announcement banner
Response
Returns the updated status page object.Common Errors
| Status | Message | Description |
|---|---|---|
| 400 | Slug must contain only lowercase letters, numbers, and hyphens | Slug format validation failed |
| 400 | Template contains unsafe HTML content | XSS check failed on custom_template |
| 400 | Custom header HTML contains unsafe content | XSS check failed on custom_header_html |
| 400 | Custom footer HTML contains unsafe content | XSS check failed on custom_footer_html |
| 400 | Invalid primary color format (use #RRGGBB) | Color must be a valid hex code |
| 400 | Custom CSS exceeds maximum size of 64KB | CSS payload too large |
| 400 | No valid fields to update | Request body contained no recognized fields |
| 403 | Custom domains require a Pro plan or higher | Plan upgrade needed for custom_domain |
| 403 | Custom HTML templates require a Pro plan or higher | Plan upgrade needed for custom_template |
| 403 | Private status pages require a Pro plan or higher | Plan upgrade needed for private visibility |
| 403 | Internal status pages require a Team plan or higher | Plan upgrade needed for internal visibility |
| 404 | Status page not found | The ID does not match a page in your organization |
| 409 | This slug is already taken | Another status page already uses this slug |
| 409 | This domain is already in use by another status page | Another status page already uses this custom domain |