export const metadata = {
  title: "Status Pages - OnlineOrNot API Documentation",
  description:
    "Create and manage public status pages for communicating service health",
}

## Retrieve a status page   {{ tag: 'GET', label: '/v1/status_pages/{status_page_id}' }}
<Row>
<Col>

### Security: Bearer Auth
Provide your bearer token in the Authorization header when making requests to protected resources.

Example: `Authorization: Bearer 123`

<ParameterTree parameters={[{"schema":{"type":"string","minLength":8,"example":"a1b2c3d4","description":"Status Page ID"},"required":true,"description":"Status Page ID","name":"status_page_id","in":"path","exampleValues":{"object":"a1b2c3d4","json":"'a1b2c3d4'"},"originalType":"string","safeType":"string","shortDesc":"Status Page ID","style":"simple"}]} title="Path parameters" />

<h3 id="get__v1_status_pages_{status_page_id}-responses">Responses</h3>

|Status|Meaning|Description|
|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Retrieve the specified OnlineOrNot Status Page|
|500|[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1)|Internal Server Error|

<ResponseSchemas schemas={[{"status":"200","properties":[{"schema":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"name":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"subdomain":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"custom_domain":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"status":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"favicon_url":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"logo_url":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"dark_logo_url":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"description":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"hide_from_search_engines":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"has_password":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"allowed_ips":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"}},"required":["id","name","subdomain","status","hide_from_search_engines","has_password"]},"in":"body","name":"result","depth":1,"type":"object","safeType":"object","required":true,"displayName":"» result"},{"schema":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"in":"body","name":"id","depth":2,"description":"Status Page ID","type":"string","safeType":"string","required":true,"displayName":"»» id"},{"schema":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"in":"body","name":"name","depth":2,"description":"Name of the Status Page","type":"string","safeType":"string","required":true,"displayName":"»» name"},{"schema":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"in":"body","name":"subdomain","depth":2,"description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\"","type":"string","safeType":"string","required":true,"displayName":"»» subdomain"},{"schema":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"in":"body","name":"custom_domain","depth":2,"description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\"","type":["string","null"],"format":"uri","safeType":"string,null(uri)","required":false,"displayName":"»» custom_domain"},{"schema":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"in":"body","name":"status","depth":2,"description":"The current overall status of the status page","type":"string","safeType":"string","required":true,"displayName":"»» status"},{"schema":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"in":"body","name":"favicon_url","depth":2,"description":"URL to the favicon for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» favicon_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"in":"body","name":"logo_url","depth":2,"description":"URL to the logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» logo_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"in":"body","name":"dark_logo_url","depth":2,"description":"URL to the dark mode logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» dark_logo_url"},{"schema":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"in":"body","name":"description","depth":2,"description":"A description of the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» description"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"in":"body","name":"hide_from_search_engines","depth":2,"description":"Whether the status page is hidden from search engines","type":"boolean","safeType":"boolean","required":true,"displayName":"»» hide_from_search_engines"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"in":"body","name":"has_password","depth":2,"description":"Whether the status page requires a password to view","type":"boolean","safeType":"boolean","required":true,"displayName":"»» has_password"},{"schema":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"},"in":"body","name":"allowed_ips","depth":2,"description":"List of IP addresses or CIDR ranges allowed to access this status page","type":["array","null"],"safeType":["array","null"],"required":false,"displayName":"»» allowed_ips"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Whether the API call was successful"},"in":"body","name":"success","depth":1,"description":"Whether the API call was successful","type":"boolean","safeType":"boolean","required":true,"displayName":"» success"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"errors","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» errors"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"messages","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» messages"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"}]}]} />

</Col>

<Col sticky>

<CodeGroup title="Request" tag="GET" label="/v1/status_pages/{status_page_id}">
```bash {{ title: 'cURL' }}
curl --request GET \
  --url https://api.onlineornot.com/v1/status_pages/a1b2c3d4 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
```

```javascript
fetch("https://api.onlineornot.com/v1/status_pages/a1b2c3d4", {
  "method": "GET",
  "headers": {
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
  }
})
.then(response => {
  console.log(response);
})
.catch(err => {
  console.error(err);
});
```

```java
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.onlineornot.com/v1/status_pages/a1b2c3d4")
  .get()
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer {access-token}")
  .build();

Response response = client.newCall(request).execute();
```

```php
<?php

$request = new HttpRequest();
$request->setUrl('https://api.onlineornot.com/v1/status_pages/a1b2c3d4');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders([
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
]);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
```

```ruby
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.onlineornot.com/v1/status_pages/a1b2c3d4")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Authorization"] = 'Bearer {access-token}'

response = http.request(request)
puts response.read_body
```

```python
import requests

url = "https://api.onlineornot.com/v1/status_pages/a1b2c3d4"

headers = {
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
}

response = requests.request("GET", url, headers=headers)

print(response.text)
```

</CodeGroup>

```json {{ title: 'Response' }}
{
  "result": {
    "id": "a1b2c3d4",
    "name": "My Example SaaS",
    "subdomain": "status",
    "custom_domain": "https://status.yourdomain.com",
    "status": "ALL_SYSTEMS_OPERATIONAL",
    "favicon_url": "https://example.com/favicon.ico",
    "logo_url": "https://example.com/logo.png",
    "dark_logo_url": "https://example.com/logo-dark.png",
    "description": "Real-time status updates for My Example SaaS",
    "hide_from_search_engines": false,
    "has_password": false,
    "allowed_ips": [
      "192.168.1.1",
      "10.0.0.0/8"
    ]
  },
  "success": true,
  "errors": [],
  "messages": []
}
```

</Col>
</Row>

---

## Update a status page   {{ tag: 'POST', label: '/v1/status_pages/{status_page_id}' }}
<Row>
<Col>

### Security: Bearer Auth
Provide your bearer token in the Authorization header when making requests to protected resources.

Example: `Authorization: Bearer 123`

<ParameterTree parameters={[{"schema":{"type":"string","minLength":8,"example":"a1b2c3d4","description":"Status Page ID"},"required":true,"description":"Status Page ID","name":"status_page_id","in":"path","exampleValues":{"object":"a1b2c3d4","json":"'a1b2c3d4'"},"originalType":"string","safeType":"string","shortDesc":"Status Page ID","style":"simple"}]} title="Path parameters" />

<ParameterTree parameters={[{"in":"body","schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"subdomain":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.onlineornot.com\""},"custom_domain":{"type":"string","format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at."},"password":{"type":["string","null"],"description":"The password required to view your status page. If omitted, keeps existing password. If null or empty string, removes password protection. If non-empty string, sets new password."},"description":{"type":"string","example":"Real-time status updates for My Example SaaS","description":"A description of your status page"},"hide_from_search_engines":{"type":"boolean","example":false,"description":"Whether to hide the status page from search engines"},"allowed_ips":{"type":"array","items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"}},"required":["name","subdomain"]},"name":"body","required":true,"exampleValues":{"object":{"name":"My Example SaaS","subdomain":"status","custom_domain":"https://status.yourdomain.com","password":"string","description":"Real-time status updates for My Example SaaS","hide_from_search_engines":false,"allowed_ips":["192.168.1.1","10.0.0.0/8"]},"json":"{\n  \"name\": \"My Example SaaS\",\n  \"subdomain\": \"status\",\n  \"custom_domain\": \"https://status.yourdomain.com\",\n  \"password\": \"string\",\n  \"description\": \"Real-time status updates for My Example SaaS\",\n  \"hide_from_search_engines\": false,\n  \"allowed_ips\": [\n    \"192.168.1.1\",\n    \"10.0.0.0/8\"\n  ]\n}"},"originalType":"object","safeType":"object"},{"in":"body","schema":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"name":"» name","required":true,"description":"Name of the Status Page","safeType":"string","depth":1,"exampleValues":{"object":"My Example SaaS","json":"'My Example SaaS'"},"shortDesc":"Name of the Status Page"},{"in":"body","schema":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.onlineornot.com\""},"name":"» subdomain","required":true,"description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.onlineornot.com\"","safeType":"string","depth":1,"exampleValues":{"object":"status","json":"'status'"},"shortDesc":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.onlineornot.com\""},{"in":"body","schema":{"type":"string","format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at."},"name":"» custom_domain","required":false,"description":"The custom domain your status page is hosted at.","safeType":"string(uri)","depth":1,"exampleValues":{"object":"https://status.yourdomain.com","json":"'https://status.yourdomain.com'"},"shortDesc":"The custom domain your status page is hosted at."},{"in":"body","schema":{"type":["string","null"],"description":"The password required to view your status page. If omitted, keeps existing password. If null or empty string, removes password protection. If non-empty string, sets new password."},"name":"» password","required":false,"description":"The password required to view your status page. If omitted, keeps existing password. If null or empty string, removes password protection. If non-empty string, sets new password.","safeType":["string","null"],"depth":1,"exampleValues":{"object":"string","json":"'string'"},"shortDesc":"The password required to view your status page. If omitted, keeps existing password. If null or empty string, removes password protection. If non-empty string, sets new password."},{"in":"body","schema":{"type":"string","example":"Real-time status updates for My Example SaaS","description":"A description of your status page"},"name":"» description","required":false,"description":"A description of your status page","safeType":"string","depth":1,"exampleValues":{"object":"Real-time status updates for My Example SaaS","json":"'Real-time status updates for My Example SaaS'"},"shortDesc":"A description of your status page"},{"in":"body","schema":{"type":"boolean","example":false,"description":"Whether to hide the status page from search engines"},"name":"» hide_from_search_engines","required":false,"description":"Whether to hide the status page from search engines","safeType":"boolean","depth":1,"exampleValues":{"object":false,"json":"'false'"},"shortDesc":"Whether to hide the status page from search engines"},{"in":"body","schema":{"type":"array","items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"},"name":"» allowed_ips","required":false,"description":"List of IP addresses or CIDR ranges allowed to access this status page","safeType":"string[]","depth":1,"exampleValues":{"object":["192.168.1.1","10.0.0.0/8"],"json":"[\n  \"192.168.1.1\",\n  \"10.0.0.0/8\"\n]"},"shortDesc":"List of IP addresses or CIDR ranges allowed to access this status page"}]} title="Body parameters" />

