GET/v1/status_pages/{status_page_id}

Retrieve a status page

Requires STATUS_PAGES:READ; EDIT also grants READ. Session cookies are accepted only when no bearer credential is supplied.

Security: Bearer Auth

Provide your bearer token in the Authorization header when making requests to protected resources.

Example: Authorization: Bearer 123

Header parameters

X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.

Path parameters

status_page_id:string
Status Page ID

Responses

StatusMeaningDescription
200OKRetrieve the specified OnlineOrNot Status Page
400Bad RequestInvalid request
401UnauthorizedMissing or invalid credentials
403ForbiddenInsufficient permissions
404Not FoundResource not found, unavailable, or rejected by the domain operation
500Internal Server ErrorInternal Server Error

Response Schema

result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]

Request

GET
/v1/status_pages/{status_page_id}
curl --request GET \
  --url https://api.onlineornot.com/v1/status_pages/a1b2c3d4 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'X-OnlineOrNot-Organisation: string'

Response

{
  "result": {
    "id": "a1b2c3d4",
    "name": "My Example SaaS",
    "subdomain": "status",
    "custom_domain": "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": []
}

POST/v1/status_pages/{status_page_id}

Update a status page

Requires STATUS_PAGES:EDIT; EDIT also grants READ. Session cookies are accepted only when no bearer credential is supplied.

Security: Bearer Auth

Provide your bearer token in the Authorization header when making requests to protected resources.

Example: Authorization: Bearer 123

Header parameters

X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.

Path parameters

status_page_id:string
Status Page ID

Body parameters

name:string
subdomain:string
The subdomain your status page will be hosted at. For example "status" would become "status.onlineornot.com"
custom_domain:string(uri)optional
The custom domain your status page is hosted at.
password:stringnulloptional
Password protection. Send null or an empty string to remove it; omit to leave it unchanged.
description:stringoptional
hide_from_search_engines:booleanoptional
Whether to hide the status page from search engines
allowed_ips:string[]optional
List of IP addresses or CIDR ranges allowed to access this status page

Responses

StatusMeaningDescription
200OKUpdate an existing OnlineOrNot Status Page
400Bad RequestInvalid request
401UnauthorizedMissing or invalid credentials
403ForbiddenInsufficient permissions
500Internal Server ErrorInternal Server Error

Response Schema

result:any
*anonymous*:objectoptional
*anonymous*:objectoptional
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]

Request

POST
/v1/status_pages/{status_page_id}
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' \
  --header 'X-OnlineOrNot-Organisation: string' \
  --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"]}'

Response

{
  "result": {
    "id": "a1b2c3d4",
    "name": "My Example SaaS",
    "subdomain": "status",
    "custom_domain": "status.yourdomain.com",
    "description": "Real-time status updates for My Example SaaS",
    "hide_from_search_engines": false
  },
  "success": true,
  "errors": [],
  "messages": []
}

DELETE/v1/status_pages/{status_page_id}

Delete a status page

Requires STATUS_PAGES:EDIT; EDIT also grants READ. Session cookies are accepted only when no bearer credential is supplied.

Security: Bearer Auth

Provide your bearer token in the Authorization header when making requests to protected resources.

Example: Authorization: Bearer 123

Header parameters

X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.

Path parameters

status_page_id:string
Status Page ID

Responses

StatusMeaningDescription
200OKReturns the deleted OnlineOrNot Check's ID
400Bad RequestInvalid request
401UnauthorizedMissing or invalid credentials
403ForbiddenInsufficient permissions
404Not FoundResource not found, unavailable, or rejected by the domain operation
500Internal Server ErrorInternal Server Error

Response Schema

result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]

Request

DELETE
/v1/status_pages/{status_page_id}
curl --request DELETE \
  --url https://api.onlineornot.com/v1/status_pages/a1b2c3d4 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'X-OnlineOrNot-Organisation: string'

Response

{
  "result": {
    "id": "a1b2c3d4"
  },
  "success": true,
  "errors": [],
  "messages": []
}

GET/v1/status_pages/{status_page_subdomain}/summary

Get a status page's overview.

This operation does not require authentication

Path parameters

