Create a DNS check
Create a new DNS check to monitor DNS records
Requires UPTIME_CHECKS:EDIT.
Header parameters
Body parameters
Responses
| Status | Meaning | Description |
|---|---|---|
| 201 | Created | Create a new OnlineOrNot DNS Check |
| 400 | Bad Request | Validation error |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
Request
curl --request POST \
--url https://api.onlineornot.com/v1/checks/dns \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"name":"DNS for example.com","dns_domain":"example.com","dns_record_type":"A","test_interval":60}'
Response
{
"result": {
"id": "a1b2c3d4",
"name": "My landing page",
"last_queued": "2021-01-01T00:00:00.000Z",
"status": "UP",
"reminder_alert_interval_minutes": 1440,
"confirmation_period_seconds": 60,
"recovery_period_seconds": 180,
"test_interval": 60,
"timeout": 0,
"alert_priority": "HIGH",
"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": "DNS",
"url": null,
"version": "NODE24_DNS",
"dns_domain": "example.com",
"dns_record_type": "A",
"dns_resolver": "8.8.8.8:53",
"dns_protocol": "UDP",
"assertions": [
{
"type": "DNS_JSON_ANSWER",
"property": "$.answers[0].data",
"comparison": "EQUALS",
"expected": "93.184.216.34"
}
]
},
"success": true,
"errors": [],
"messages": []
}
Retrieve a DNS check
Look up detailed information about a specific DNS check
Requires UPTIME_CHECKS:READ.
Header parameters
Path parameters
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Retrieve the specified OnlineOrNot DNS 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 | DNS check not found |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
Request
curl --request GET \
--url https://api.onlineornot.com/v1/checks/dns/a1b2c3d4 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": {
"id": "a1b2c3d4",
"name": "My landing page",
"last_queued": "2021-01-01T00:00:00.000Z",
"status": "UP",
"reminder_alert_interval_minutes": 1440,
"confirmation_period_seconds": 60,
"recovery_period_seconds": 180,
"test_interval": 60,
"timeout": 0,
"alert_priority": "HIGH",
"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": "DNS",
"url": null,
"version": "NODE24_DNS",
"dns_domain": "example.com",
"dns_record_type": "A",
"dns_resolver": "8.8.8.8:53",
"dns_protocol": "UDP",
"assertions": [
{
"type": "DNS_JSON_ANSWER",
"property": "$.answers[0].data",
"comparison": "EQUALS",
"expected": "93.184.216.34"
}
]
},
"success": true,
"errors": [],
"messages": []
}
Modify a DNS check
Modify the configuration of an existing DNS check
Requires UPTIME_CHECKS:EDIT.
Header parameters
Path parameters
Body parameters
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Modify an OnlineOrNot DNS Check |
| 400 | Bad Request | Validation error |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 404 | Not Found | DNS check not found |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
Request
curl --request PATCH \
--url https://api.onlineornot.com/v1/checks/dns/a1b2c3d4 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}' \
--header 'Content-Type: application/json' \
--data '{"dns_domain":"example.org","dns_record_type":"TXT","dns_resolver":"1.1.1.1:53","dns_protocol":"TCP"}'
Response
{
"result": {
"id": "a1b2c3d4",
"name": "My landing page",
"last_queued": "2021-01-01T00:00:00.000Z",
"status": "UP",
"reminder_alert_interval_minutes": 1440,
"confirmation_period_seconds": 60,
"recovery_period_seconds": 180,
"test_interval": 60,
"timeout": 0,
"alert_priority": "HIGH",
"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": "DNS",
"url": null,
"version": "NODE24_DNS",
"dns_domain": "example.com",
"dns_record_type": "A",
"dns_resolver": "8.8.8.8:53",
"dns_protocol": "UDP",
"assertions": [
{
"type": "DNS_JSON_ANSWER",
"property": "$.answers[0].data",
"comparison": "EQUALS",
"expected": "93.184.216.34"
}
]
},
"success": true,
"errors": [],
"messages": []
}
Delete a DNS check
Permanently delete a DNS check
Requires UPTIME_CHECKS:EDIT.
Header parameters
Path parameters
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | Returns the deleted OnlineOrNot DNS Check's ID |
| 400 | Bad Request | Validation error |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 404 | Not Found | DNS check not found |
| 500 | Internal Server Error | Internal Server Error |
Response Schema
Request
curl --request DELETE \
--url https://api.onlineornot.com/v1/checks/dns/a1b2c3d4 \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {access-token}'
Response
{
"result": {
"id": "a1b2c3d4"
},
"success": true,
"errors": [],
"messages": []
}
Review recent failures and recoveries for a specific DNS check
List incidents for a DNS 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
Path parameters
Query parameters
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | A page of incidents for the check |
| 400 | Bad Request | Invalid query parameters |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 404 | Not Found | Check not found |
| 500 | Internal Server Error | Internal server error |
Response Schema
Request
curl --request GET \
--url https://api.onlineornot.com/v1/checks/dns/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
]
}
Review raw DNS check results over a bounded time range
List results for a DNS 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
Path parameters
Query parameters
Responses
| Status | Meaning | Description |
|---|---|---|
| 200 | OK | A chronological page of raw check results |
| 400 | Bad Request | Invalid query parameters |
| 401 | Unauthorized | Unauthenticated |
| 403 | Forbidden | Forbidden |
| 404 | Not Found | Check not found |
| 500 | Internal Server Error | Internal server error |
| 503 | Service Unavailable | Required result storage unavailable |
Response Schema
Request
curl --request GET \
--url 'https://api.onlineornot.com/v1/checks/dns/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": "DNS",
"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",
"dns_status": "string",
"failure_source": "TRANSPORT",
"failure_type": "string",
"resolver": "string",
"parsed_response": "string"
}
],
"result_info": {
"page": 0,
"per_page": 1,
"count": 0,
"total_count": 0
}
},
"errors": [
null
],
"messages": [
null
]
}