Status Pages

Get status pages.

get
Authorizations
Query parameters
start-indexinteger · int32Optional

an integer specifying the starting point (beginning with 0) when paging through a list of entities

Default: 0
max-resultsinteger · int32 · max: 50Optional

the maximum number of results when paging through a list of status pages.

Default: 25
Responses
200
The status pages
application/json
get
GET /api/status-pages HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

The status pages

[
  {
    "id": 1,
    "name": "text",
    "domain": "text",
    "subdomain": "text",
    "timezone": "Europe/Berlin",
    "faviconUrl": "text",
    "logoUrl": "text",
    "visibility": "PRIVATE",
    "hiddenFromSearch": true,
    "showSubscribeAction": true,
    "showIncidentHistoryOption": true,
    "pageTitle": "text",
    "pageDescription": "text",
    "logoRedirectUrl": "text",
    "activated": true,
    "status": "OPERATIONAL",
    "teams": [
      {
        "id": 1,
        "name": "text"
      }
    ],
    "services": [
      {
        "id": 1,
        "name": "text",
        "status": "OPERATIONAL",
        "description": "text",
        "oneOpenIncidentOnly": true,
        "showUptimeHistory": true,
        "teams": [
          {
            "id": 1,
            "name": "text"
          }
        ],
        "uptime": {
          "rangeStart": "2025-07-08T10:04:13.175Z",
          "rangeEnd": "2025-07-08T10:04:13.175Z",
          "outages": [
            {
              "status": "OPERATIONAL",
              "from": "2025-07-08T10:04:13.175Z",
              "until": "2025-07-08T10:04:13.175Z"
            }
          ],
          "uptimePercentage": {
            "uptimePercentage": {
              "p90": 1,
              "p60": 1,
              "p30": 1
            }
          }
        }
      }
    ],
    "metrics": [
      {
        "id": 1,
        "name": "text",
        "description": "text",
        "aggregationType": "AVG",
        "displayType": "GRAPH",
        "interpolateGaps": false,
        "lockYAxisMax": 1,
        "lockYAxisMin": 1,
        "mouseOverDecimal": 1,
        "showValuesOnMouseOver": false,
        "unitLabel": "text",
        "teams": [
          {
            "id": 1,
            "name": "text"
          }
        ]
      }
    ],
    "ipWhitelist": [
      "text"
    ],
    "subscribed": true,
    "announcement": "text",
    "announcementOnPage": true,
    "announcementInWidget": true,
    "audienceSpecific": false
  }
]

Create a new status page.

post
Authorizations
Body
idnumberOptional
namestringOptional
domainstringOptional
subdomainstringOptional
timezonestring · enumOptionalPossible values:
faviconUrlstringOptional
logoUrlstringOptional
visibilitystring · enumOptionalPossible values:
hiddenFromSearchbooleanOptional
showSubscribeActionbooleanOptional
showIncidentHistoryOptionbooleanOptional
pageTitlestringOptional
pageDescriptionstringOptional
pageLayoutstring · enumOptionalPossible values:
logoRedirectUrlstringOptional
activatedbooleanOptional
statusstring · enumOptional

the service status

Possible values:
ipWhiteliststring[]Optional

ipv4 or ipv6 addresses to give access to. Can only be set on 'PRIVATE' status pages

appearancestring · enumOptionalPossible values:
Responses
200
The newly created status page
application/json
post
POST /api/status-pages HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1035

{
  "id": 1,
  "name": "text",
  "domain": "text",
  "subdomain": "text",
  "timezone": "Europe/Berlin",
  "faviconUrl": "text",
  "logoUrl": "text",
  "visibility": "PRIVATE",
  "hiddenFromSearch": true,
  "showSubscribeAction": true,
  "showIncidentHistoryOption": true,
  "pageTitle": "text",
  "pageDescription": "text",
  "pageLayout": "SINGLE_COLUMN",
  "logoRedirectUrl": "text",
  "activated": true,
  "status": "OPERATIONAL",
  "teams": [
    {
      "id": 1,
      "name": "text"
    }
  ],
  "services": [
    {
      "id": 1,
      "name": "text",
      "status": "OPERATIONAL",
      "description": "text",
      "oneOpenIncidentOnly": true,
      "showUptimeHistory": true,
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ]
    }
  ],
  "metrics": [
    {
      "id": 1,
      "name": "text",
      "description": "text",
      "aggregationType": "AVG",
      "displayType": "GRAPH",
      "interpolateGaps": false,
      "lockYAxisMax": 1,
      "lockYAxisMin": 1,
      "mouseOverDecimal": 1,
      "showValuesOnMouseOver": false,
      "unitLabel": "text",
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ]
    }
  ],
  "ipWhitelist": [
    "text"
  ],
  "structure": {
    "elements": [
      {
        "id": 1,
        "type": "SERVICE",
        "options": "expand",
        "children": [
          {
            "id": 1,
            "type": "SERVICE",
            "options": "expand",
            "children": "[Circular Reference]"
          }
        ]
      }
    ]
  },
  "appearance": "LIGHT"
}
200