status_page_subdomain:string
The subdomain part of a status page's URL

Responses

StatusMeaningDescription
200OKRetrieve the specified OnlineOrNot status page summary
400Bad RequestInvalid path
404Not FoundNot found or private status page
500Internal Server ErrorInternal Server Error

Response Schema

result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]

Request

GET
/v1/status_pages/{status_page_subdomain}/summary
curl --request GET \
  --url https://api.onlineornot.com/v1/status_pages/hackernews/summary \
  --header 'Accept: application/json'

Response

{
  "result": {
    "status": {
      "description": "All Systems Operational"
    },
    "status_page": {
      "id": "a1b2c3d4",
      "name": "My Example SaaS",
      "subdomain": "status",
      "custom_domain": "status.yourdomain.com"
    },
    "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",
        "sort_order": 0,
        "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": "string",
        "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": []
}

POST/v1/status_pages

Create a status page

Requires STATUS_PAGES:EDIT; EDIT also grants READ. Session cookies are accepted only when no bearer credential is supplied.

Security: Bearer Auth

Provide your bearer token in the Authorization header when making requests to protected resources.

Example: Authorization: Bearer 123

Header parameters

X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.

Body parameters

name:string
subdomain:string
The subdomain your status page will be hosted at. For example "status" would become "status.onlineornot.com"
custom_domain:string(uri)optional
The custom domain your status page is hosted at.
password:stringnulloptional
Password protection. Send null or an empty string to remove it; omit to leave it unchanged.
description:stringoptional
hide_from_search_engines:booleanoptional
Whether to hide the status page from search engines
allowed_ips:string[]optional
List of IP addresses or CIDR ranges allowed to access this status page

Responses

StatusMeaningDescription
201CreatedCreate a new OnlineOrNot Status Page
400Bad RequestInvalid request
401UnauthorizedMissing or invalid credentials
403ForbiddenInsufficient permissions
500Internal Server ErrorInternal Server Error

Response Schema

result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]

Request

POST
/v1/status_pages
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' \
  --header 'X-OnlineOrNot-Organisation: string' \
  --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"]}'

Response

{
  "result": {
    "id": "a1b2c3d4",
    "name": "My Example SaaS",
    "subdomain": "status",
    "custom_domain": "status.yourdomain.com"
  },
  "success": true,
  "errors": [],
  "messages": []
}

GET/v1/status_pages

List all status pages

Requires STATUS_PAGES:READ; EDIT also grants READ. Session cookies are accepted only when no bearer credential is supplied.

Security: Bearer Auth

Provide your bearer token in the Authorization header when making requests to protected resources.

Example: Authorization: Bearer 123

Header parameters

X-OnlineOrNot-Organisation:stringoptional
Public organization ID to select from an OAuth grant. Required for grants authorizing multiple organizations. Omit for single-organization grants and API tokens.

Query parameters

page:integeroptional
Page number of paginated results, starting at 1.
Default: 1
per_page:integeroptional
Number of items per page. Defaults to 20. Continue requesting subsequent pages until the accumulated item count reaches result_info.total_count or a page is empty.
Default: 20
search:stringoptional
Search term to filter results.

Responses

StatusMeaningDescription
200OKReturns a list of OnlineOrNot Status Pages. May also return a canonical failure envelope with success: false at HTTP200.
400Bad RequestInvalid request
401UnauthorizedMissing or invalid credentials
403ForbiddenInsufficient permissions
500Internal Server ErrorInternal Server Error

Response Schema

success:boolean
false
result:null
errors:object[]
messages:[any]

Request

GET
/v1/status_pages
curl --request GET \
  --url https://api.onlineornot.com/v1/status_pages \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'X-OnlineOrNot-Organisation: string'

Response

{
  "result": [
    {
      "id": "a1b2c3d4",
      "name": "My Example SaaS",
      "subdomain": "status",
      "custom_domain": "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"
      ],
      "custom_domain_entitled": true,
      "private_status_page_entitled": true
    }
  ],
  "result_info": {
    "page": 1,
    "per_page": 20,
    "count": 1,
    "total_count": 1
  },
  "success": true,
  "errors": [],
  "messages": []
}

Was this page helpful?