GET/v1/checks

List all checks

Retrieve a paginated list of all uptime checks

Requires UPTIME_CHECKS: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.
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

StatusMeaningDescription
200OKReturns a list of OnlineOrNot Checks. May also return a canonical failure envelope with success: false at HTTP200.
400Bad RequestValidation error
401UnauthorizedUnauthenticated
403ForbiddenForbidden
500Internal Server ErrorInternal Server Error

Response Schema

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

Request

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

Response

{
  "result": [
    {
      "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; 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
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. An empty string represents an empty user-id.
auth_password:stringoptional
Password to use for URLs behind HTTP Basic Auth. 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

StatusMeaningDescription
201CreatedCreate a new OnlineOrNot Check
400Bad RequestValidation error
401UnauthorizedUnauthenticated
403ForbiddenForbidden
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/checks
curl --request POST \
  --url https://api.onlineornot.com/v1/checks \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --header 'X-OnlineOrNot-Organisation: string' \
  --data '{"name":"My Website Check","url":"https://example.com","test_interval":60}'

Response

{
  "result": {
    "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; 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

check_id:string
Uptime Check ID

Responses

StatusMeaningDescription
200OKRetrieve the specified OnlineOrNot Check. May also return a canonical failure envelope with success: false at HTTP200.
400Bad RequestInvalid request
401UnauthorizedUnauthenticated
403ForbiddenForbidden
404Not FoundCheck not found
500Internal Server ErrorInternal 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}' \
  --header 'X-OnlineOrNot-Organisation: string'

Response

{
  "result": {
    "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; 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

check_id:string
Uptime Check ID

Responses

StatusMeaningDescription
200OKReturns the deleted OnlineOrNot Check's ID
400Bad RequestValidation error
401UnauthorizedUnauthenticated
403ForbiddenForbidden
404Not FoundCheck not found
500Internal Server ErrorInternal 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}' \
  --header 'X-OnlineOrNot-Organisation: string'

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; 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

check_id:string
Uptime Check ID

Body parameters

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. An empty string represents an empty user-id.
auth_password:stringoptional
Password to use for URLs behind HTTP Basic Auth. Empty strings are preserved.
version:stringoptional
Runtime version for browser checks. NODE20_PLAYWRIGHT is deprecated; existing checks can keep this version but new checks should use NODE24_PLAYWRIGHT.
Accepted values: "NODE20_PLAYWRIGHT" | "NODE24_PLAYWRIGHT"
script:stringoptional
Playwright Test script to run. Must import from @playwright/test and contain at least one test() block.

Responses

StatusMeaningDescription
200OKModify an OnlineOrNot Check
400Bad RequestValidation error
401UnauthorizedUnauthenticated
403ForbiddenForbidden
404Not FoundCheck not found
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

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' \
  --header 'X-OnlineOrNot-Organisation: string' \
  --data '{"muted":true,"headers":{"Authorization":"Bearer {{API_TOKEN}}"}}'

Response

{
  "result": {
    "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": []
}

Was this page helpful?