DNS Checks
Check records exist
POST /v1/dns/check-records-exist — DNS lookup with "any match" semantics.
POST /v1/dns/check-records-exist
For each record entry, returns match: true if at least one of the
values returned by DNS matches match_against. Use this when you want to
confirm the customer published the right record without rejecting them for
also having other records alongside it.
If you need the stricter "no other records" semantics, see Check records match exactly.
Request
curl -X POST https://api.domainee.dev/v1/dns/check-records-exist \
-H "Authorization: Bearer $DOMAINEE_API_KEY" \
-H "content-type: application/json" \
-d '{
"records": [
{
"address": "shop.acme.com",
"type": "cname",
"match_against": "edge.domainee.dev"
}
]
}'
Body parameters
| Field | Notes |
|---|---|
records[] | Up to 50 entries per request. |
records[].address | The hostname to look up. |
records[].type | One of: a, aaaa, cname, mx, txt, ns, caa. |
records[].match_against | The expected value. Comparison is case-insensitive; trailing dots stripped. |
Response — 200 OK
{
"records": [
{
"address": "shop.acme.com",
"type": "cname",
"match_against": "edge.domainee.dev",
"match": true,
"actual_values": ["edge.domainee.dev"]
}
]
}
Supported record types
type | Looks up | Notes |
|---|---|---|
a | A records | IPv4 |
aaaa | AAAA records | IPv6 |
cname | CNAME | Doesn't follow the chain — returns the immediate CNAME target |
mx | MX records | Format: "<priority> <exchange>" |
txt | TXT records | Each TXT chunk is concatenated into a single string per record |
ns | NS records | |
caa | CAA records | Format: "issue <ca>" / "issuewild <ca>" / "iodef <url>" |
Rate limit
600/hour per workspace. See Rate limits.
Batch as many checks as you can into a single call (up to 50) to stay within the limit.