REST API

Status Pages API

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.