<h3 id="post__v1_status_pages_{status_page_id}-responses">Responses</h3>

|Status|Meaning|Description|
|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Update an existing OnlineOrNot Status Page|
|500|[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1)|Internal Server Error|

<ResponseSchemas schemas={[{"status":"200","properties":[{"schema":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"name":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"subdomain":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"custom_domain":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"status":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"favicon_url":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"logo_url":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"dark_logo_url":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"description":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"hide_from_search_engines":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"has_password":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"allowed_ips":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"}},"required":["id","name","subdomain","status","hide_from_search_engines","has_password"]},"in":"body","name":"result","depth":1,"type":"object","safeType":"object","required":true,"displayName":"» result"},{"schema":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"in":"body","name":"id","depth":2,"description":"Status Page ID","type":"string","safeType":"string","required":true,"displayName":"»» id"},{"schema":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"in":"body","name":"name","depth":2,"description":"Name of the Status Page","type":"string","safeType":"string","required":true,"displayName":"»» name"},{"schema":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"in":"body","name":"subdomain","depth":2,"description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\"","type":"string","safeType":"string","required":true,"displayName":"»» subdomain"},{"schema":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"in":"body","name":"custom_domain","depth":2,"description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\"","type":["string","null"],"format":"uri","safeType":"string,null(uri)","required":false,"displayName":"»» custom_domain"},{"schema":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"in":"body","name":"status","depth":2,"description":"The current overall status of the status page","type":"string","safeType":"string","required":true,"displayName":"»» status"},{"schema":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"in":"body","name":"favicon_url","depth":2,"description":"URL to the favicon for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» favicon_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"in":"body","name":"logo_url","depth":2,"description":"URL to the logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» logo_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"in":"body","name":"dark_logo_url","depth":2,"description":"URL to the dark mode logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» dark_logo_url"},{"schema":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"in":"body","name":"description","depth":2,"description":"A description of the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» description"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"in":"body","name":"hide_from_search_engines","depth":2,"description":"Whether the status page is hidden from search engines","type":"boolean","safeType":"boolean","required":true,"displayName":"»» hide_from_search_engines"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"in":"body","name":"has_password","depth":2,"description":"Whether the status page requires a password to view","type":"boolean","safeType":"boolean","required":true,"displayName":"»» has_password"},{"schema":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"},"in":"body","name":"allowed_ips","depth":2,"description":"List of IP addresses or CIDR ranges allowed to access this status page","type":["array","null"],"safeType":["array","null"],"required":false,"displayName":"»» allowed_ips"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Whether the API call was successful"},"in":"body","name":"success","depth":1,"description":"Whether the API call was successful","type":"boolean","safeType":"boolean","required":true,"displayName":"» success"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"errors","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» errors"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"messages","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» messages"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"}]}]} />

</Col>

<Col sticky>

<CodeGroup title="Request" tag="POST" label="/v1/status_pages/{status_page_id}">
```bash {{ title: 'cURL' }}
curl --request POST \
  --url https://api.onlineornot.com/v1/status_pages/a1b2c3d4 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"name":"My Example SaaS","subdomain":"status","custom_domain":"https://status.yourdomain.com","password":"string","description":"Real-time status updates for My Example SaaS","hide_from_search_engines":false,"allowed_ips":["192.168.1.1","10.0.0.0/8"]}'
```

```javascript
fetch("https://api.onlineornot.com/v1/status_pages/a1b2c3d4", {
  "method": "POST",
  "headers": {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
  },
  "body": "{\"name\":\"My Example SaaS\",\"subdomain\":\"status\",\"custom_domain\":\"https://status.yourdomain.com\",\"password\":\"string\",\"description\":\"Real-time status updates for My Example SaaS\",\"hide_from_search_engines\":false,\"allowed_ips\":[\"192.168.1.1\",\"10.0.0.0/8\"]}"
})
.then(response => {
  console.log(response);
})
.catch(err => {
  console.error(err);
});
```

```java
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"name\":\"My Example SaaS\",\"subdomain\":\"status\",\"custom_domain\":\"https://status.yourdomain.com\",\"password\":\"string\",\"description\":\"Real-time status updates for My Example SaaS\",\"hide_from_search_engines\":false,\"allowed_ips\":[\"192.168.1.1\",\"10.0.0.0/8\"]}");
Request request = new Request.Builder()
  .url("https://api.onlineornot.com/v1/status_pages/a1b2c3d4")
  .post(body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer {access-token}")
  .build();

Response response = client.newCall(request).execute();
```

```php
<?php

$request = new HttpRequest();
$request->setUrl('https://api.onlineornot.com/v1/status_pages/a1b2c3d4');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
]);

$request->setBody('{"name":"My Example SaaS","subdomain":"status","custom_domain":"https://status.yourdomain.com","password":"string","description":"Real-time status updates for My Example SaaS","hide_from_search_engines":false,"allowed_ips":["192.168.1.1","10.0.0.0/8"]}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
```

```ruby
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.onlineornot.com/v1/status_pages/a1b2c3d4")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Authorization"] = 'Bearer {access-token}'
request.body = "{\"name\":\"My Example SaaS\",\"subdomain\":\"status\",\"custom_domain\":\"https://status.yourdomain.com\",\"password\":\"string\",\"description\":\"Real-time status updates for My Example SaaS\",\"hide_from_search_engines\":false,\"allowed_ips\":[\"192.168.1.1\",\"10.0.0.0/8\"]}"

response = http.request(request)
puts response.read_body
```

```python
import requests

url = "https://api.onlineornot.com/v1/status_pages/a1b2c3d4"

payload = {
    "name": "My Example SaaS",
    "subdomain": "status",
    "custom_domain": "https://status.yourdomain.com",
    "password": "string",
    "description": "Real-time status updates for My Example SaaS",
    "hide_from_search_engines": False,
    "allowed_ips": ["192.168.1.1", "10.0.0.0/8"]
}
headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
```

</CodeGroup>

```json {{ title: 'Response' }}
{
  "result": {
    "id": "a1b2c3d4",
    "name": "My Example SaaS",
    "subdomain": "status",
    "custom_domain": "https://status.yourdomain.com",
    "status": "ALL_SYSTEMS_OPERATIONAL",
    "favicon_url": "https://example.com/favicon.ico",
    "logo_url": "https://example.com/logo.png",
    "dark_logo_url": "https://example.com/logo-dark.png",
    "description": "Real-time status updates for My Example SaaS",
    "hide_from_search_engines": false,
    "has_password": false,
    "allowed_ips": [
      "192.168.1.1",
      "10.0.0.0/8"
    ]
  },
  "success": true,
  "errors": [],
  "messages": []
}
```

</Col>
</Row>

---

## Delete a status page   {{ tag: 'DELETE', label: '/v1/status_pages/{status_page_id}' }}
<Row>
<Col>

### Security: Bearer Auth
Provide your bearer token in the Authorization header when making requests to protected resources.

Example: `Authorization: Bearer 123`

<ParameterTree parameters={[{"schema":{"type":"string","minLength":8,"example":"a1b2c3d4","description":"Status Page ID"},"required":true,"description":"Status Page ID","name":"status_page_id","in":"path","exampleValues":{"object":"a1b2c3d4","json":"'a1b2c3d4'"},"originalType":"string","safeType":"string","shortDesc":"Status Page ID","style":"simple"}]} title="Path parameters" />

<h3 id="delete__v1_status_pages_{status_page_id}-responses">Responses</h3>

|Status|Meaning|Description|
|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Returns the deleted OnlineOrNot Check's ID|
|500|[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1)|Internal Server Error|

<ResponseSchemas schemas={[{"status":"200","properties":[{"schema":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"}},"required":["id"]},"in":"body","name":"result","depth":1,"type":"object","safeType":"object","required":true,"displayName":"» result"},{"schema":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"in":"body","name":"id","depth":2,"description":"Status Page ID","type":"string","safeType":"string","required":true,"displayName":"»» id"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Whether the API call was successful"},"in":"body","name":"success","depth":1,"description":"Whether the API call was successful","type":"boolean","safeType":"boolean","required":true,"displayName":"» success"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"errors","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» errors"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"messages","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» messages"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"}]}]} />

</Col>

<Col sticky>

<CodeGroup title="Request" tag="DELETE" label="/v1/status_pages/{status_page_id}">
```bash {{ title: 'cURL' }}
curl --request DELETE \
  --url https://api.onlineornot.com/v1/status_pages/a1b2c3d4 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
```

```javascript
fetch("https://api.onlineornot.com/v1/status_pages/a1b2c3d4", {
  "method": "DELETE",
  "headers": {
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
  }
})
.then(response => {
  console.log(response);
})
.catch(err => {
  console.error(err);
});
```

```java
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.onlineornot.com/v1/status_pages/a1b2c3d4")
  .delete(null)
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer {access-token}")
  .build();

Response response = client.newCall(request).execute();
```

```php
<?php

$request = new HttpRequest();
$request->setUrl('https://api.onlineornot.com/v1/status_pages/a1b2c3d4');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders([
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
]);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
```

```ruby
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.onlineornot.com/v1/status_pages/a1b2c3d4")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Delete.new(url)
request["Accept"] = 'application/json'
request["Authorization"] = 'Bearer {access-token}'

response = http.request(request)
puts response.read_body
```

```python
import requests

url = "https://api.onlineornot.com/v1/status_pages/a1b2c3d4"

headers = {
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
}

response = requests.request("DELETE", url, headers=headers)

print(response.text)
```

</CodeGroup>

```json {{ title: 'Response' }}
{
  "result": {
    "id": "a1b2c3d4"
  },
  "success": true,
  "errors": [],
  "messages": []
}
```

</Col>
</Row>

---

## Get a status page's overview.   {{ tag: 'GET', label: '/v1/status_pages/{status_page_subdomain}/summary' }}
<Row>
<Col>

This operation does not require authentication

<ParameterTree parameters={[{"schema":{"type":"string","minLength":1,"example":"hackernews","description":"The subdomain part of a status page's URL"},"required":true,"description":"The subdomain part of a status page's URL","name":"status_page_subdomain","in":"path","exampleValues":{"object":"hackernews","json":"'hackernews'"},"originalType":"string","safeType":"string","shortDesc":"The subdomain part of a status page's URL","style":"simple"}]} title="Path parameters" />

<h3 id="get__v1_status_pages_{status_page_subdomain}_summary-responses">Responses</h3>

|Status|Meaning|Description|
|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Retrieve the specified OnlineOrNot status page summary|
|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Not found|
|500|[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1)|Internal Server Error|

<ResponseSchemas schemas={[{"status":"200","properties":[{"schema":{"type":"object","properties":{"status":{"type":"object","properties":{"description":{"type":"string","enum":["Major System Outage","Minor Service Outage","Partially Degraded Service","Service Under Maintenance","All Systems Operational"],"example":"All Systems Operational","description":"The overall system's current status"}},"required":["description"]},"status_page":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"name":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"subdomain":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"custom_domain":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"status":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"favicon_url":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"logo_url":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"dark_logo_url":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"description":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"hide_from_search_engines":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"has_password":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"allowed_ips":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"}},"required":["id","name","subdomain","status","hide_from_search_engines","has_password"]},"components":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page Component ID"},"name":{"type":"string","example":"Website","description":"a name for the component"},"status":{"type":["string","null"],"enum":["OPERATIONAL","MAJOR_OUTAGE","PARTIAL_OUTAGE","DEGRADED_PERFORMANCE","NO_IMPACT","MAINTENANCE"],"example":"MAJOR_OUTAGE","description":"Status of the component"},"display_uptime":{"type":"boolean","default":true,"example":true,"description":"Show this component's uptime and historical incidents on the status page."},"display_metrics":{"type":"boolean","default":true,"example":true,"description":"Show this component's response time metrics on the status page."},"created_at":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the component was created"},"updated_at":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the component was last updated"},"group_id":{"type":"string","example":"a1b2c3d4","description":"Status Page Group ID"},"is_external_component":{"type":"boolean","example":false,"description":"Whether this component is synced from an external status page"}},"required":["id","name","status","display_uptime","display_metrics","created_at","updated_at","group_id"]}},"active_incidents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page Incident ID"},"title":{"type":"string","minLength":1,"maxLength":256,"example":"API is inaccessible","description":"a title for the incident"},"impact":{"type":["string","null"],"enum":["MAJOR_OUTAGE","PARTIAL_OUTAGE","DEGRADED_PERFORMANCE","NO_IMPACT","MAINTENANCE"],"example":"MAJOR_OUTAGE","description":"Impact of the incident"},"started":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident started"},"ended":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was resolved"},"created_at":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident was created"},"updated_at":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was last updated"}},"required":["id","title","impact","started","created_at","updated_at"]}},"scheduled_maintenance":{"type":"array","items":{"allOf":[{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page Incident ID"},"title":{"type":"string","minLength":1,"maxLength":256,"example":"API is inaccessible","description":"a title for the incident"},"impact":{"type":["string","null"],"enum":["MAJOR_OUTAGE","PARTIAL_OUTAGE","DEGRADED_PERFORMANCE","NO_IMPACT","MAINTENANCE"],"example":"MAJOR_OUTAGE","description":"Impact of the incident"},"started":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident started"},"ended":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was resolved"},"created_at":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident was created"},"updated_at":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was last updated"}},"required":["id","title","impact","started","created_at","updated_at"]},{"type":"object","properties":{"start_date":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the scheduled maintenance is expected to start"},"duration_minutes":{"type":"integer","minimum":1,"example":60,"description":"How long (in minutes) the scheduled maintenance should be displayed on your status page before being resolved automatically"},"notifications":{"type":"object","properties":{"an_hour_before":{"type":"boolean","default":false,"example":false,"description":"Notify subscribers one hour before maintenance starts"},"at_start":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance starts"},"at_end":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance ends"}},"description":"Subscriber notification settings"},"components":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"comp123","description":"Component ID"},"name":{"type":"string","example":"API Server","description":"Component name"}},"required":["id","name"],"description":"Component associated with the scheduled maintenance"},"description":"Components affected by this maintenance"}},"required":["start_date","duration_minutes"]}]}}},"required":["status","status_page","components","active_incidents","scheduled_maintenance"]},"in":"body","name":"result","depth":1,"type":"object","safeType":"object","required":true,"displayName":"» result"},{"schema":{"type":"object","properties":{"description":{"type":"string","enum":["Major System Outage","Minor Service Outage","Partially Degraded Service","Service Under Maintenance","All Systems Operational"],"example":"All Systems Operational","description":"The overall system's current status"}},"required":["description"]},"in":"body","name":"status","depth":2,"type":"object","safeType":"object","required":true,"displayName":"»» status"},{"schema":{"type":"string","enum":["Major System Outage","Minor Service Outage","Partially Degraded Service","Service Under Maintenance","All Systems Operational"],"example":"All Systems Operational","description":"The overall system's current status"},"in":"body","name":"description","depth":3,"description":"The overall system's current status","type":"string","safeType":"string","required":true,"displayName":"»»» description"},{"schema":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"name":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"subdomain":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"custom_domain":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"status":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"favicon_url":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"logo_url":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"dark_logo_url":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"description":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"hide_from_search_engines":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"has_password":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"allowed_ips":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"}},"required":["id","name","subdomain","status","hide_from_search_engines","has_password"]},"in":"body","name":"status_page","depth":2,"type":"object","safeType":"object","required":true,"displayName":"»» status_page"},{"schema":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"in":"body","name":"id","depth":3,"description":"Status Page ID","type":"string","safeType":"string","required":true,"displayName":"»»» id"},{"schema":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"in":"body","name":"name","depth":3,"description":"Name of the Status Page","type":"string","safeType":"string","required":true,"displayName":"»»» name"},{"schema":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"in":"body","name":"subdomain","depth":3,"description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\"","type":"string","safeType":"string","required":true,"displayName":"»»» subdomain"},{"schema":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"in":"body","name":"custom_domain","depth":3,"description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\"","type":["string","null"],"format":"uri","safeType":"string,null(uri)","required":false,"displayName":"»»» custom_domain"},{"schema":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"in":"body","name":"status","depth":3,"description":"The current overall status of the status page","type":"string","safeType":"string","required":true,"displayName":"»»» status"},{"schema":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"in":"body","name":"favicon_url","depth":3,"description":"URL to the favicon for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»»» favicon_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"in":"body","name":"logo_url","depth":3,"description":"URL to the logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»»» logo_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"in":"body","name":"dark_logo_url","depth":3,"description":"URL to the dark mode logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»»» dark_logo_url"},{"schema":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"in":"body","name":"description","depth":3,"description":"A description of the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»»» description"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"in":"body","name":"hide_from_search_engines","depth":3,"description":"Whether the status page is hidden from search engines","type":"boolean","safeType":"boolean","required":true,"displayName":"»»» hide_from_search_engines"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"in":"body","name":"has_password","depth":3,"description":"Whether the status page requires a password to view","type":"boolean","safeType":"boolean","required":true,"displayName":"»»» has_password"},{"schema":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"},"in":"body","name":"allowed_ips","depth":3,"description":"List of IP addresses or CIDR ranges allowed to access this status page","type":["array","null"],"safeType":["array","null"],"required":false,"displayName":"»»» allowed_ips"},{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page Component ID"},"name":{"type":"string","example":"Website","description":"a name for the component"},"status":{"type":["string","null"],"enum":["OPERATIONAL","MAJOR_OUTAGE","PARTIAL_OUTAGE","DEGRADED_PERFORMANCE","NO_IMPACT","MAINTENANCE"],"example":"MAJOR_OUTAGE","description":"Status of the component"},"display_uptime":{"type":"boolean","default":true,"example":true,"description":"Show this component's uptime and historical incidents on the status page."},"display_metrics":{"type":"boolean","default":true,"example":true,"description":"Show this component's response time metrics on the status page."},"created_at":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the component was created"},"updated_at":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the component was last updated"},"group_id":{"type":"string","example":"a1b2c3d4","description":"Status Page Group ID"},"is_external_component":{"type":"boolean","example":false,"description":"Whether this component is synced from an external status page"}},"required":["id","name","status","display_uptime","display_metrics","created_at","updated_at","group_id"]}},"in":"body","name":"components","depth":2,"type":"array","safeType":"object[]","required":true,"displayName":"»» components"},{"schema":{"type":"string","example":"a1b2c3d4","description":"Status Page Component ID"},"in":"body","name":"id","depth":3,"description":"Status Page Component ID","type":"string","safeType":"string","required":true,"displayName":"»»» id"},{"schema":{"type":"string","example":"Website","description":"a name for the component"},"in":"body","name":"name","depth":3,"description":"a name for the component","type":"string","safeType":"string","required":true,"displayName":"»»» name"},{"schema":{"type":["string","null"],"enum":["OPERATIONAL","MAJOR_OUTAGE","PARTIAL_OUTAGE","DEGRADED_PERFORMANCE","NO_IMPACT","MAINTENANCE"],"example":"MAJOR_OUTAGE","description":"Status of the component"},"in":"body","name":"status","depth":3,"description":"Status of the component","type":["string","null"],"safeType":["string","null"],"required":true,"displayName":"»»» status"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Show this component's uptime and historical incidents on the status page."},"in":"body","name":"display_uptime","depth":3,"description":"Show this component's uptime and historical incidents on the status page.","type":"boolean","safeType":"boolean","required":true,"displayName":"»»» display_uptime"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Show this component's response time metrics on the status page."},"in":"body","name":"display_metrics","depth":3,"description":"Show this component's response time metrics on the status page.","type":"boolean","safeType":"boolean","required":true,"displayName":"»»» display_metrics"},{"schema":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the component was created"},"in":"body","name":"created_at","depth":3,"description":"When the component was created","type":"string","safeType":"string","required":true,"displayName":"»»» created_at"},{"schema":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the component was last updated"},"in":"body","name":"updated_at","depth":3,"description":"When the component was last updated","type":"string","safeType":"string","required":true,"displayName":"»»» updated_at"},{"schema":{"type":"string","example":"a1b2c3d4","description":"Status Page Group ID"},"in":"body","name":"group_id","depth":3,"description":"Status Page Group ID","type":"string","safeType":"string","required":true,"displayName":"»»» group_id"},{"schema":{"type":"boolean","example":false,"description":"Whether this component is synced from an external status page"},"in":"body","name":"is_external_component","depth":3,"description":"Whether this component is synced from an external status page","type":"boolean","safeType":"boolean","required":false,"displayName":"»»» is_external_component"},{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page Incident ID"},"title":{"type":"string","minLength":1,"maxLength":256,"example":"API is inaccessible","description":"a title for the incident"},"impact":{"type":["string","null"],"enum":["MAJOR_OUTAGE","PARTIAL_OUTAGE","DEGRADED_PERFORMANCE","NO_IMPACT","MAINTENANCE"],"example":"MAJOR_OUTAGE","description":"Impact of the incident"},"started":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident started"},"ended":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was resolved"},"created_at":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident was created"},"updated_at":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was last updated"}},"required":["id","title","impact","started","created_at","updated_at"]}},"in":"body","name":"active_incidents","depth":2,"type":"array","safeType":"object[]","required":true,"displayName":"»» active_incidents"},{"schema":{"type":"string","example":"a1b2c3d4","description":"Status Page Incident ID"},"in":"body","name":"id","depth":3,"description":"Status Page Incident ID","type":"string","safeType":"string","required":true,"displayName":"»»» id"},{"schema":{"type":"string","minLength":1,"maxLength":256,"example":"API is inaccessible","description":"a title for the incident"},"in":"body","name":"title","depth":3,"description":"a title for the incident","type":"string","safeType":"string","required":true,"displayName":"»»» title"},{"schema":{"type":["string","null"],"enum":["MAJOR_OUTAGE","PARTIAL_OUTAGE","DEGRADED_PERFORMANCE","NO_IMPACT","MAINTENANCE"],"example":"MAJOR_OUTAGE","description":"Impact of the incident"},"in":"body","name":"impact","depth":3,"description":"Impact of the incident","type":["string","null"],"safeType":["string","null"],"required":true,"displayName":"»»» impact"},{"schema":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident started"},"in":"body","name":"started","depth":3,"description":"When the incident started","type":"string","safeType":"string","required":true,"displayName":"»»» started"},{"schema":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was resolved"},"in":"body","name":"ended","depth":3,"description":"When the incident was resolved","type":"string","safeType":"string","required":false,"displayName":"»»» ended"},{"schema":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident was created"},"in":"body","name":"created_at","depth":3,"description":"When the incident was created","type":"string","safeType":"string","required":true,"displayName":"»»» created_at"},{"schema":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was last updated"},"in":"body","name":"updated_at","depth":3,"description":"When the incident was last updated","type":"string","safeType":"string","required":true,"displayName":"»»» updated_at"},{"schema":{"type":"array","items":{"allOf":[{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page Incident ID"},"title":{"type":"string","minLength":1,"maxLength":256,"example":"API is inaccessible","description":"a title for the incident"},"impact":{"type":["string","null"],"enum":["MAJOR_OUTAGE","PARTIAL_OUTAGE","DEGRADED_PERFORMANCE","NO_IMPACT","MAINTENANCE"],"example":"MAJOR_OUTAGE","description":"Impact of the incident"},"started":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident started"},"ended":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was resolved"},"created_at":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident was created"},"updated_at":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was last updated"}},"required":["id","title","impact","started","created_at","updated_at"]},{"type":"object","properties":{"start_date":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the scheduled maintenance is expected to start"},"duration_minutes":{"type":"integer","minimum":1,"example":60,"description":"How long (in minutes) the scheduled maintenance should be displayed on your status page before being resolved automatically"},"notifications":{"type":"object","properties":{"an_hour_before":{"type":"boolean","default":false,"example":false,"description":"Notify subscribers one hour before maintenance starts"},"at_start":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance starts"},"at_end":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance ends"}},"description":"Subscriber notification settings"},"components":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"comp123","description":"Component ID"},"name":{"type":"string","example":"API Server","description":"Component name"}},"required":["id","name"],"description":"Component associated with the scheduled maintenance"},"description":"Components affected by this maintenance"}},"required":["start_date","duration_minutes"]}]}},"in":"body","name":"scheduled_maintenance","depth":2,"type":"array","safeType":"[allOf]","required":true,"displayName":"»» scheduled_maintenance"},{"schema":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page Incident ID"},"title":{"type":"string","minLength":1,"maxLength":256,"example":"API is inaccessible","description":"a title for the incident"},"impact":{"type":["string","null"],"enum":["MAJOR_OUTAGE","PARTIAL_OUTAGE","DEGRADED_PERFORMANCE","NO_IMPACT","MAINTENANCE"],"example":"MAJOR_OUTAGE","description":"Impact of the incident"},"started":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident started"},"ended":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was resolved"},"created_at":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the incident was created"},"updated_at":{"type":"string","example":"2021-02-01T00:00:00.000Z","description":"When the incident was last updated"}},"required":["id","title","impact","started","created_at","updated_at"]},"in":"body","name":"*anonymous*","depth":3,"type":"object","safeType":"object","required":false,"displayName":"»»» *anonymous*"},{"schema":{"type":"object","properties":{"start_date":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the scheduled maintenance is expected to start"},"duration_minutes":{"type":"integer","minimum":1,"example":60,"description":"How long (in minutes) the scheduled maintenance should be displayed on your status page before being resolved automatically"},"notifications":{"type":"object","properties":{"an_hour_before":{"type":"boolean","default":false,"example":false,"description":"Notify subscribers one hour before maintenance starts"},"at_start":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance starts"},"at_end":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance ends"}},"description":"Subscriber notification settings"},"components":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"comp123","description":"Component ID"},"name":{"type":"string","example":"API Server","description":"Component name"}},"required":["id","name"],"description":"Component associated with the scheduled maintenance"},"description":"Components affected by this maintenance"}},"required":["start_date","duration_minutes"]},"in":"body","name":"*anonymous*","depth":3,"type":"object","safeType":"object","required":false,"displayName":"»»» *anonymous*"},{"schema":{"type":"string","example":"2021-01-01T00:00:00.000Z","description":"When the scheduled maintenance is expected to start"},"in":"body","name":"start_date","depth":4,"description":"When the scheduled maintenance is expected to start","type":"string","safeType":"string","required":true,"displayName":"»»»» start_date"},{"schema":{"type":"integer","minimum":1,"example":60,"description":"How long (in minutes) the scheduled maintenance should be displayed on your status page before being resolved automatically"},"in":"body","name":"duration_minutes","depth":4,"description":"How long (in minutes) the scheduled maintenance should be displayed on your status page before being resolved automatically","type":"integer","safeType":"integer","required":true,"displayName":"»»»» duration_minutes"},{"schema":{"type":"object","properties":{"an_hour_before":{"type":"boolean","default":false,"example":false,"description":"Notify subscribers one hour before maintenance starts"},"at_start":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance starts"},"at_end":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance ends"}},"description":"Subscriber notification settings"},"in":"body","name":"notifications","depth":4,"description":"Subscriber notification settings","type":"object","safeType":"object","required":false,"displayName":"»»»» notifications"},{"schema":{"type":"boolean","default":false,"example":false,"description":"Notify subscribers one hour before maintenance starts"},"in":"body","name":"an_hour_before","depth":5,"description":"Notify subscribers one hour before maintenance starts","type":"boolean","safeType":"boolean","required":false,"displayName":"»»»»» an_hour_before"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance starts"},"in":"body","name":"at_start","depth":5,"description":"Notify subscribers when maintenance starts","type":"boolean","safeType":"boolean","required":false,"displayName":"»»»»» at_start"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Notify subscribers when maintenance ends"},"in":"body","name":"at_end","depth":5,"description":"Notify subscribers when maintenance ends","type":"boolean","safeType":"boolean","required":false,"displayName":"»»»»» at_end"},{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"comp123","description":"Component ID"},"name":{"type":"string","example":"API Server","description":"Component name"}},"required":["id","name"],"description":"Component associated with the scheduled maintenance"},"description":"Components affected by this maintenance"},"in":"body","name":"components","depth":4,"description":"Components affected by this maintenance","type":"array","safeType":"object[]","required":false,"displayName":"»»»» components"},{"schema":{"type":"string","example":"comp123","description":"Component ID"},"in":"body","name":"id","depth":5,"description":"Component ID","type":"string","safeType":"string","required":true,"displayName":"»»»»» id"},{"schema":{"type":"string","example":"API Server","description":"Component name"},"in":"body","name":"name","depth":5,"description":"Component name","type":"string","safeType":"string","required":true,"displayName":"»»»»» name"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Whether the API call was successful"},"in":"body","name":"success","depth":1,"description":"Whether the API call was successful","type":"boolean","safeType":"boolean","required":true,"displayName":"» success"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"errors","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» errors"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"messages","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» messages"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"}]}]} />

