Skip to main content
PUT
/
api
/
v1
/
status-pages
/
{id}
/
structure
Replace status page structure
curl --request PUT \
  --url https://app.larm.dev/api/v1/status-pages/{id}/structure \
  --header 'Content-Type: application/json' \
  --data '
{
  "components": [
    {}
  ]
}
'
{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Acme Status",
    "slug": "acme",
    "components": [
      {
        "type": "group",
        "id": "880e8400-e29b-41d4-a716-446655440000",
        "name": "Backend",
        "position": 0,
        "components": [
          {
            "type": "component",
            "id": "770e8400-e29b-41d4-a716-446655440000",
            "name": "API",
            "description": null,
            "position": 0,
            "monitors": [
              {
                "monitor_id": "660e8400-e29b-41d4-a716-446655440000",
                "down_status": "major_outage"
              }
            ],
            "inserted_at": "2025-03-01T12:00:00Z",
            "updated_at": "2025-03-01T12:00:00Z"
          }
        ],
        "inserted_at": "2025-03-01T12:00:00Z",
        "updated_at": "2025-03-01T12:00:00Z"
      }
    ],
    "inserted_at": "2025-03-01T12:00:00Z",
    "updated_at": "2025-03-01T14:30:00Z"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.larm.dev/llms.txt

Use this file to discover all available pages before exploring further.

Requires status_pages:read_write permission. Replaces the page’s full structure in a single transaction: creates new entries (omit id), updates existing entries by id, and deletes any entry not present in the body. Order is taken from the array (0-based position).
id
string
required
Status page ID (UUID)
components
object[]
required
Polymorphic tree of group and component entries. Groups contain components (groups cannot nest). Ungrouped components appear at the top level.

Entry shapes

Group
FieldTypeNotes
typestringMust be "group"
idstringOmit to create a new group; provide to update an existing one
namestringRequired
componentsobject[]Components inside this group
Component
FieldTypeNotes
typestringMust be "component"
idstringOmit to create a new component; provide to update an existing one
namestringRequired
descriptionstringOptional
monitorsobject[]Each entry has monitor_id (UUID) and down_status (degraded_performance | partial_outage | major_outage)

Errors

StatusReason
404Status page not found
422Body is missing components, an entry has an invalid type, or a group is nested inside another group
{
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Acme Status",
    "slug": "acme",
    "components": [
      {
        "type": "group",
        "id": "880e8400-e29b-41d4-a716-446655440000",
        "name": "Backend",
        "position": 0,
        "components": [
          {
            "type": "component",
            "id": "770e8400-e29b-41d4-a716-446655440000",
            "name": "API",
            "description": null,
            "position": 0,
            "monitors": [
              {
                "monitor_id": "660e8400-e29b-41d4-a716-446655440000",
                "down_status": "major_outage"
              }
            ],
            "inserted_at": "2025-03-01T12:00:00Z",
            "updated_at": "2025-03-01T12:00:00Z"
          }
        ],
        "inserted_at": "2025-03-01T12:00:00Z",
        "updated_at": "2025-03-01T12:00:00Z"
      }
    ],
    "inserted_at": "2025-03-01T12:00:00Z",
    "updated_at": "2025-03-01T14:30:00Z"
  }
}