POST/v1/checks/browser

Create a browser check

Create a new browser check using Playwright

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

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 load for URL-based browser checks. Optional when script is provided.
text_to_search_for:stringoptional
Text to search for in the response
type:stringoptional
Accepted values: "BROWSER_CHECK"
Default: "BROWSER_CHECK"
headers:objectoptional
Headers to send with the browser request. Environment variable references are not supported.
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. Optional when url is provided.

Responses

StatusMeaningDescription
201CreatedCreate a new OnlineOrNot Browser Check
400Bad RequestValidation error
401UnauthorizedUnauthenticated
403ForbiddenForbidden
500Internal Server ErrorInternal Server Error

Response Schema

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

Request

POST
/v1/checks/browser
curl --request POST \
  --url https://api.onlineornot.com/v1/checks/browser \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"name":"Homepage browser check","url":"https://example.com","test_interval":60}'

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": 10000,
    "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"
    ],
    "version": "NODE24_PLAYWRIGHT",
    "check_type": "BROWSER"
  },
  "success": true,
  "errors": [],
  "messages": []
}

GET/v1/checks/browser/{check_id}

Retrieve a browser check

Look up detailed information about a specific browser 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

StatusMeaningDescription
200OKRetrieve the specified OnlineOrNot Browser Check
400Bad RequestInvalid request
401UnauthorizedUnauthenticated
403ForbiddenForbidden
404Not FoundBrowser check not found
500Internal Server ErrorInternal Server Error

Response Schema

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

Request

GET
/v1/checks/browser/{check_id}
curl --request GET \
  --url https://api.onlineornot.com/v1/checks/browser/a1b2c3d4 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

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": 10000,
    "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"
    ],
    "version": "NODE24_PLAYWRIGHT",
    "check_type": "BROWSER"
  },
  "success": true,
  "errors": [],
  "messages": []
}

PATCH/v1/checks/browser/{check_id}

Modify a browser check

Modify the configuration of an existing browser 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

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
headers:objectoptional
Headers to send with the browser request. Environment variable references are not supported.
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

StatusMeaningDescription
200OKModify an OnlineOrNot Browser Check
400Bad RequestValidation error
401UnauthorizedUnauthenticated
403ForbiddenForbidden
404Not FoundBrowser check not found
500Internal Server ErrorInternal Server Error

Response Schema

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

Request

PATCH
/v1/checks/browser/{check_id}
curl --request PATCH \
  --url https://api.onlineornot.com/v1/checks/browser/a1b2c3d4 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}' \
  --header 'Content-Type: application/json' \
  --data '{"name":"My monitor","test_interval":60,"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"],"webhook_alerts":["string"],"oncall_alerts":["string"],"alert_priority":"LOW","confirmation_period_seconds":60,"recovery_period_seconds":180,"reminder_alert_interval_minutes":1440,"timeout":10000,"paused":false,"muted":false,"url":"https://example.com","text_to_search_for":"Example Domain","headers":{"X-My-Header":"My Value"},"method":"GET","body":"Hello World","follow_redirects":true,"assertions":[{"type":"JSON_BODY","property":"$.data.name","comparison":"EQUALS","expected":"John Doe"}],"verify_ssl":false,"auth_username":"username","auth_password":"password","version":"NODE24_PLAYWRIGHT","script":"import { test, expect } from '\''@playwright/test'\'';\ntest('\''check homepage'\'', async ({ page }) => {\n  await page.goto('\''https://example.com'\'');\n  await expect(page.locator('\''h1'\'')).toContainText('\''Example'\'');\n});"}'

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": 10000,
    "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"
    ],
    "version": "NODE24_PLAYWRIGHT",
    "check_type": "BROWSER"
  },
  "success": true,
  "errors": [],
  "messages": []
}

DELETE/v1/checks/browser/{check_id}

Delete a browser check

Permanently delete a browser 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

