Back to Documentation

Status Pages API

Create and manage public status pages programmatically. Customize branding and select which monitors to display.

The Status Page Object
Represents a public status page configuration
{
  "id": "sp_a1b2c3d4e5f6",
  "name": "Acme Corp Status",
  "slug": "acme-corp",
  "description": "Real-time status of Acme services",
  "monitors": ["mon_abc123", "mon_def456"],
  "published": true,
  "theme": {
    "primaryColor": "#22c55e",
    "backgroundColor": "#0a0a0a",
    "textColor": "#fafafa"
  },
  "logoUrl": "https://example.com/logo.png",
  "customDomain": "status.acme.com",
  "createdAt": "2024-01-01T00:00:00Z",
  "updatedAt": "2024-01-15T10:30:00Z"
}

Public URL

Status pages are accessible at https://wakestack.co.uk/status/{slug} or via custom domain if configured.

GET/status-pages
List all status pages
curl -X GET https://wakestack.co.uk/api/status-pages \
  -H "Authorization: Bearer wsk_live_your_api_key"

Response

[
  {
    "id": "sp_a1b2c3d4e5f6",
    "name": "Acme Corp Status",
    "slug": "acme-corp",
    "published": true,
    ...
  }
]
POST/status-pages
Create a new status page

Request Body

ParameterRequiredDescription
nameYesDisplay name (max 100 chars)
slugYesURL slug (lowercase, hyphens)
descriptionNoPage description (max 500 chars)
monitorsYesArray of monitor IDs to display
publishedNoMake publicly accessible (default: false)
themeNoColor customization object
logoUrlNoURL to logo image
customDomainNoCustom domain (Pro plan)

Example

curl -X POST https://wakestack.co.uk/api/status-pages \
  -H "Authorization: Bearer wsk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Corp Status",
    "slug": "acme-corp",
    "description": "Real-time status of Acme services",
    "monitors": ["mon_abc123", "mon_def456"],
    "published": true,
    "theme": {
      "primaryColor": "#3b82f6",
      "backgroundColor": "#0a0a0a",
      "textColor": "#fafafa"
    }
  }'
GET/status-pages/:slug
Get a specific status page
curl -X GET https://wakestack.co.uk/api/status-pages/acme-corp \
  -H "Authorization: Bearer wsk_live_your_api_key"
PUT/status-pages/:slug
Update a status page
curl -X PUT https://wakestack.co.uk/api/status-pages/acme-corp \
  -H "Authorization: Bearer wsk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Corp Status (Updated)",
    "published": true,
    "theme": {
      "primaryColor": "#22c55e",
      "backgroundColor": "#000000",
      "textColor": "#ffffff"
    }
  }'
DELETE/status-pages/:slug
Delete a status page
curl -X DELETE https://wakestack.co.uk/api/status-pages/acme-corp \
  -H "Authorization: Bearer wsk_live_your_api_key"

Response (200 OK)

{"message": "Status page deleted successfully"}
Public Status Page Endpoint
Fetch status page data without authentication

Published status pages can be fetched publicly without authentication:

curl -X GET https://wakestack.co.uk/api/status-pages/public?slug=acme-corp

This endpoint returns the status page with current monitor status, suitable for embedding or custom status page implementations.

Theme Configuration
Customize the appearance of your status page
PropertyDefaultDescription
primaryColor#22c55eAccent color for buttons and highlights
backgroundColor#0a0a0aPage background color
textColor#fafafaPrimary text color

Colors must be valid hex codes (e.g., #ffffff).