Skip to main content

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:

FieldTypeRequiredDescription
namestringYesStatus page display name (max 255 chars)
slugstringYesURL slug (3-50 chars, lowercase letters/numbers/hyphens)
descriptionstringNoDescription text
logo_urlstringNoLogo image URL (HTTP/HTTPS)
primary_colorstringNoBrand color as hex code (default: #a855f7)
show_hooklistener_brandingbooleanNoShow 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:

FieldTypeRequiredDescription
display_namestringNoCustom name shown on the status page
display_orderintegerNoSort 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"