</Col>

<Col sticky>

<CodeGroup title="Request" tag="GET" label="/v1/status_pages/{status_page_subdomain}/summary">
```bash {{ title: 'cURL' }}
curl --request GET \
  --url https://api.onlineornot.com/v1/status_pages/hackernews/summary \
  --header 'Accept: application/json'
```

```javascript
fetch("https://api.onlineornot.com/v1/status_pages/hackernews/summary", {
  "method": "GET",
  "headers": {
    "Accept": "application/json"
  }
})
.then(response => {
  console.log(response);
})
.catch(err => {
  console.error(err);
});
```

```java
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.onlineornot.com/v1/status_pages/hackernews/summary")
  .get()
  .addHeader("Accept", "application/json")
  .build();

Response response = client.newCall(request).execute();
```

```php
<?php

$request = new HttpRequest();
$request->setUrl('https://api.onlineornot.com/v1/status_pages/hackernews/summary');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders([
  'Accept' => 'application/json'
]);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
```

```ruby
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.onlineornot.com/v1/status_pages/hackernews/summary")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'

response = http.request(request)
puts response.read_body
```

```python
import requests

url = "https://api.onlineornot.com/v1/status_pages/hackernews/summary"

headers = {"Accept": "application/json"}

response = requests.request("GET", url, headers=headers)

print(response.text)
```

