For the complete documentation index, see llms.txt. This page is also available as Markdown.

Status Pages

Manage status pages within your organization

List status pages

get
Authorizations
AuthorizationstringRequired

Organization API key — issue one via the Rails console (management UI coming soon)

Query parameters
pageinteger · min: 1OptionalDefault: 1
per_pageinteger · min: 1 · max: 100OptionalDefault: 20
Responses
200

OK

application/json
get/status_pages
GET /api/v1/status_pages HTTP/1.1
Host: next.statuspal.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "subdomain": "acme-status",
      "name": "Acme Status",
      "timezone": "America/New_York",
      "website_url": "https://acme.com",
      "current_status": "operational",
      "require_authentication": false,
      "notification_settings": {
        "email_enabled": true,
        "slack_enabled": true,
        "rss_feed_enabled": true
      },
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-01-01T00:00:00.000Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 1,
    "total_count": 1,
    "total_pages": 1
  }
}

Create a status page

post
Authorizations
AuthorizationstringRequired

Organization API key — issue one via the Rails console (management UI coming soon)

Body
subdomainstringRequiredExample: acme-statusPattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$
namestringRequiredExample: Acme Status
timezonestringRequiredExample: America/New_York
website_urlstring · uriRequired
require_authenticationbooleanOptionalDefault: false
Responses
201

Created

application/json
post/status_pages
POST /api/v1/status_pages HTTP/1.1
Host: next.statuspal.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 460

{
  "subdomain": "acme-status",
  "name": "Acme Status",
  "timezone": "America/New_York",
  "website_url": "https://example.com",
  "require_authentication": false,
  "notification_settings": {
    "email_enabled": true,
    "slack_enabled": true,
    "rss_feed_enabled": true
  },
  "services": [
    {
      "name": "Payment gateway",
      "slug": "pay-gw",
      "containers": [
        "eu",
        "us"
      ]
    },
    {
      "name": "API",
      "description": "Public REST API",
      "containers": [
        "eu"
      ]
    },
    {
      "name": "Webhooks"
    }
  ],
  "containers": [
    {
      "name": "EU",
      "slug": "eu"
    },
    {
      "name": "US"
    }
  ]
}
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "subdomain": "acme-status",
    "name": "Acme Status",
    "timezone": "America/New_York",
    "website_url": "https://acme.com",
    "current_status": "operational",
    "require_authentication": false,
    "notification_settings": {
      "email_enabled": true,
      "slack_enabled": true,
      "rss_feed_enabled": true
    },
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  }
}

Get a status page

get
Authorizations
AuthorizationstringRequired

Organization API key — issue one via the Rails console (management UI coming soon)

Path parameters
subdomainstringRequired

Status page subdomain (e.g. acme-status)

Responses
200

OK

application/json
get/status_pages/{subdomain}
GET /api/v1/status_pages/{subdomain} HTTP/1.1
Host: next.statuspal.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "subdomain": "acme-status",
    "name": "Acme Status",
    "timezone": "America/New_York",
    "website_url": "https://acme.com",
    "current_status": "operational",
    "require_authentication": false,
    "notification_settings": {
      "email_enabled": true,
      "slack_enabled": true,
      "rss_feed_enabled": true
    },
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  }
}

Delete a status page

delete
Authorizations
AuthorizationstringRequired

Organization API key — issue one via the Rails console (management UI coming soon)

Path parameters
subdomainstringRequired

Status page subdomain (e.g. acme-status)

Responses
204

Deleted

No content

delete/status_pages/{subdomain}
DELETE /api/v1/status_pages/{subdomain} HTTP/1.1
Host: next.statuspal.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Update a status page

patch
Authorizations
AuthorizationstringRequired

Organization API key — issue one via the Rails console (management UI coming soon)

Path parameters
subdomainstringRequired

Status page subdomain (e.g. acme-status)

Body
namestringOptional
timezonestringOptional
website_urlstring · uriOptional
require_authenticationbooleanOptional
Responses
200

OK

application/json
patch/status_pages/{subdomain}
PATCH /api/v1/status_pages/{subdomain} HTTP/1.1
Host: next.statuspal.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 191

{
  "name": "text",
  "timezone": "text",
  "website_url": "https://example.com",
  "require_authentication": true,
  "notification_settings": {
    "email_enabled": true,
    "slack_enabled": true,
    "rss_feed_enabled": true
  }
}
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "subdomain": "acme-status",
    "name": "Acme Status",
    "timezone": "America/New_York",
    "website_url": "https://acme.com",
    "current_status": "operational",
    "require_authentication": false,
    "notification_settings": {
      "email_enabled": true,
      "slack_enabled": true,
      "rss_feed_enabled": true
    },
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  }
}

Last updated