Check DNS API
- Table of Contents
- Overview
- Get DNS Status
This feature is only available on GreenArrow CloudMTA.
Overview
The Check DNS API looks up the current DNS verification status for a given domain, returning detailed per-record results for any matching Sending Domain or Shared Tracking Domain. It can optionally trigger an immediate DNS recheck rather than returning the data from the last scheduled check.
GreenArrow automatically checks DNS every 15 minutes. Use the recheck_now parameter to request an immediate check when you need up-to-date results.
Get DNS Status
GET /ga/api/v3/eng/check_dns/{domain}
The {domain} is looked up case-insensitively against both Sending Domains and Shared Tracking Domains. A 404 is returned if neither a Sending Domain nor a Shared Tracking Domain matches the given domain.
Parameters
|
domain
string /required |
The domain name to look up. Provided as the URL path parameter. |
|
recheck_now
integer /optional |
Pass |
Response
|
sending_domain
hash or null The Sending Domain matching
|
|||||||||||||||||||||||||||||||
|
shared_tracking_domain
hash or null |
The Shared Tracking Domain matching |
||||||||||||||||||||||||||||||
Example: Sending Domain with All Records Verified
GET /ga/api/v3/eng/check_dns/example.com?recheck_now=1
HTTP/1.1 200 OK
{
"sending_domain": {
"id": 1,
"domain": "example.com",
"dns_verified": true,
"dns_regression": false,
"wanted_dns_records": [
{
"bind": "trk.example.com. IN CNAME trk.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "trk.example.com",
"value": "trk.abc123def456.dnsforemail.com",
"verified": true,
"cname_flattening_detected": false
},
{
"bind": "ga1._domainkey.example.com. IN CNAME ga1.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "ga1._domainkey.example.com",
"value": "ga1.abc123def456.dnsforemail.com",
"verified": true,
"cname_flattening_detected": false
},
{
"bind": "ga2._domainkey.example.com. IN CNAME ga2.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "ga2._domainkey.example.com",
"value": "ga2.abc123def456.dnsforemail.com",
"verified": true,
"cname_flattening_detected": false
}
],
"unwanted_dns_records": []
},
"shared_tracking_domain": null
}
Example: Sending Domain with Pending Records
GET /ga/api/v3/eng/check_dns/example.com
HTTP/1.1 200 OK
{
"sending_domain": {
"id": 1,
"domain": "example.com",
"dns_verified": false,
"dns_regression": false,
"wanted_dns_records": [
{
"bind": "trk.example.com. IN CNAME trk.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "trk.example.com",
"value": "trk.abc123def456.dnsforemail.com",
"verified": false,
"cname_flattening_detected": false
},
{
"bind": "ga1._domainkey.example.com. IN CNAME ga1.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "ga1._domainkey.example.com",
"value": "ga1.abc123def456.dnsforemail.com",
"verified": true,
"cname_flattening_detected": false
},
{
"bind": "ga2._domainkey.example.com. IN CNAME ga2.abc123def456.dnsforemail.com.",
"type": "CNAME",
"name": "ga2._domainkey.example.com",
"value": "ga2.abc123def456.dnsforemail.com",
"verified": false,
"cname_flattening_detected": false
}
],
"unwanted_dns_records": []
},
"shared_tracking_domain": null
}
