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-pagesList 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-pagesCreate a new status page
Request Body
| Parameter | Required | Description |
|---|---|---|
| name | Yes | Display name (max 100 chars) |
| slug | Yes | URL slug (lowercase, hyphens) |
| description | No | Page description (max 500 chars) |
| monitors | Yes | Array of monitor IDs to display |
| published | No | Make publicly accessible (default: false) |
| theme | No | Color customization object |
| logoUrl | No | URL to logo image |
| customDomain | No | Custom 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/:slugGet 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/:slugUpdate 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/:slugDelete 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-corpThis 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
| Property | Default | Description |
|---|---|---|
| primaryColor | #22c55e | Accent color for buttons and highlights |
| backgroundColor | #0a0a0a | Page background color |
| textColor | #fafafa | Primary text color |
Colors must be valid hex codes (e.g., #ffffff).