Status Pages
Manage public status pages.
Status pages display monitor health publicly on a custom domain or slug-based URL.
List Status Pages
GET
/api/v1/status-pagesFreeReturns all status pages with their linked monitors.
curl https://unstatus.app/api/v1/status-pages \
-H "Authorization: Bearer usk_your_key"{
"data": [
{
"id": "sp_...",
"name": "Acme Status",
"slug": "acme",
"isPublic": true,
"brandColor": "#000000",
"monitors": [
{
"id": "spm_...",
"monitorId": "clx1abc...",
"displayName": "API",
"sortOrder": 0,
"monitor": { "id": "clx1abc...", "name": "API Server" }
}
]
}
],
"pagination": { "total": 1, "limit": 20, "offset": 0, "hasMore": false }
}Get Status Page
GET
/api/v1/status-pages/:idFreeCreate Status Page
POST
/api/v1/status-pagesAuthenticated| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Page name |
slug | string | Yes | URL slug (unique) |
isPublic | boolean | No | Publicly visible (default true) |
customDomain | string | No | Custom domain |
brandColor | string | No | Hex color (default #000000) |
logoUrl | string | No | Logo URL |
headerText | string | No | Header text/HTML |
footerText | string | No | Footer text/HTML |
customCss | string | No | Custom CSS |
showResponseTimes | boolean | No | Show response times (default true) |
curl -X POST https://unstatus.app/api/v1/status-pages \
-H "Authorization: Bearer usk_your_key" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Status",
"slug": "acme",
"brandColor": "#4f46e5"
}'Update Status Page
PATCH
/api/v1/status-pages/:idAuthenticatedOnly include the fields you want to change.
Delete Status Page
DELETE
/api/v1/status-pages/:idAuthenticatedPermanently deletes a status page, its monitor links, and all subscribers.