GET/v1/status_pages/{status_page_id}
Retrieve a status page
Requires STATUS_PAGES:READ.
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
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Retrieve the specified OnlineOrNot Status Page |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource not available or request rejected |
| 500 | Internal Server Error | Internal 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}'
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.
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
favicon:string | nulloptional
Image file contents as a base64 data URL, not a hosted URL. Supports PNG, JPEG, GIF, WebP, SVG and ICO; maximum decoded file size 10 MB. Omit to preserve the image; send null to remove it.
logo:string | nulloptional
Image file contents as a base64 data URL, not a hosted URL. Supports PNG, JPEG, GIF, WebP, SVG and ICO; maximum decoded file size 10 MB. Omit to preserve the image; send null to remove it.
dark_logo:string | nulloptional
Image file contents as a base64 data URL, not a hosted URL. Supports PNG, JPEG, GIF, WebP, SVG and ICO; maximum decoded file size 10 MB. Omit to preserve the image; send null to remove it.
name:string
subdomain:string
The subdomain your status page will be hosted at. For example "status" would become "status.onlineornot.com"
custom_domain:string,null(uri)optional
The custom domain URL. On update, send null to remove the existing custom domain.
password:string | nulloptional
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
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Update an existing OnlineOrNot Status Page |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 500 | Internal Server Error | Internal 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' \
--data '{"favicon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jRZkAAAAASUVORK5CYII=","logo":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jRZkAAAAASUVORK5CYII=","dark_logo":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jRZkAAAAASUVORK5CYII=","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",
"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
},
"success": true,
"errors": [],
"messages": []
}
DELETE/v1/status_pages/{status_page_id}
Delete a status page
Requires STATUS_PAGES:EDIT.
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
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns the deleted OnlineOrNot Check's ID |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource not available or request rejected |
| 500 | Internal Server Error | Internal 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}'
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
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Retrieve the specified OnlineOrNot status page summary |
| 400 | Bad Request | Invalid path |
| 404 | Not Found | Not found or private status page |
| 500 | Internal Server Error | Internal 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}/summarycurl --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",
"favicon_url": "https://example.com/favicon.ico",
"logo_url": "https://example.com/logo.png",
"dark_logo_url": "https://example.com/logo-dark.png"
},
"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": "sm1b2c3d4",
"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": []
}
POST/v1/status_pages
Create a status page
Requires STATUS_PAGES:EDIT.
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
favicon:string | nulloptional
Image file contents as a base64 data URL, not a hosted URL. Supports PNG, JPEG, GIF, WebP, SVG and ICO; maximum decoded file size 10 MB. Omit to preserve the image; send null to remove it.
logo:string | nulloptional
Image file contents as a base64 data URL, not a hosted URL. Supports PNG, JPEG, GIF, WebP, SVG and ICO; maximum decoded file size 10 MB. Omit to preserve the image; send null to remove it.
dark_logo:string | nulloptional
Image file contents as a base64 data URL, not a hosted URL. Supports PNG, JPEG, GIF, WebP, SVG and ICO; maximum decoded file size 10 MB. Omit to preserve the image; send null to remove it.
name:string
subdomain:string
The subdomain your status page will be hosted at. For example "status" would become "status.onlineornot.com"
custom_domain:string,null(uri)optional
The custom domain URL. On update, send null to remove the existing custom domain.
password:string | nulloptional
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
| Status | Meaning | Description |
|---|---|---|
| 201 | Created | Create a new OnlineOrNot Status Page |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
result:object
success:boolean
Whether the API call was successful
errors:object[]
messages:object[]
Request
POST
/v1/status_pagescurl --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 '{"favicon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jRZkAAAAASUVORK5CYII=","logo":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jRZkAAAAASUVORK5CYII=","dark_logo":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jRZkAAAAASUVORK5CYII=","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",
"favicon_url": "https://example.com/favicon.ico",
"logo_url": "https://example.com/logo.png",
"dark_logo_url": "https://example.com/logo-dark.png"
},
"success": true,
"errors": [],
"messages": []
}
GET/v1/status_pages
List all status pages
Requires STATUS_PAGES:READ.
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
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns a list of OnlineOrNot Status Pages. May also return a canonical failure envelope with success: false at HTTP200. |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
success:boolean
false
result:null
errors:object[]
messages:[any]
Request
GET
/v1/status_pagescurl --request GET \
--url https://api.onlineornot.com/v1/status_pages \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
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": []
}