Status Pages API
Create and manage public status pages that display uptime monitor health.
List status pages
GET /api/v1/status-pages
curl https://app.hooklistener.com/api/v1/status-pages \
-H "Authorization: Bearer hklst_your_api_key"
Response:
{
"data": [
{
"id": "sp_abc123",
"name": "Acme API Status",
"slug": "acme-status",
"public_url": "https://app.hooklistener.com/status/acme-status",
"inserted_at": "2025-01-10T08:00:00Z",
"updated_at": "2025-01-10T08:00:00Z"
}
]
}
Create a status page
POST /api/v1/status-pages
curl -X POST https://app.hooklistener.com/api/v1/status-pages \
-H "Authorization: Bearer hklst_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"status_page": {
"name": "Acme API Status",
"slug": "acme-status"
}
}'
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Status page display name (max 255 chars) |
slug | string | Yes | URL slug (3-50 chars, lowercase letters/numbers/hyphens) |
description | string | No | Description text |
logo_url | string | No | Logo image URL (HTTP/HTTPS) |
primary_color | string | No | Brand color as hex code (default: #a855f7) |
show_hooklistener_branding | boolean | No | Show Hooklistener branding (default: true) |
Response: 201 Created
Get a status page
GET /api/v1/status-pages/:id
Update a status page
PUT /api/v1/status-pages/:id
curl -X PUT https://app.hooklistener.com/api/v1/status-pages/sp_abc123 \
-H "Authorization: Bearer hklst_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"status_page": {
"name": "Updated Status Page"
}
}'
Delete a status page
DELETE /api/v1/status-pages/:id
Response: 204 No Content
Add a monitor to a status page
POST /api/v1/status-pages/:id/monitors/:monitor_id
curl -X POST https://app.hooklistener.com/api/v1/status-pages/sp_abc123/monitors/mon_def456 \
-H "Authorization: Bearer hklst_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"display_name": "API Server",
"display_order": 1
}'
Request body:
| Field | Type | Required | Description |
|---|---|---|---|
display_name | string | No | Custom name shown on the status page |
display_order | integer | No | Sort order (lower numbers first) |
Remove a monitor from a status page
DELETE /api/v1/status-pages/:id/monitors/:monitor_id
curl -X DELETE https://app.hooklistener.com/api/v1/status-pages/sp_abc123/monitors/mon_def456 \
-H "Authorization: Bearer hklst_your_api_key"