Get the DNS records to publish

GET/api/v1/domains/{domain}/dns-records
Requires anorganization API keywith the scopedomains:read

The records this domain needs, with their current observed state.

Sending needs SPF and DKIM; MX is only needed to receive. Mailyte tracks those separately (dns_verified and mx_verified) precisely so a customer who sends through us but keeps their mailboxes elsewhere is not blocked on an MX record they must not publish.

Parameters

NameInTypeDescription
domainrequiredpathstringThe domain id, or the domain name itself.

Request

GET/api/v1/domains/{domain}/dns-records
curl -X GET 'https://app.mailyte.com/api/v1/domains/yourdomain.com/dns-records' \
  -H 'Authorization: Bearer mk_live_YOUR_API_KEY'
The key names its own organization, so no X-Organization-ID header is needed.

Response

Success.

  • dataobject
    • objectstringdns_records
    • domainstring

      The domain these records belong to.

    • recordsarray<object>

      Every record to publish, required and optional together. Read `required_for` to tell them apart.

      • purposestringspf | dkim | mx | dmarc | autodiscover | autoconfig | _autodiscover

        What the record is for. Joins to `checks` on the verification endpoint for the four that are checked. Never null: every record this endpoint builds is built with its purpose, and a record whose purpose could not be named would not be publishable advice. The set is closed -- a value outside it is a bug, not a new record type to guess at.

      • typestringtxt | mx | cname | srv | a

        The DNS record type, lowercased. DNS is case-insensitive about these, so it can be pasted into any console as-is.

      • namestring

        The fully qualified name to create.

      • valuestring

        The value, verbatim. Do not reformat it.

      • priorityinteger

        MX and SRV only. Null where the type has no priority -- not 0, which is a real and highest priority.

      • required_forstringsending | receiving

        Which capability this record unlocks. Null means optional: recommended, or a mail-client convenience, but nothing stops working without it.

      • descriptionstring

        One line explaining what this record does, safe to show a customer. Never null -- every record is built with one. It explains the record's PURPOSE and says nothing about whether it has been published or has passed; that is `GET /domains/{domain}/verification-status`.

    • fetched_atstring

      When these values were last read from the mail server. They change rarely; null means they have never been fetched.

Returned inside the standard envelope.

Errors

StatusWhen
401The API key is missing, unknown, revoked or expired. All four answer identically, on purpose: distinguishing them would confirm which keys exist.
403The key is valid but may not do this: it lacks the required scope, its IP allowlist does not include you, or this endpoint does not accept API keys.
404No such resource in this organization.
422The request was understood but the values were not acceptable.
429Too many requests, or the organization has spent its sending allowance. `Retry-After` says how long to wait.

Every status, with what causes it and what to do, is on the error reference.