Skip to content

Create a DNS record monitor.

POST
/dns/record-monitor
curl --request POST \
--url https://api.siteqwality.com/dns/record-monitor \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "domain": "example", "friendly_name": "example", "http_job_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "watched": [ {} ], "interval_seconds": 1, "group_notification_ids": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'

Opt-in only. A record monitor is deliberately NOT auto-created alongside an HTTP monitor: doing that for every existing domain would start an hourly zone query for customers who never asked, establish baselines nobody reviewed, and silently change every monitor count.

Media type application/json
object
domain
required

The zone to watch. Normalised to lowercase without a trailing dot.

string
friendly_name
string | null
http_job_id

Optional grouping only. This is NOT a 1:1 pairing: a zone can be watched without a website, which is the whole reason this is a separate monitor type from the domain-expiry check.

string | null format: uuid
watched

Omit to take the default set: the apex A, AAAA, MX, NS, TXT and CAA, plus www CNAME and A.

array | null
object
interval_seconds
integer | null format: int32
group_notification_ids
array | null
Example generated
{
"domain": "example",
"friendly_name": "example",
"http_job_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"watched": [
{}
],
"interval_seconds": 1,
"group_notification_ids": [
"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
]
}

DNS monitor created

Invalid request body

Missing or invalid authentication

DNS monitor limit reached for the account’s plan

Check interval below the free-tier floor

A monitor already watches this domain

Internal server error