curl --request POST \
--url https://api.dnsradar.dev/monitors \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"record_type": "A",
"expected_value": [
"192.168.1.1"
]
}
'{
"id": "mon_abc123...",
"created": "2023-11-07T05:31:56Z",
"domain": "example.com",
"subdomain": "www",
"record_type": "A",
"expected_value": [
"192.168.1.1"
],
"current_value": [
"192.168.1.1"
],
"is_exact_match": true,
"state": "UNSET",
"incidence_count": 123,
"last_checked": "2023-11-07T05:31:56Z",
"is_active": true,
"notify": "immediately"
}Create a new DNS monitor. Rate limited to 250 requests per minutes.
curl --request POST \
--url https://api.dnsradar.dev/monitors \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"record_type": "A",
"expected_value": [
"192.168.1.1"
]
}
'{
"id": "mon_abc123...",
"created": "2023-11-07T05:31:56Z",
"domain": "example.com",
"subdomain": "www",
"record_type": "A",
"expected_value": [
"192.168.1.1"
],
"current_value": [
"192.168.1.1"
],
"is_exact_match": true,
"state": "UNSET",
"incidence_count": 123,
"last_checked": "2023-11-07T05:31:56Z",
"is_active": true,
"notify": "immediately"
}/monitors/bulk instead.API key used to authenticate yourself on DNSRadar. Obtain your API key from your DNSRadar dashboard.
A, AAAA, CNAME, MX, TXT, NS, PTR, SPF, CAA Expected DNS value(s). Can be a string or array (max 10 values, each max 1000 chars)
["192.168.1.1"]The domain name. Required if full_domain is not provided.
255"example.com"
Subdomain (empty string for apex domain). Used with domain. Ignored if full_domain is provided.
255"www"
Full domain including subdomain (e.g., 'www.example.com'). When provided, domain and subdomain are extracted automatically. Use this OR domain+subdomain, not both.
512"dkim20260101._domainkey.example.com"
If true, the DNS value must match exactly. If false, additional values beyond expected_value are allowed (useful for DNS records that may have multiple values).
Whether the monitor is active and should be checked. Set to false to pause monitoring.
Group slug to assign the monitor to. If the group doesn't exist, it will be created automatically. If not provided, the monitor will be assigned to the default group.
When to start sending webhook notifications. 'immediately' triggers events from first check, 'on_success' starts after monitor enters valid state, 'after_success' starts after first transition from valid to another state.
immediately, on_success, after_success Monitor created
DNS monitoring configuration
Monitor identifier with 'mon_' prefix
"mon_abc123..."
Monitor creation datetime in ISO 8601 format
Domain name to monitor
"example.com"
Subdomain to monitor (empty string for apex)
"www"
DNS record type to monitor
A, AAAA, CNAME, MX, TXT, NS, PTR, SPF, CAA Expected DNS record values (up to 10)
["192.168.1.1"]Current DNS record values
["192.168.1.1"]If set to false, special rules applies depending on the record_type. See documentation for details.
Current monitoring state
UNSET, VALID, INVALID, TIMEOUT, MISMATCH, NOT_FOUND, NO_DATA, BAD_SETUP Number of incidents/changes detected
Datetime of the last check in ISO 8601 format
Whether monitoring is active
Notification timing: 'immediately' notifies as soon as the value changes, 'on_success' notifies only when the value becomes valid, 'after_success' notifies only when the value goes from valid to invalid
immediately, on_success, after_success