</CodeGroup>

```json {{ title: 'Response' }}
{
  "result": {
    "status": {
      "description": "All Systems Operational"
    },
    "status_page": {
      "id": "a1b2c3d4",
      "name": "My Example SaaS",
      "subdomain": "status",
      "custom_domain": "https://status.yourdomain.com",
      "status": "ALL_SYSTEMS_OPERATIONAL",
      "favicon_url": "https://example.com/favicon.ico",
      "logo_url": "https://example.com/logo.png",
      "dark_logo_url": "https://example.com/logo-dark.png",
      "description": "Real-time status updates for My Example SaaS",
      "hide_from_search_engines": false,
      "has_password": false,
      "allowed_ips": [
        "192.168.1.1",
        "10.0.0.0/8"
      ]
    },
    "components": [
      {
        "id": "a1b2c3d4",
        "name": "Website",
        "status": "MAJOR_OUTAGE",
        "display_uptime": true,
        "display_metrics": true,
        "created_at": "2021-01-01T00:00:00.000Z",
        "updated_at": "2021-02-01T00:00:00.000Z",
        "group_id": "a1b2c3d4",
        "is_external_component": false
      }
    ],
    "active_incidents": [
      {
        "id": "a1b2c3d4",
        "title": "API is inaccessible",
        "impact": "MAJOR_OUTAGE",
        "started": "2021-01-01T00:00:00.000Z",
        "ended": "2021-02-01T00:00:00.000Z",
        "created_at": "2021-01-01T00:00:00.000Z",
        "updated_at": "2021-02-01T00:00:00.000Z"
      }
    ],
    "scheduled_maintenance": [
      {
        "id": "a1b2c3d4",
        "title": "API is inaccessible",
        "impact": "MAJOR_OUTAGE",
        "started": "2021-01-01T00:00:00.000Z",
        "ended": "2021-02-01T00:00:00.000Z",
        "created_at": "2021-01-01T00:00:00.000Z",
        "updated_at": "2021-02-01T00:00:00.000Z",
        "start_date": "2021-01-01T00:00:00.000Z",
        "duration_minutes": 60,
        "notifications": {
          "an_hour_before": false,
          "at_start": true,
          "at_end": true
        },
        "components": [
          {
            "id": "comp123",
            "name": "API Server"
          }
        ]
      }
    ]
  },
  "success": true,
  "errors": [],
  "messages": []
}
```

