Skip to main content
PATCH
/
status-pages
/
{id}
curl -X PATCH "https://kodostatus.com/api/v1/status-pages/sp_abc123" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "primary_color": "#3b82f6",
    "announcement_text": "Scheduled maintenance tonight at 10pm UTC",
    "announcement_type": "warning",
    "announcement_enabled": true
  }'
{
  "page": {
    "id": "uuid",
    "name": "Public Status",
    "slug": "acme",
    "primary_color": "#3b82f6",
    "announcement_text": "Scheduled maintenance tonight at 10pm UTC",
    "announcement_type": "warning",
    "announcement_enabled": true,
    "updated_at": "2024-06-15T14:00:00Z"
  }
}

Path Parameters

id
string
required
The status page ID

Body Parameters

All fields are optional. Only include the fields you want to change.

General

name
string
Display name
slug
string
URL slug (must be unique)
tagline
string
Subtitle shown below the page name
status_page_language
string
Language code (e.g. en, ja, de) or auto for browser detection

Branding

logo_url
string
Logo image URL
favicon_url
string
Favicon URL
primary_color
string
Brand color hex code (e.g. #22c55e)
theme_mode
string
light, dark, or system
status_page_theme
string
Theme preset: default, minimal, corporate, neon, ocean, sunset
custom_css
string
Custom CSS to inject into the page
custom_header_html
string
Custom HTML for the page header
Custom HTML for the page footer
hide_branding
boolean
Hide the “Powered by kodo” footer (Pro+)

Advanced Design

font_family
string
Font family id used by the status page theme.
secondary_color
string
Secondary brand color in #RRGGBB format.
show_subscribe_form
boolean
Toggle subscriber form section visibility.
show_incident_history
boolean
Toggle incident timeline section visibility.
show_uptime_graph
boolean
Toggle uptime chart section visibility.
header_style
string
Header layout style: centered or left-aligned.
border_radius
string
Border radius preset id from supported theme radius options.
custom_template
string | null
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....
When updating design-managed fields (primary_color, secondary_color, font_family, logo_url, favicon_url, show_subscribe_form, show_incident_history, show_uptime_graph, custom_template) while a published design version exists, the response includes a warning field suggesting to use the Design API instead. Direct updates still apply immediately but may be overwritten on the next design publish.

Custom Domain

custom_domain
string | null
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

status_page_visibility
string
public, private (Pro+), or internal (Team+)
status_page_password_hint
string
Optional hint shown on the password entry page (private mode)

Announcements

announcement_text
string
Announcement banner text
announcement_type
string
info, warning, or success
announcement_enabled
boolean
Show or hide the announcement banner

Response

Returns the updated status page object.

Common Errors

StatusMessageDescription
400Slug must contain only lowercase letters, numbers, and hyphensSlug format validation failed
400Template contains unsafe HTML contentXSS check failed on custom_template
400Custom header HTML contains unsafe contentXSS check failed on custom_header_html
400Custom footer HTML contains unsafe contentXSS check failed on custom_footer_html
400Invalid primary color format (use #RRGGBB)Color must be a valid hex code
400Custom CSS exceeds maximum size of 64KBCSS payload too large
400No valid fields to updateRequest body contained no recognized fields
403Custom domains require a Pro plan or higherPlan upgrade needed for custom_domain
403Custom HTML templates require a Pro plan or higherPlan upgrade needed for custom_template
403Private status pages require a Pro plan or higherPlan upgrade needed for private visibility
403Internal status pages require a Team plan or higherPlan upgrade needed for internal visibility
404Status page not foundThe ID does not match a page in your organization
409This slug is already takenAnother status page already uses this slug
409This domain is already in use by another status pageAnother status page already uses this custom domain
curl -X PATCH "https://kodostatus.com/api/v1/status-pages/sp_abc123" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "primary_color": "#3b82f6",
    "announcement_text": "Scheduled maintenance tonight at 10pm UTC",
    "announcement_type": "warning",
    "announcement_enabled": true
  }'
{
  "page": {
    "id": "uuid",
    "name": "Public Status",
    "slug": "acme",
    "primary_color": "#3b82f6",
    "announcement_text": "Scheduled maintenance tonight at 10pm UTC",
    "announcement_type": "warning",
    "announcement_enabled": true,
    "updated_at": "2024-06-15T14:00:00Z"
  }
}