The newly created status page

{
  "id": 1,
  "name": "text",
  "domain": "text",
  "subdomain": "text",
  "timezone": "Europe/Berlin",
  "faviconUrl": "text",
  "logoUrl": "text",
  "visibility": "PRIVATE",
  "hiddenFromSearch": true,
  "showSubscribeAction": true,
  "showIncidentHistoryOption": true,
  "pageTitle": "text",
  "pageDescription": "text",
  "pageLayout": "SINGLE_COLUMN",
  "logoRedirectUrl": "text",
  "activated": true,
  "status": "OPERATIONAL",
  "teams": [
    {
      "id": 1,
      "name": "text"
    }
  ],
  "services": [
    {
      "id": 1,
      "name": "text",
      "status": "OPERATIONAL",
      "description": "text",
      "oneOpenIncidentOnly": true,
      "showUptimeHistory": true,
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ]
    }
  ],
  "metrics": [
    {
      "id": 1,
      "name": "text",
      "description": "text",
      "aggregationType": "AVG",
      "displayType": "GRAPH",
      "interpolateGaps": false,
      "lockYAxisMax": 1,
      "lockYAxisMin": 1,
      "mouseOverDecimal": 1,
      "showValuesOnMouseOver": false,
      "unitLabel": "text",
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ]
    }
  ],
  "ipWhitelist": [
    "text"
  ],
  "structure": {
    "elements": [
      {
        "id": 1,
        "type": "SERVICE",
        "options": "expand",
        "children": [
          {
            "id": 1,
            "type": "SERVICE",
            "options": "expand",
            "children": "[Circular Reference]"
          }
        ]
      }
    ]
  },
  "appearance": "LIGHT"
}

Get a specific status page.

get
Authorizations
Path parameters
idnumberRequired

entity ID

Query parameters
Responses
200
The requested status page
application/json
get
GET /api/status-pages/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

The requested status page

{
  "id": 1,
  "name": "text",
  "domain": "text",
  "subdomain": "text",
  "timezone": "Europe/Berlin",
  "faviconUrl": "text",
  "logoUrl": "text",
  "visibility": "PRIVATE",
  "hiddenFromSearch": true,
  "showSubscribeAction": true,
  "showIncidentHistoryOption": true,
  "pageTitle": "text",
  "pageDescription": "text",
  "pageLayout": "SINGLE_COLUMN",
  "logoRedirectUrl": "text",
  "activated": true,
  "status": "OPERATIONAL",
  "teams": [
    {
      "id": 1,
      "name": "text"
    }
  ],
  "services": [
    {
      "id": 1,
      "name": "text",
      "status": "OPERATIONAL",
      "description": "text",
      "oneOpenIncidentOnly": true,
      "showUptimeHistory": true,
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ],
      "uptime": {
        "rangeStart": "2025-07-08T10:04:13.175Z",
        "rangeEnd": "2025-07-08T10:04:13.175Z",
        "outages": [
          {
            "status": "OPERATIONAL",
            "from": "2025-07-08T10:04:13.175Z",
            "until": "2025-07-08T10:04:13.175Z"
          }
        ],
        "uptimePercentage": {
          "uptimePercentage": {
            "p90": 1,
            "p60": 1,
            "p30": 1
          }
        }
      }
    }
  ],
  "metrics": [
    {
      "id": 1,
      "name": "text",
      "description": "text",
      "aggregationType": "AVG",
      "displayType": "GRAPH",
      "interpolateGaps": false,
      "lockYAxisMax": 1,
      "lockYAxisMin": 1,
      "mouseOverDecimal": 1,
      "showValuesOnMouseOver": false,
      "unitLabel": "text",
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ]
    }
  ],
  "ipWhitelist": [
    "text"
  ],
  "structure": {
    "elements": [
      {
        "id": 1,
        "type": "SERVICE",
        "options": "expand",
        "children": [
          {
            "id": 1,
            "type": "SERVICE",
            "options": "expand",
            "children": "[Circular Reference]"
          }
        ]
      }
    ]
  },
  "subscribed": true,
  "groups": [
    {
      "id": 1,
      "name": "text"
    }
  ],
  "appearance": "LIGHT",
  "announcement": "text",
  "announcementOnPage": true,
  "announcementInWidget": true,
  "audienceSpecific": false
}

