Creating a Status Page via API

Status Page API

The Status Page API allows you to programmatically create and manage public status pages for your monitored services.

Creating a Status Page

To create a new status page, send a POST request:

curl -X POST "https://api.uptimekeeper.com/v1/status-pages" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Company Service Status",
    "subdomain": "company-status",
    "branding": {
      "logo_url": "https://example.com/logo.png",
      "primary_color": "#1ECC99",
      "secondary_color": "#333333"
    },
    "monitors": ["mon_12345", "mon_67890"],
    "is_public": true
  }'

API Parameters

ParameterTypeDescription
namestringDisplay name for the status page
subdomainstringSubdomain for your status page (company.uptimekeeper.com)
brandingobjectLogo URL and color scheme configuration
monitorsarrayList of monitor IDs to display on the status page
is_publicbooleanWhether the status page is publicly accessible

Creating Component Groups

Organize your status page with component groups:

curl -X POST "https://api.uptimekeeper.com/v1/status-pages/page_12345/groups" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "API Services",
    "monitor_ids": ["mon_12345", "mon_67890"],
    "display_order": 1
  }'

Creating a Custom Status Page Widget

Generate embeddable status widgets for your website:

curl -X POST "https://api.uptimekeeper.com/v1/status-pages/page_12345/widgets" \
  -H "X-API-Key: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "status_badge",
    "monitors": ["mon_12345"],
    "style": "minimal"
  }'