Skip to main content

Status Pages API

List Status Pages

GET /api/v1/status-pages
Response:
{
  "status_pages": [
    {
      "id": "sp_abc123",
      "name": "Acme Status",
      "subdomain": "status",
      "custom_domain": "status.acme.com",
      "status": "operational",
      "monitors_count": 5
    }
  ]
}

Create Status Page

POST /api/v1/status-pages
Request:
{
  "name": "Acme Status",
  "subdomain": "acme",
  "custom_domain": "status.acme.com",
  "monitors": ["mon_abc123", "mon_def456"]
}

Get Status Page

GET /api/v1/status-pages/:id
Response:
{
  "id": "sp_abc123",
  "name": "Acme Status",
  "subdomain": "status",
  "custom_domain": "status.acme.com",
  "url": "https://status.acme.com",
  "status": "operational",
  "monitors": [
    {
      "id": "mon_abc123",
      "name": "Production API",
      "status": "up",
      "uptime_90d": 99.95
    }
  ],
  "active_incidents": [],
  "branding": {
    "logo_url": "https://acme.com/logo.png",
    "primary_color": "#FF6B00"
  }
}

Update Status Page

PUT /api/v1/status-pages/:id
Request:
{
  "name": "Acme System Status",
  "branding": {
    "logo_url": "https://acme.com/new-logo.png",
    "primary_color": "#0066FF"
  }
}

Delete Status Page

DELETE /api/v1/status-pages/:id

Add Monitor to Status Page

POST /api/v1/status-pages/:id/monitors
Request:
{
  "monitor_id": "mon_xyz789",
  "display_name": "API Gateway",
  "group": "Core Services"
}

Remove Monitor from Status Page

DELETE /api/v1/status-pages/:id/monitors/:monitor_id

Schedule Maintenance

POST /api/v1/status-pages/:id/maintenance
Request:
{
  "title": "Database Maintenance",
  "description": "Upgrading PostgreSQL to version 16",
  "monitors": ["mon_abc123"],
  "starts_at": "2024-01-20T02:00:00Z",
  "ends_at": "2024-01-20T04:00:00Z",
  "notify_subscribers": true
}

Public API

Status pages expose a public JSON API (no authentication required):
GET https://status.acme.com/api/v1/status
Response:
{
  "status": "operational",
  "updated_at": "2024-01-15T10:30:00Z",
  "components": [
    {
      "name": "Production API",
      "status": "operational",
      "uptime_90d": 99.95
    }
  ],
  "incidents": [],
  "scheduled_maintenances": [
    {
      "title": "Database Maintenance",
      "starts_at": "2024-01-20T02:00:00Z",
      "ends_at": "2024-01-20T04:00:00Z"
    }
  ]
}