Create a DNS record monitor.
const url = 'https://api.siteqwality.com/v1/dns-record-monitors';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"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"],"service_id":"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 POST \ --url https://api.siteqwality.com/v1/dns-record-monitors \ --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" ], "service_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters ”Makes a retry safe: the same key and body within 24 hours returns the first response with Idempotent-Replayed: true. The same key with another body is refused with 422 idempotency_key_reused, and one still running with 409 idempotency_key_in_use.
Request Body required
Section titled “Request Body required ”object
The zone to watch. Normalized to lowercase without a trailing dot.
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.
Omit to take the default set: the apex A, AAAA, MX, NS, TXT and
CAA, plus www CNAME and A.
object
Notification groups to alert. Left out or null: the account’s default group. []: notify no one.
The service this monitor belongs to.
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" ], "service_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}Responses
Section titled “ Responses ”The monitor. warnings lists alert sources a channel in its groups cannot reach
A DNS record monitor as the api returns it.
object
object
pending | baselined | changed | unreachable.
Deliberately never success: a monitor that has never run says so
instead of claiming to be fine.
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.
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" ]}Headers
Section titled “Headers ”true when this is the stored first response
Invalid request body
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}Missing or invalid credentials
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}The plan’s DNS monitor limit is reached
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}The check interval is below the free plan’s floor
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}A monitor already watches this domain
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}Too many requests; wait for the time in Retry-After
An RFC 9457 problem, the body of every /v1 error.
object
https://docs.siteqwality.com/errors/ and the failure’s code, such as not_found.
urn:uuid: and the request id.
The invalid fields, when the request body was refused.
One validation failure; pointer is an RFC 6901 pointer into the request body.
object
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": [ { "pointer": "example", "detail": "example" } ]}