Update the specific status page

put
Authorizations
Path parameters
idnumberRequired

entity ID

Body
idnumberOptional
namestringOptional
domainstringOptional
subdomainstringOptional
timezonestring · enumOptionalPossible values:
faviconUrlstringOptional
logoUrlstringOptional
visibilitystring · enumOptionalPossible values:
hiddenFromSearchbooleanOptional
showSubscribeActionbooleanOptional
showIncidentHistoryOptionbooleanOptional
pageTitlestringOptional
pageDescriptionstringOptional
pageLayoutstring · enumOptionalPossible values:
logoRedirectUrlstringOptional
activatedbooleanOptional
statusstring · enumOptional

the service status

Possible values:
ipWhiteliststring[]Optional

ipv4 or ipv6 addresses to give access to. Can only be set on 'PRIVATE' status pages

appearancestring · enumOptionalPossible values:
Responses
200
The updated status page
application/json
put
PUT /api/status-pages/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1035

{
  "id": 1,
  "name": "text",
  "domain": "text",
  "subdomain": "text",
  "timezone": "Europe/Berlin",
  "faviconUrl": "text",
  "logoUrl": "text",
  "visibility": "PRIVATE",
  "hiddenFromSearch": true,
  "showSubscribeAction": true,
  "showIncidentHistoryOption": true,
  "pageTitle": "text",
  "pageDescription": "text",
  "pageLayout": "SINGLE_COLUMN",
  "logoRedirectUrl": "text",
  "activated": true,
  "status": "OPERATIONAL",
  "teams": [
    {
      "id": 1,
      "name": "text"
    }
  ],
  "services": [
    {
      "id": 1,
      "name": "text",
      "status": "OPERATIONAL",
      "description": "text",
      "oneOpenIncidentOnly": true,
      "showUptimeHistory": true,
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ]
    }
  ],
  "metrics": [
    {
      "id": 1,
      "name": "text",
      "description": "text",
      "aggregationType": "AVG",
      "displayType": "GRAPH",
      "interpolateGaps": false,
      "lockYAxisMax": 1,
      "lockYAxisMin": 1,
      "mouseOverDecimal": 1,
      "showValuesOnMouseOver": false,
      "unitLabel": "text",
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ]
    }
  ],
  "ipWhitelist": [
    "text"
  ],
  "structure": {
    "elements": [
      {
        "id": 1,
        "type": "SERVICE",
        "options": "expand",
        "children": [
          {
            "id": 1,
            "type": "SERVICE",
            "options": "expand",
            "children": "[Circular Reference]"
          }
        ]
      }
    ]
  },
  "appearance": "LIGHT"
}
200

The updated status page

{
  "id": 1,
  "name": "text",
  "domain": "text",
  "subdomain": "text",
  "timezone": "Europe/Berlin",
  "faviconUrl": "text",
  "logoUrl": "text",
  "visibility": "PRIVATE",
  "hiddenFromSearch": true,
  "showSubscribeAction": true,
  "showIncidentHistoryOption": true,
  "pageTitle": "text",
  "pageDescription": "text",
  "pageLayout": "SINGLE_COLUMN",
  "logoRedirectUrl": "text",
  "activated": true,
  "status": "OPERATIONAL",
  "teams": [
    {
      "id": 1,
      "name": "text"
    }
  ],
  "services": [
    {
      "id": 1,
      "name": "text",
      "status": "OPERATIONAL",
      "description": "text",
      "oneOpenIncidentOnly": true,
      "showUptimeHistory": true,
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ]
    }
  ],
  "metrics": [
    {
      "id": 1,
      "name": "text",
      "description": "text",
      "aggregationType": "AVG",
      "displayType": "GRAPH",
      "interpolateGaps": false,
      "lockYAxisMax": 1,
      "lockYAxisMin": 1,
      "mouseOverDecimal": 1,
      "showValuesOnMouseOver": false,
      "unitLabel": "text",
      "teams": [
        {
          "id": 1,
          "name": "text"
        }
      ]
    }
  ],
  "ipWhitelist": [
    "text"
  ],
  "structure": {
    "elements": [
      {
        "id": 1,
        "type": "SERVICE",
        "options": "expand",
        "children": [
          {
            "id": 1,
            "type": "SERVICE",
            "options": "expand",
            "children": "[Circular Reference]"
          }
        ]
      }
    ]
  },
  "appearance": "LIGHT"
}

