List Status Pages
GET /api/v1/status-pages
Query Parameters
| Parameter | Type | Description |
|---|---|---|
limit |
integer | Results per page (default: 25, max: 100) |
offset |
integer | Number of results to skip |
Example
curl https://app.alert24.io/api/v1/status-pages \
-H "Authorization: Bearer ak_live_YOUR_KEY"
Response
{
"data": [
{
"id": "sp-123",
"name": "Acme Status",
"slug": "acme",
"description": "System status for Acme Corp",
"is_public": true,
"custom_domain": "status.acme.com",
"created_at": "2026-01-05T12:00:00.000Z",
"updated_at": "2026-03-10T09:00:00.000Z"
}
],
"meta": { "total": 2, "limit": 25, "offset": 0, "has_more": false }
}
Get Status Page
GET /api/v1/status-pages/:id
Create Status Page
POST /api/v1/status-pages
Scope required: write
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Status page name |
slug |
string | Yes | URL slug (lowercase, hyphens only) |
description |
string | No | Page description |
is_public |
boolean | No | Publicly visible (default: true) |
custom_domain |
string | No | Custom domain (e.g. status.acme.com) |
Example
curl https://app.alert24.io/api/v1/status-pages \
-X POST \
-H "Authorization: Bearer ak_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Status",
"slug": "acme-status",
"description": "System status for Acme Corp customers",
"is_public": true
}'
Update Status Page
PUT /api/v1/status-pages/:id
Scope required: write
Request Body
| Field | Type | Description |
|---|---|---|
name |
string | Updated name |
description |
string | Updated description |
is_public |
boolean | Updated visibility |
custom_domain |
string | Updated custom domain |
Example
curl https://app.alert24.io/api/v1/status-pages/sp-123 \
-X PUT \
-H "Authorization: Bearer ak_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "description": "Updated system status page" }'
Note: Status page deletion is not available in the API v1. Use the dashboard to delete status pages.