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

Containers

Manage service groups (containers) on a status page

List containers

get
/status_pages/{subdomain}/containers
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}/containers
GET /api/v1/status_pages/{subdomain}/containers HTTP/1.1
Host: next.statuspal.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "slug": "text",
      "name": "text",
      "services": [
        {
          "slug": "text",
          "name": "text",
          "status": "ok"
        }
      ],
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-01-01T00:00:00.000Z"
    }
  ]
}

Create a container

post
/status_pages/{subdomain}/containers
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

Service membership is managed automatically — when a container is created, every existing service on the status page is assigned to it (full N×M grid). There is no API to assign or remove services individually; per-container service status is updated via notice updates.

namestring · max: 255Required
slugstringOptional

Optional URL-safe identifier. If omitted, it is auto-generated from name. If a non-unique value is provided, a numeric suffix is appended (e.g. eu-1).

Responses
201

Created

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

{
  "name": "text",
  "slug": "text"
}
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "slug": "text",
    "name": "text",
    "services": [
      {
        "slug": "text",
        "name": "text",
        "status": "ok"
      }
    ],
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  }
}

Get a container

get
/status_pages/{subdomain}/containers/{container_slug}
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)

container_slugstringRequired

Container slug (auto-generated from name)

Responses
200

OK

application/json
get/status_pages/{subdomain}/containers/{container_slug}
GET /api/v1/status_pages/{subdomain}/containers/{container_slug} HTTP/1.1
Host: next.statuspal.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "slug": "text",
    "name": "text",
    "services": [
      {
        "slug": "text",
        "name": "text",
        "status": "ok"
      }
    ],
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  }
}

Delete a container

delete
/status_pages/{subdomain}/containers/{container_slug}
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)

container_slugstringRequired

Container slug (auto-generated from name)

Responses
204

Deleted

No content

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

No content

Update a container

patch
/status_pages/{subdomain}/containers/{container_slug}
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)

container_slugstringRequired

Container slug (auto-generated from name)

Body

Service membership is not editable via this endpoint.

namestring · max: 255Optional
Responses
200

OK

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

{
  "name": "text"
}
{
  "data": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "slug": "text",
    "name": "text",
    "services": [
      {
        "slug": "text",
        "name": "text",
        "status": "ok"
      }
    ],
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  }
}

Last updated