</Col>
</Row>

---

## Create a status page   {{ tag: 'POST', label: '/v1/status_pages' }}
<Row>
<Col>

### Security: Bearer Auth
Provide your bearer token in the Authorization header when making requests to protected resources.

Example: `Authorization: Bearer 123`

<ParameterTree parameters={[{"in":"body","schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"subdomain":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.onlineornot.com\""},"custom_domain":{"type":"string","format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at."},"password":{"type":["string","null"],"description":"The password required to view your status page. If omitted, keeps existing password. If null or empty string, removes password protection. If non-empty string, sets new password."},"description":{"type":"string","example":"Real-time status updates for My Example SaaS","description":"A description of your status page"},"hide_from_search_engines":{"type":"boolean","example":false,"description":"Whether to hide the status page from search engines"},"allowed_ips":{"type":"array","items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"}},"required":["name","subdomain"]},"name":"body","required":true,"exampleValues":{"object":{"name":"My Example SaaS","subdomain":"status","custom_domain":"https://status.yourdomain.com","password":"string","description":"Real-time status updates for My Example SaaS","hide_from_search_engines":false,"allowed_ips":["192.168.1.1","10.0.0.0/8"]},"json":"{\n  \"name\": \"My Example SaaS\",\n  \"subdomain\": \"status\",\n  \"custom_domain\": \"https://status.yourdomain.com\",\n  \"password\": \"string\",\n  \"description\": \"Real-time status updates for My Example SaaS\",\n  \"hide_from_search_engines\": false,\n  \"allowed_ips\": [\n    \"192.168.1.1\",\n    \"10.0.0.0/8\"\n  ]\n}"},"originalType":"object","safeType":"object"},{"in":"body","schema":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"name":"» name","required":true,"description":"Name of the Status Page","safeType":"string","depth":1,"exampleValues":{"object":"My Example SaaS","json":"'My Example SaaS'"},"shortDesc":"Name of the Status Page"},{"in":"body","schema":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.onlineornot.com\""},"name":"» subdomain","required":true,"description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.onlineornot.com\"","safeType":"string","depth":1,"exampleValues":{"object":"status","json":"'status'"},"shortDesc":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.onlineornot.com\""},{"in":"body","schema":{"type":"string","format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at."},"name":"» custom_domain","required":false,"description":"The custom domain your status page is hosted at.","safeType":"string(uri)","depth":1,"exampleValues":{"object":"https://status.yourdomain.com","json":"'https://status.yourdomain.com'"},"shortDesc":"The custom domain your status page is hosted at."},{"in":"body","schema":{"type":["string","null"],"description":"The password required to view your status page. If omitted, keeps existing password. If null or empty string, removes password protection. If non-empty string, sets new password."},"name":"» password","required":false,"description":"The password required to view your status page. If omitted, keeps existing password. If null or empty string, removes password protection. If non-empty string, sets new password.","safeType":["string","null"],"depth":1,"exampleValues":{"object":"string","json":"'string'"},"shortDesc":"The password required to view your status page. If omitted, keeps existing password. If null or empty string, removes password protection. If non-empty string, sets new password."},{"in":"body","schema":{"type":"string","example":"Real-time status updates for My Example SaaS","description":"A description of your status page"},"name":"» description","required":false,"description":"A description of your status page","safeType":"string","depth":1,"exampleValues":{"object":"Real-time status updates for My Example SaaS","json":"'Real-time status updates for My Example SaaS'"},"shortDesc":"A description of your status page"},{"in":"body","schema":{"type":"boolean","example":false,"description":"Whether to hide the status page from search engines"},"name":"» hide_from_search_engines","required":false,"description":"Whether to hide the status page from search engines","safeType":"boolean","depth":1,"exampleValues":{"object":false,"json":"'false'"},"shortDesc":"Whether to hide the status page from search engines"},{"in":"body","schema":{"type":"array","items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"},"name":"» allowed_ips","required":false,"description":"List of IP addresses or CIDR ranges allowed to access this status page","safeType":"string[]","depth":1,"exampleValues":{"object":["192.168.1.1","10.0.0.0/8"],"json":"[\n  \"192.168.1.1\",\n  \"10.0.0.0/8\"\n]"},"shortDesc":"List of IP addresses or CIDR ranges allowed to access this status page"}]} title="Body parameters" />