StatusMeaningDescription
200OKReturns the deleted OnlineOrNot Browser Check's ID
400Bad RequestValidation error
401UnauthorizedUnauthenticated
403ForbiddenForbidden
404Not FoundBrowser check 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/browser/{check_id}
curl --request DELETE \
  --url https://api.onlineornot.com/v1/checks/browser/a1b2c3d4 \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Response

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

GET/v1/checks/browser/{check_id}/incidents

Review recent failures and recoveries for a specific browser check

List incidents for a browser check. Use from and to to include incidents that overlap the time range. Results are sorted by start time, then ID, newest first. Timestamps accept up to three decimal places for seconds. Pagination accepts safe integers, including the calculated offset. The per_page limit is 100.

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
Public check ID

Query parameters

page:integeroptional
Page number of paginated results
Default: 1
per_page:integeroptional
Number of records per page, from 1 through 100
Default: 20
from:string(date-time)optional
Inclusive start of the requested time range
to:string(date-time)optional
Exclusive end of the requested time range. Must be later than from when both are provided.

Responses

StatusMeaningDescription
200OKA page of incidents for the check
400Bad RequestInvalid query parameters
401UnauthorizedUnauthenticated
403ForbiddenForbidden
404Not FoundCheck not found
500Internal Server ErrorInternal server error

Response Schema

success:boolean
true
result:object[]
result_info:object
errors:array
messages:array

Request

GET
/v1/checks/browser/{check_id}/incidents
curl --request GET \
  --url https://api.onlineornot.com/v1/checks/browser/a1b2c3d4/incidents \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Response

{
  "success": true,
  "result": [
    {
      "id": "string",
      "check_id": "string",
      "started_at": "2019-08-24T14:15:22Z",
      "ended_at": "2019-08-24T14:15:22Z"
    }
  ],
  "result_info": {
    "page": 0,
    "per_page": 1,
    "count": 0,
    "total_count": 0
  },
  "errors": [
    null
  ],
  "messages": [
    null
  ]
}

GET/v1/checks/browser/{check_id}/results

Review raw browser check results over a bounded time range

List results for a browser check. Set to later than from. The time range cannot exceed seven days. Timestamps accept up to three decimal places for seconds. Use positive safe integers for page and per_page. The calculated offset must also be a safe integer. The per_page limit is 100.

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
Public check ID

Query parameters

page:integeroptional
Page number of paginated results
Default: 1
per_page:integeroptional
Number of records per page, from 1 through 100
Default: 20
from:string(date-time)
Inclusive start of the requested time range
to:string(date-time)
Exclusive end of the requested time range

Responses

StatusMeaningDescription
200OKA chronological page of raw check results
400Bad RequestInvalid query parameters
401UnauthorizedUnauthenticated
403ForbiddenForbidden
404Not FoundCheck not found
500Internal Server ErrorInternal server error
503Service UnavailableRequired result storage unavailable

Response Schema

success:boolean
true
result:object
errors:array
messages:array

Request

GET
/v1/checks/browser/{check_id}/results
curl --request GET \
  --url 'https://api.onlineornot.com/v1/checks/browser/a1b2c3d4/results?from=2026-08-25T10%3A00%3A00Z&to=2026-08-25T11%3A00%3A00Z' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {access-token}'

Response

{
  "success": true,
  "result": {
    "check_id": "string",
    "check_type": "BROWSER",
    "window": {
      "from": "2019-08-24T14:15:22Z",
      "to": "2019-08-24T14:15:22Z"
    },
    "results": [
      {
        "id": "string",
        "checked_at": "2019-08-24T14:15:22Z",
        "checked_from": "aws:us-east-1",
        "passing": true,
        "response_time_ms": 0,
        "attempt_number": 0,
        "is_final_attempt": true,
        "dispatched_at_ms": 0,
        "response_body": "string",
        "body_availability": "AVAILABLE",
        "response_code": 100,
        "result_summary": "string",
        "has_stored_response": true
      }
    ],
    "result_info": {
      "page": 0,
      "per_page": 1,
      "count": 0,
      "total_count": 0
    }
  },
  "errors": [
    null
  ],
  "messages": [
    null
  ]
}

Was this page helpful?