POST/v1/checks/{check_id}/move
Assign or unassign a check
Requires UPTIME_CHECKS: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
check_id:string
Uptime Check ID
Body parameters
project_id:string | null
Project ID, or null for Unassigned.
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Moved check identity and destination |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Missing or invalid credentials |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource or project not found |
| 409 | Conflict | project_move_variable_conflict |
| 429 | Too Many Requests | Rate limit exceeded |
| 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/checks/{check_id}/movecurl --request POST \
--url https://api.onlineornot.com/v1/checks/a1b2c3d4/move \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"project_id":"a1b2c3d4e5f6g7h8"}'
Response
{
"result": {
"id": "a1b2c3d4",
"project_id": "a1b2c3d4e5f6g7h8"
},
"success": true,
"errors": [],
"messages": []
}
GET/v1/checks
List all checks
Retrieve a paginated list of all uptime checks
Requires UPTIME_CHECKS: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.
project_id:anyoptional
Project ID, or unassigned to list only Unassigned resources. Omit to list all resources.
filter:stringoptional
Filter by current check status. NA, omitted and unrecognized values leave status unfiltered.
Accepted values: "DOWN" | "MUTED" | "NA" | "PAUSED" | "PENDING" | "RECOVERING" | "UP" | "VERIFYING"
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns a list of OnlineOrNot Checks. May also return a canonical failure envelope with success: false at HTTP200. |
| 400 | Bad Request | Validation error |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 404 | Not Found | Project not found |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
success:boolean
false
result:null
errors:object[]
messages:[any]
Request
GET
/v1/checkscurl --request GET \
--url https://api.onlineornot.com/v1/checks \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": [
{
"project_id": "a1b2c3d4e5f6g7h8",
"id": "a1b2c3d4",
"name": "My landing page",
"url": "https://example.com",
"check_type": "UPTIME",
"last_queued": "2021-01-01T00:00:00.000Z",
"status": "UP",
"dns_domain": "example.com",
"dns_record_type": "A",
"dns_resolver": "8.8.8.8:53",
"dns_protocol": "UDP",
"tcp_hostname": "tcpbin.com",
"tcp_port": 4242,
"tcp_ip_family": "IPv4"
}
],
"result_info": {
"page": 1,
"per_page": 20,
"count": 1,
"total_count": 1
},
"success": true,
"errors": [],
"messages": []
}
POST/v1/checks
Create a check
Create a new uptime check to monitor a URL
Requires UPTIME_CHECKS: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
project_id:string | nulloptional
Project ID. Omit or use null to leave the resource Unassigned.
name:string
test_interval:integeroptional
Interval in seconds between checks
test_regions:string[]optional
Regions to run checks from. Valid regions: aws:us-east-1, aws:us-east-2, aws:us-west-1, aws:eu-central-1, aws:eu-west-2, aws:ap-south-1, aws:ap-southeast-2, aws:ap-northeast-1
user_alerts:string[]optional
slack_alerts:string[]optional
discord_alerts:string[]optional
incident_io_alerts:string[]optional
microsoft_teams_alerts:string[]optional
telegram_alerts:string[]optional
pushover_alerts:string[]optional
webhook_alerts:string[]optional
IDs of webhooks to associate with this check
oncall_alerts:string[]optional
IDs of on-call integrations (Grafana, PagerDuty, Opsgenie, Spike)
alert_priority:stringoptional
[Alert priority](https://onlineornot.com/docs/how-to/alerts/configure-priority).
Accepted values: "LOW" | "HIGH"
Default: "HIGH"
confirmation_period_seconds:integeroptional
Seconds before confirming [downtime](https://onlineornot.com/docs/explanation/confirmation-recovery-periods#confirmation-period).
Default: 60
recovery_period_seconds:integeroptional
Seconds before confirming [recovery](https://onlineornot.com/docs/explanation/confirmation-recovery-periods#recovery-period).
Default: 180
reminder_alert_interval_minutes:integeroptional
Interval in minutes between reminders (-1 for never)
Default: 1440
timeout:integeroptional
Timeout in milliseconds
Default: 10000
url:string,null(uri)optional
URL to check. Required for URL-based checks, optional for script-based checks.
text_to_search_for:stringoptional
Text to search for in the response
type:stringoptional
Accepted values: "UPTIME_CHECK" | "BROWSER_CHECK"
Default: "UPTIME_CHECK"
headers:objectoptional
Headers to send. Uptime checks support environment variable references such as {{API_TOKEN}}. Terraform example: Authorization = "Bearer {{API_TOKEN}}". Terraform stores the template; create the referenced variable separately.
method:stringoptional
HTTP Method
Accepted values: "GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE"
Default: "GET"
body:stringoptional
follow_redirects:booleanoptional
Default: true
assertions:object[]optional
Assertions to run on the response
verify_ssl:booleanoptional
Whether to fail a check if SSL verification fails
Default: true
auth_username:stringoptional
Username to use for URLs behind HTTP Basic Auth. Uptime checks with environment variables can use {{NAME}} references; an empty string represents an empty user-id.
auth_password:stringoptional
Password to use for URLs behind HTTP Basic Auth. Uptime checks with environment variables can use {{NAME}} references; empty strings are preserved.
version:stringoptional
Runtime version for browser checks.
Accepted values: "NODE24_PLAYWRIGHT"
script:stringoptional
Playwright Test script for scripted browser checks. Required for script-based checks, optional for URL-based checks.
Responses
| Status | Meaning | Description |
|---|---|---|
| 201 | Created | Create a new OnlineOrNot Check |
| 400 | Bad Request | Validation error |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 404 | Not Found | Project not found |
| 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/checkscurl --request POST \
--url https://api.onlineornot.com/v1/checks \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"name":"My Website Check","url":"https://example.com","test_interval":60}'
Response
{
"result": {
"project_id": "a1b2c3d4e5f6g7h8",
"id": "a1b2c3d4",
"name": "My landing page",
"url": "https://example.com",
"check_type": "UPTIME",
"last_queued": "2021-01-01T00:00:00.000Z",
"status": "UP",
"headers": {
"X-My-Header": "My Value"
},
"text_to_search_for": "string",
"reminder_alert_interval_minutes": 1440,
"confirmation_period_seconds": 60,
"recovery_period_seconds": 180,
"test_interval": 60,
"timeout": 10000,
"version": "NODE24_PLAYWRIGHT",
"script": "string",
"alert_priority": "HIGH",
"verify_ssl": true,
"method": "GET",
"body": "string",
"follow_redirects": true,
"assertions": [
{
"type": "JSON_BODY",
"property": "$.data.name",
"comparison": "EQUALS",
"expected": "John Doe"
}
],
"auth_username": "string",
"auth_password": "string",
"test_regions": [
"aws:us-east-1",
"aws:eu-central-1"
],
"user_alerts": [
"string"
],
"slack_alerts": [
"string"
],
"discord_alerts": [
"string"
],
"incident_io_alerts": [
"string"
],
"microsoft_teams_alerts": [
"string"
],
"telegram_alerts": [
"string"
],
"pushover_alerts": [
"string"
],
"oncall_alerts": [
"string"
],
"webhook_alerts": [
"string"
]
},
"success": true,
"errors": [],
"messages": []
}
GET/v1/checks/{check_id}
Retrieve a check
Look up detailed information about a specific uptime check
Requires UPTIME_CHECKS: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
check_id:string
Uptime Check ID
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Retrieve the specified OnlineOrNot Check. May also return a canonical failure envelope with success: false at HTTP200. |
| 400 | Bad Request | Invalid request |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 404 | Not Found | Check not found |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
success:boolean
false
result:null
errors:object[]
messages:[any]
Request
GET
/v1/checks/{check_id}curl --request GET \
--url https://api.onlineornot.com/v1/checks/a1b2c3d4 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": {
"project_id": "a1b2c3d4e5f6g7h8",
"id": "a1b2c3d4",
"name": "My landing page",
"url": "https://example.com",
"last_queued": "2021-01-01T00:00:00.000Z",
"status": "UP",
"headers": {
"X-My-Header": "My Value"
},
"text_to_search_for": "string",
"reminder_alert_interval_minutes": 1440,
"confirmation_period_seconds": 60,
"recovery_period_seconds": 180,
"test_interval": 60,
"timeout": 0,
"version": "NODE24_PLAYWRIGHT",
"script": "string",
"alert_priority": "HIGH",
"verify_ssl": true,
"method": "GET",
"body": "string",
"follow_redirects": true,
"assertions": [
{
"type": "JSON_BODY",
"property": "$.data.name",
"comparison": "EQUALS",
"expected": "John Doe"
}
],
"auth_username": "string",
"auth_password": "string",
"test_regions": [
"aws:us-east-1",
"aws:eu-central-1"
],
"user_alerts": [
"string"
],
"slack_alerts": [
"string"
],
"discord_alerts": [
"string"
],
"incident_io_alerts": [
"string"
],
"microsoft_teams_alerts": [
"string"
],
"telegram_alerts": [
"string"
],
"pushover_alerts": [
"string"
],
"oncall_alerts": [
"string"
],
"webhook_alerts": [
"string"
],
"check_type": "UPTIME"
},
"success": true,
"errors": [],
"messages": []
}
DELETE/v1/checks/{check_id}
Delete a check
Permanently delete an uptime check
Requires UPTIME_CHECKS: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
check_id:string
Uptime Check ID
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns the deleted OnlineOrNot Check's ID |
| 400 | Bad Request | Validation error |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 404 | Not Found | Check not found |
| 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/checks/{check_id}curl --request DELETE \
--url https://api.onlineornot.com/v1/checks/a1b2c3d4 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": {
"id": "a1b2c3d4"
},
"success": true,
"errors": [],
"messages": []
}
PATCH/v1/checks/{check_id}
Modify a check
Modify the configuration of an existing uptime check
Requires UPTIME_CHECKS: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
check_id:string
Uptime Check ID
Body parameters
project_id:stringoptional
*anonymous*:anyoptional
name:stringoptional
test_interval:integeroptional
Interval in seconds between checks
test_regions:string[]optional
Regions to run checks from. Valid regions: aws:us-east-1, aws:us-east-2, aws:us-west-1, aws:eu-central-1, aws:eu-west-2, aws:ap-south-1, aws:ap-southeast-2, aws:ap-northeast-1
user_alerts:string[]optional
slack_alerts:string[]optional
discord_alerts:string[]optional
incident_io_alerts:string[]optional
microsoft_teams_alerts:string[]optional
telegram_alerts:string[]optional
pushover_alerts:string[]optional
webhook_alerts:string[]optional
IDs of webhooks to associate with this check
oncall_alerts:string[]optional
IDs of on-call integrations (Grafana, PagerDuty, Opsgenie, Spike)
alert_priority:stringoptional
[Alert priority](https://onlineornot.com/docs/how-to/alerts/configure-priority).
Accepted values: "LOW" | "HIGH"
Default: "HIGH"
confirmation_period_seconds:integeroptional
Seconds before confirming [downtime](https://onlineornot.com/docs/explanation/confirmation-recovery-periods#confirmation-period).
recovery_period_seconds:integeroptional
Seconds before confirming [recovery](https://onlineornot.com/docs/explanation/confirmation-recovery-periods#recovery-period).
reminder_alert_interval_minutes:integeroptional
Interval in minutes between reminders (-1 for never)
timeout:integeroptional
Timeout in milliseconds
paused:booleanoptional
Stops check execution when true.
muted:booleanoptional
Suppresses alerts without stopping checks.
url:string,null(uri)optional
URL to check
text_to_search_for:stringoptional
Text to search for in the response
type:stringoptional
Accepted values: "UPTIME_CHECK" | "BROWSER_CHECK"
headers:objectoptional
Headers to send. Uptime checks support environment variable references such as {{API_TOKEN}}. Terraform example: Authorization = "Bearer {{API_TOKEN}}". Terraform stores the template; create the referenced variable separately.
method:stringoptional
HTTP Method
Accepted values: "GET" | "HEAD" | "POST" | "PUT" | "PATCH" | "DELETE"
body:stringoptional
follow_redirects:booleanoptional
assertions:object[]optional
verify_ssl:booleanoptional
Whether to fail a check if SSL verification fails
auth_username:stringoptional
Username to use for URLs behind HTTP Basic Auth. Uptime checks with environment variables can use {{NAME}} references; an empty string represents an empty user-id.
auth_password:stringoptional
Password to use for URLs behind HTTP Basic Auth. Uptime checks with environment variables can use {{NAME}} references; empty strings are preserved.
version:stringoptional
Runtime version for browser checks.
Accepted values: "NODE24_PLAYWRIGHT"
script:stringoptional
Playwright Test script to run. Must import from @playwright/test and contain at least one test() block.
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Modify an OnlineOrNot Check |
| 400 | Bad Request | Validation error |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 404 | Not Found | Check not found |
| 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
PATCH
/v1/checks/{check_id}curl --request PATCH \
--url https://api.onlineornot.com/v1/checks/a1b2c3d4 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"muted":true,"headers":{"Authorization":"Bearer {{API_TOKEN}}"}}'
Response
{
"result": {
"project_id": "a1b2c3d4e5f6g7h8",
"id": "a1b2c3d4",
"name": "My landing page",
"url": "https://example.com",
"check_type": "UPTIME",
"last_queued": "2021-01-01T00:00:00.000Z",
"status": "UP",
"headers": {
"X-My-Header": "My Value"
},
"text_to_search_for": "string",
"reminder_alert_interval_minutes": 1440,
"confirmation_period_seconds": 60,
"recovery_period_seconds": 180,
"test_interval": 60,
"timeout": 10000,
"version": "NODE24_PLAYWRIGHT",
"script": "string",
"alert_priority": "HIGH",
"verify_ssl": true,
"method": "GET",
"body": "string",
"follow_redirects": true,
"assertions": [
{
"type": "JSON_BODY",
"property": "$.data.name",
"comparison": "EQUALS",
"expected": "John Doe"
}
],
"auth_username": "string",
"auth_password": "string",
"test_regions": [
"aws:us-east-1",
"aws:eu-central-1"
],
"user_alerts": [
"string"
],
"slack_alerts": [
"string"
],
"discord_alerts": [
"string"
],
"incident_io_alerts": [
"string"
],
"microsoft_teams_alerts": [
"string"
],
"telegram_alerts": [
"string"
],
"pushover_alerts": [
"string"
],
"oncall_alerts": [
"string"
],
"webhook_alerts": [
"string"
]
},
"success": true,
"errors": [],
"messages": []
}