Edit a DNS record monitor.
PUT
/dns/record-monitor/{monitor_id}
const url = 'https://api.siteqwality.com/dns/record-monitor/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"friendly_name":"example","watched":[{}],"interval_seconds":1,"paused":true,"group_notification_ids":["2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api.siteqwality.com/dns/record-monitor/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "friendly_name": "example", "watched": [ {} ], "interval_seconds": 1, "paused": true, "group_notification_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” monitor_id
required
string format: uuid
DNS monitor identifier
Request Body required
Section titled “Request Body required ” Media type application/json
object
friendly_name
string | null
watched
array | null
object
interval_seconds
integer | null format: int32
paused
boolean | null
group_notification_ids
array | null
Example generated
{ "friendly_name": "example", "watched": [ {} ], "interval_seconds": 1, "paused": true, "group_notification_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ]}Responses
Section titled “ Responses ”The updated DNS monitor
Media type application/json
A DNS record monitor as the api returns it.
object
id
required
string format: uuid
account_id
required
string format: uuid
http_job_id
string | null format: uuid
created_at
required
string format: date-time
friendly_name
string | null
domain
required
string
watched
required
Array<object>
object
interval_seconds
required
integer format: int32
paused
required
boolean
current_status
required
pending | baselined | changed | unreachable.
Deliberately never success: a monitor that has never run says so
instead of claiming to be fine.
string
last_run_at
string | null format: date-time
last_status_change_at
string | null format: date-time
last_failure_reason
When set, everything displayed for this monitor is LAST KNOWN, not current: a failed check keeps the previous values rather than nulling them, so this field is what makes the staleness legible.
string | null
last_failure_at
string | null format: date-time
group_notification_ids
required
Array<string>
Example generated
{ "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "account_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "http_job_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "created_at": "2026-04-15T12:00:00Z", "friendly_name": "example", "domain": "example", "watched": [ {} ], "interval_seconds": 1, "paused": true, "current_status": "example", "last_run_at": "2026-04-15T12:00:00Z", "last_status_change_at": "2026-04-15T12:00:00Z", "last_failure_reason": "example", "last_failure_at": "2026-04-15T12:00:00Z", "group_notification_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ]}Invalid request body
Missing or invalid authentication
DNS monitor limit reached for the account’s plan
Check interval below the free-tier floor
DNS monitor not found
Internal server error