Remove a specific status page.

delete
Authorizations
Path parameters
idnumberRequired

entity ID

Responses
204
Empty body delete response
delete
DELETE /api/status-pages/{id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
204

Empty body delete response

No content

Get the groups of a status page

get
Authorizations
Path parameters
idnumberRequired

entity ID

Query parameters
start-indexinteger · int32Optional

an integer specifying the starting point (beginning with 0) when paging through a list of entities

Default: 0
max-resultsinteger · int32 · max: 100Optional

the maximum number of results when paging through a list of entities.

Default: 50
Responses
200
The groups of the status page
application/json
get
GET /api/status-pages/{id}/groups HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

The groups of the status page

[
  {
    "id": 1,
    "name": "text"
  }
]

Add a group to a status page

post
Authorizations
Path parameters
idnumberRequired

entity ID

Body
idnumberOptional
namestringOptional
Responses
201
The created group
application/json
post
POST /api/status-pages/{id}/groups HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "id": 1,
  "name": "text"
}
201

The created group

{
  "id": 1,
  "name": "text"
}

Get a specific group of a status page

get
Authorizations
Path parameters
idnumberRequired

entity ID

group-idnumberRequired

entity ID

Responses
200
The group of the status page
application/json
get
GET /api/status-pages/{id}/groups/{group-id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
{
  "id": 1,
  "name": "text"
}

Update a group of a status page

put
Authorizations
Path parameters
idnumberRequired

entity ID

group-idnumberRequired

entity ID

Body
idnumberOptional
namestringOptional
Responses
200
The updated group of the status page
application/json
put
PUT /api/status-pages/{id}/groups/{group-id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "id": 1,
  "name": "text"
}
200

The updated group of the status page

{
  "id": 1,
  "name": "text"
}

Remove group from a status page

delete
Authorizations
Path parameters
idnumberRequired

entity ID

group-idnumberRequired

entity ID

Responses
204
the response
delete
DELETE /api/status-pages/{id}/groups/{group-id} HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
204

the response

No content

Get the subscribers (users and teams) of a status page

get
Authorizations
Path parameters
idnumberRequired

entity ID

Responses
200
The subscribers of the status page
application/json
get
GET /api/status-pages/{id}/private-subscribers HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
200

The subscribers of the status page

[
  {
    "id": 1,
    "name": "text",
    "type": "USER"
  }
]

Add subscriber (user and team) to a status page

post
Authorizations
Path parameters
idnumberRequired

entity ID

Body
idnumberOptional
namestringOptional
typestring · enumOptionalPossible values:
Responses
204
the response
post
POST /api/status-pages/{id}/private-subscribers HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 36

{
  "id": 1,
  "name": "text",
  "type": "USER"
}
204

the response

No content

Set subscribers (users and teams) of a status page

put

Note: this is an in place update

Authorizations
Path parameters
idnumberRequired

entity ID

Bodyobject[]
idnumberOptional
namestringOptional
typestring · enumOptionalPossible values:
Responses
204
the response
put
PUT /api/status-pages/{id}/private-subscribers HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 38

[
  {
    "id": 1,
    "name": "text",
    "type": "USER"
  }
]
204

the response

No content

Remove subscriber (user and team) from a status page

delete
Authorizations
Path parameters
idnumberRequired

entity ID

subscriber-idnumberRequired

entity ID

Query parameters
subscriber-typestring · enumRequired

the type of subscriber USER or TEAM

Possible values:
Responses
204
the response
delete
DELETE /api/status-pages/{id}/private-subscribers/{subscriber-id}?subscriber-type=USER HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
Accept: */*
204

the response

No content

Was this helpful?