<h3 id="post__v1_status_pages-responses">Responses</h3>

|Status|Meaning|Description|
|---|---|---|
|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|Create a new OnlineOrNot Status Page|
|500|[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1)|Internal Server Error|

<ResponseSchemas schemas={[{"status":"201","properties":[{"schema":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"name":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"subdomain":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"custom_domain":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"status":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"favicon_url":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"logo_url":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"dark_logo_url":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"description":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"hide_from_search_engines":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"has_password":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"allowed_ips":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"}},"required":["id","name","subdomain","status","hide_from_search_engines","has_password"]},"in":"body","name":"result","depth":1,"type":"object","safeType":"object","required":true,"displayName":"» result"},{"schema":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"in":"body","name":"id","depth":2,"description":"Status Page ID","type":"string","safeType":"string","required":true,"displayName":"»» id"},{"schema":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"in":"body","name":"name","depth":2,"description":"Name of the Status Page","type":"string","safeType":"string","required":true,"displayName":"»» name"},{"schema":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"in":"body","name":"subdomain","depth":2,"description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\"","type":"string","safeType":"string","required":true,"displayName":"»» subdomain"},{"schema":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"in":"body","name":"custom_domain","depth":2,"description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\"","type":["string","null"],"format":"uri","safeType":"string,null(uri)","required":false,"displayName":"»» custom_domain"},{"schema":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"in":"body","name":"status","depth":2,"description":"The current overall status of the status page","type":"string","safeType":"string","required":true,"displayName":"»» status"},{"schema":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"in":"body","name":"favicon_url","depth":2,"description":"URL to the favicon for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» favicon_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"in":"body","name":"logo_url","depth":2,"description":"URL to the logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» logo_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"in":"body","name":"dark_logo_url","depth":2,"description":"URL to the dark mode logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» dark_logo_url"},{"schema":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"in":"body","name":"description","depth":2,"description":"A description of the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» description"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"in":"body","name":"hide_from_search_engines","depth":2,"description":"Whether the status page is hidden from search engines","type":"boolean","safeType":"boolean","required":true,"displayName":"»» hide_from_search_engines"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"in":"body","name":"has_password","depth":2,"description":"Whether the status page requires a password to view","type":"boolean","safeType":"boolean","required":true,"displayName":"»» has_password"},{"schema":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"},"in":"body","name":"allowed_ips","depth":2,"description":"List of IP addresses or CIDR ranges allowed to access this status page","type":["array","null"],"safeType":["array","null"],"required":false,"displayName":"»» allowed_ips"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Whether the API call was successful"},"in":"body","name":"success","depth":1,"description":"Whether the API call was successful","type":"boolean","safeType":"boolean","required":true,"displayName":"» success"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"errors","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» errors"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"messages","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» messages"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"}]}]} />

</Col>

<Col sticky>

<CodeGroup title="Request" tag="POST" label="/v1/status_pages">
```bash {{ title: 'cURL' }}
curl --request POST \
  --url https://api.onlineornot.com/v1/status_pages \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"name":"My Example SaaS","subdomain":"status","custom_domain":"https://status.yourdomain.com","password":"string","description":"Real-time status updates for My Example SaaS","hide_from_search_engines":false,"allowed_ips":["192.168.1.1","10.0.0.0/8"]}'
```

```javascript
fetch("https://api.onlineornot.com/v1/status_pages", {
  "method": "POST",
  "headers": {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
  },
  "body": "{\"name\":\"My Example SaaS\",\"subdomain\":\"status\",\"custom_domain\":\"https://status.yourdomain.com\",\"password\":\"string\",\"description\":\"Real-time status updates for My Example SaaS\",\"hide_from_search_engines\":false,\"allowed_ips\":[\"192.168.1.1\",\"10.0.0.0/8\"]}"
})
.then(response => {
  console.log(response);
})
.catch(err => {
  console.error(err);
});
```

```java
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"name\":\"My Example SaaS\",\"subdomain\":\"status\",\"custom_domain\":\"https://status.yourdomain.com\",\"password\":\"string\",\"description\":\"Real-time status updates for My Example SaaS\",\"hide_from_search_engines\":false,\"allowed_ips\":[\"192.168.1.1\",\"10.0.0.0/8\"]}");
Request request = new Request.Builder()
  .url("https://api.onlineornot.com/v1/status_pages")
  .post(body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer {access-token}")
  .build();

Response response = client.newCall(request).execute();
```

```php
<?php

$request = new HttpRequest();
$request->setUrl('https://api.onlineornot.com/v1/status_pages');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
]);

$request->setBody('{"name":"My Example SaaS","subdomain":"status","custom_domain":"https://status.yourdomain.com","password":"string","description":"Real-time status updates for My Example SaaS","hide_from_search_engines":false,"allowed_ips":["192.168.1.1","10.0.0.0/8"]}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
```

```ruby
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.onlineornot.com/v1/status_pages")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["Authorization"] = 'Bearer {access-token}'
request.body = "{\"name\":\"My Example SaaS\",\"subdomain\":\"status\",\"custom_domain\":\"https://status.yourdomain.com\",\"password\":\"string\",\"description\":\"Real-time status updates for My Example SaaS\",\"hide_from_search_engines\":false,\"allowed_ips\":[\"192.168.1.1\",\"10.0.0.0/8\"]}"

response = http.request(request)
puts response.read_body
```

```python
import requests

url = "https://api.onlineornot.com/v1/status_pages"

payload = {
    "name": "My Example SaaS",
    "subdomain": "status",
    "custom_domain": "https://status.yourdomain.com",
    "password": "string",
    "description": "Real-time status updates for My Example SaaS",
    "hide_from_search_engines": False,
    "allowed_ips": ["192.168.1.1", "10.0.0.0/8"]
}
headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
```

</CodeGroup>

```json {{ title: 'Response' }}
{
  "result": {
    "id": "a1b2c3d4",
    "name": "My Example SaaS",
    "subdomain": "status",
    "custom_domain": "https://status.yourdomain.com",
    "status": "ALL_SYSTEMS_OPERATIONAL",
    "favicon_url": "https://example.com/favicon.ico",
    "logo_url": "https://example.com/logo.png",
    "dark_logo_url": "https://example.com/logo-dark.png",
    "description": "Real-time status updates for My Example SaaS",
    "hide_from_search_engines": false,
    "has_password": false,
    "allowed_ips": [
      "192.168.1.1",
      "10.0.0.0/8"
    ]
  },
  "success": true,
  "errors": [],
  "messages": []
}
```

</Col>
</Row>

---

## List all status pages   {{ tag: 'GET', label: '/v1/status_pages' }}
<Row>
<Col>

### Security: Bearer Auth
Provide your bearer token in the Authorization header when making requests to protected resources.

Example: `Authorization: Bearer 123`

<ParameterTree parameters={[{"schema":{"type":"string","default":"1","example":1,"description":"Page number of paginated results."},"required":false,"description":"Page number of paginated results.","name":"page","in":"query","exampleValues":{"object":1,"json":"'1'"},"originalType":"string","safeType":"string","shortDesc":"Page number of paginated results.","style":"form"},{"schema":{"type":"string","default":"20","example":20,"description":"Number of items per page."},"required":false,"description":"Number of items per page.","name":"per_page","in":"query","exampleValues":{"object":20,"json":"'20'"},"originalType":"string","safeType":"string","shortDesc":"Number of items per page.","style":"form"},{"schema":{"type":"string","example":"example","description":"Search term to filter results."},"required":false,"description":"Search term to filter results.","name":"search","in":"query","exampleValues":{"object":"example","json":"'example'"},"originalType":"string","safeType":"string","shortDesc":"Search term to filter results.","style":"form"}]} title="Query parameters" />

<h3 id="get__v1_status_pages-responses">Responses</h3>

|Status|Meaning|Description|
|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Returns a list of OnlineOrNot Status Pages|
|500|[Internal Server Error](https://tools.ietf.org/html/rfc7231#section-6.6.1)|Internal Server Error|

<ResponseSchemas schemas={[{"status":"200","properties":[{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"name":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"subdomain":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"custom_domain":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"status":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"favicon_url":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"logo_url":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"dark_logo_url":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"description":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"hide_from_search_engines":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"has_password":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"allowed_ips":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"}},"required":["id","name","subdomain","status","hide_from_search_engines","has_password"]}},"in":"body","name":"result","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» result"},{"schema":{"type":"string","example":"a1b2c3d4","description":"Status Page ID"},"in":"body","name":"id","depth":2,"description":"Status Page ID","type":"string","safeType":"string","required":true,"displayName":"»» id"},{"schema":{"type":"string","minLength":1,"maxLength":100,"example":"My Example SaaS","description":"Name of the Status Page"},"in":"body","name":"name","depth":2,"description":"Name of the Status Page","type":"string","safeType":"string","required":true,"displayName":"»» name"},{"schema":{"type":"string","pattern":"^\\w(?:[\\w-]{0,61}\\w)?$","example":"status","description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\""},"in":"body","name":"subdomain","depth":2,"description":"The subdomain your status page will be hosted at. For example \"status\" would become \"status.yourdomain.com\"","type":"string","safeType":"string","required":true,"displayName":"»» subdomain"},{"schema":{"type":["string","null"],"format":"uri","example":"https://status.yourdomain.com","description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\""},"in":"body","name":"custom_domain","depth":2,"description":"The custom domain your status page is hosted at. For example \"https://status.yourdomain.com\"","type":["string","null"],"format":"uri","safeType":"string,null(uri)","required":false,"displayName":"»» custom_domain"},{"schema":{"type":"string","enum":["ALL_SYSTEMS_OPERATIONAL","PARTIALLY_DEGRADED_SERVICE","MINOR_SERVICE_OUTAGE","MAJOR_SYSTEM_OUTAGE","SERVICE_UNDER_MAINTENANCE"],"example":"ALL_SYSTEMS_OPERATIONAL","description":"The current overall status of the status page"},"in":"body","name":"status","depth":2,"description":"The current overall status of the status page","type":"string","safeType":"string","required":true,"displayName":"»» status"},{"schema":{"type":["string","null"],"example":"https://example.com/favicon.ico","description":"URL to the favicon for the status page"},"in":"body","name":"favicon_url","depth":2,"description":"URL to the favicon for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» favicon_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo.png","description":"URL to the logo for the status page"},"in":"body","name":"logo_url","depth":2,"description":"URL to the logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» logo_url"},{"schema":{"type":["string","null"],"example":"https://example.com/logo-dark.png","description":"URL to the dark mode logo for the status page"},"in":"body","name":"dark_logo_url","depth":2,"description":"URL to the dark mode logo for the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» dark_logo_url"},{"schema":{"type":["string","null"],"example":"Real-time status updates for My Example SaaS","description":"A description of the status page"},"in":"body","name":"description","depth":2,"description":"A description of the status page","type":["string","null"],"safeType":["string","null"],"required":false,"displayName":"»» description"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page is hidden from search engines"},"in":"body","name":"hide_from_search_engines","depth":2,"description":"Whether the status page is hidden from search engines","type":"boolean","safeType":"boolean","required":true,"displayName":"»» hide_from_search_engines"},{"schema":{"type":"boolean","example":false,"description":"Whether the status page requires a password to view"},"in":"body","name":"has_password","depth":2,"description":"Whether the status page requires a password to view","type":"boolean","safeType":"boolean","required":true,"displayName":"»» has_password"},{"schema":{"type":["array","null"],"items":{"type":"string"},"example":["192.168.1.1","10.0.0.0/8"],"description":"List of IP addresses or CIDR ranges allowed to access this status page"},"in":"body","name":"allowed_ips","depth":2,"description":"List of IP addresses or CIDR ranges allowed to access this status page","type":["array","null"],"safeType":["array","null"],"required":false,"displayName":"»» allowed_ips"},{"schema":{"type":"object","properties":{"page":{"type":"number","default":1,"example":1,"description":"Page number of paginated results."},"per_page":{"type":"number","default":20,"example":20,"description":"Number of items per page."},"count":{"type":"number","example":1,"description":"Number of items on the current page."},"total_count":{"type":"number","example":1,"description":"Total number of items."}},"required":["count","total_count"]},"in":"body","name":"result_info","depth":1,"type":"object","safeType":"object","required":true,"displayName":"» result_info"},{"schema":{"type":"number","default":1,"example":1,"description":"Page number of paginated results."},"in":"body","name":"page","depth":2,"description":"Page number of paginated results.","type":"number","safeType":"number","required":false,"displayName":"»» page"},{"schema":{"type":"number","default":20,"example":20,"description":"Number of items per page."},"in":"body","name":"per_page","depth":2,"description":"Number of items per page.","type":"number","safeType":"number","required":false,"displayName":"»» per_page"},{"schema":{"type":"number","example":1,"description":"Number of items on the current page."},"in":"body","name":"count","depth":2,"description":"Number of items on the current page.","type":"number","safeType":"number","required":true,"displayName":"»» count"},{"schema":{"type":"number","example":1,"description":"Total number of items."},"in":"body","name":"total_count","depth":2,"description":"Total number of items.","type":"number","safeType":"number","required":true,"displayName":"»» total_count"},{"schema":{"type":"boolean","default":true,"example":true,"description":"Whether the API call was successful"},"in":"body","name":"success","depth":1,"description":"Whether the API call was successful","type":"boolean","safeType":"boolean","required":true,"displayName":"» success"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"errors","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» errors"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"},{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number"},"message":{"type":"string"},"type":{"type":"string"}},"required":["code","message"]},"example":[]},"in":"body","name":"messages","depth":1,"type":"array","safeType":"object[]","required":true,"displayName":"» messages"},{"schema":{"type":"number"},"in":"body","name":"code","depth":2,"type":"number","safeType":"number","required":true,"displayName":"»» code"},{"schema":{"type":"string"},"in":"body","name":"message","depth":2,"type":"string","safeType":"string","required":true,"displayName":"»» message"},{"schema":{"type":"string"},"in":"body","name":"type","depth":2,"type":"string","safeType":"string","required":false,"displayName":"»» type"}]}]} />

</Col>

<Col sticky>

<CodeGroup title="Request" tag="GET" label="/v1/status_pages">
```bash {{ title: 'cURL' }}
curl --request GET \
  --url https://api.onlineornot.com/v1/status_pages \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'
```

```javascript
fetch("https://api.onlineornot.com/v1/status_pages", {
  "method": "GET",
  "headers": {
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
  }
})
.then(response => {
  console.log(response);
})
.catch(err => {
  console.error(err);
});
```

```java
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.onlineornot.com/v1/status_pages")
  .get()
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer {access-token}")
  .build();

Response response = client.newCall(request).execute();
```

```php
<?php

$request = new HttpRequest();
$request->setUrl('https://api.onlineornot.com/v1/status_pages');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders([
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
]);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
```

```ruby
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.onlineornot.com/v1/status_pages")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["Authorization"] = 'Bearer {access-token}'

response = http.request(request)
puts response.read_body
```

```python
import requests

url = "https://api.onlineornot.com/v1/status_pages"

headers = {
    "Accept": "application/json",
    "Authorization": "Bearer {access-token}"
}

response = requests.request("GET", url, headers=headers)

print(response.text)
```

</CodeGroup>

```json {{ title: 'Response' }}
{
  "result": [
    {
      "id": "a1b2c3d4",
      "name": "My Example SaaS",
      "subdomain": "status",
      "custom_domain": "https://status.yourdomain.com",
      "status": "ALL_SYSTEMS_OPERATIONAL",
      "favicon_url": "https://example.com/favicon.ico",
      "logo_url": "https://example.com/logo.png",
      "dark_logo_url": "https://example.com/logo-dark.png",
      "description": "Real-time status updates for My Example SaaS",
      "hide_from_search_engines": false,
      "has_password": false,
      "allowed_ips": [
        "192.168.1.1",
        "10.0.0.0/8"
      ]
    }
  ],
  "result_info": {
    "page": 1,
    "per_page": 20,
    "count": 1,
    "total_count": 1
  },
  "success": true,
  "errors": [],
  "messages": []
}
```

</Col>
</Row>

---

