Skip to content

Verify an email domain

View .md
POST

Re-check the domain's DNS records and refresh its status. 404 only for a domain that is not this project's; 503 verification_unavailable when the check could not run (nothing changed, retry). A domain with no DKIM records (verifiable: false) cannot verify whatever DNS says: verify runs the check (it may recover the records), and when the domain still has none it answers 409 domain_setup_failed with the same setupError the domain carries.

Authorization

  • Authorizationheaderrequired

    Bearer YOUR_API_KEY. Create a key in the dashboard.

Path parameters

  • emailDomainIdstringrequired

Responses

200Re-checked.
  • domainobjectrequired
    7 properties
    • idstringrequired
    • domainstringrequired
    • statusstringrequired

      Overall verification status.

    • dkimStatusstringrequired
    • dnsRecordsobject[]

      DNS records to publish. Present when fetching a single domain or after adding one.

      6 properties
      • typestringrequired

        DNS record type.

      • namestringrequired

        Record host/name to create.

      • valuestringrequired

        Record value.

      • priorityinteger

        Priority (MX records only).

      • purposestringrequired

        What the record is for.

        One ofdkimspfdmarcmail_from
      • requiredbooleanrequired

        Whether the record is required to verify + send (DKIM) or recommended for deliverability.

    • verifiableboolean

      Present with dnsRecords. False when the DKIM records could not be generated: such a domain cannot verify whatever DNS you publish, and setupError says what to do.

    • setupErrorobject

      Present when verifiable is false. recommendation is the same everywhere this domain is refused (POST .../verify, POST /v2/channels): remove the domain and add it again, which sets it up from scratch; contact support if the new one has no dkim record either. It never says to retry verify or to publish the other records.

      3 properties
      • codestring
        One ofdkim_records_unavailable
      • messagestring
      • recommendationstring
401Unauthorized.
  • codestringrequired
  • messagestringrequired
  • detailsobject

    Machine-readable context. Keys that mean the same thing everywhere: - errors: present on every 400 invalid_request for an invalid body or query parameter, [{path, message, ...}], path naming the field (["to"], ["contacts", 2, "recipient"], ["limit"]). - recommendation: one sentence saying what to do next. - dashboardUrl: the dashboard screen that fixes it. - connect: on 409 no_channel, the channels this project can connect to reach the recipient, each {type, request, note, available, dashboardUrl?}; request is the exact call (POST /v2/channels with its body, or POST /v2/numbers), or null for a channel connected from the dashboard (WhatsApp, Instagram, Messenger). available: false says why in note (one-way SMS closed until business verification is approved). - address / from: the address the error is about, under the name the request used for it.

    1 properties
    • errorsobject[]
      3 properties
      • pathobject[]required
      • messagestringrequired
      • codestring
404`Email domain not found`: not a domain of this project.
  • codestringrequired
  • messagestringrequired
  • detailsobject

    Machine-readable context. Keys that mean the same thing everywhere: - errors: present on every 400 invalid_request for an invalid body or query parameter, [{path, message, ...}], path naming the field (["to"], ["contacts", 2, "recipient"], ["limit"]). - recommendation: one sentence saying what to do next. - dashboardUrl: the dashboard screen that fixes it. - connect: on 409 no_channel, the channels this project can connect to reach the recipient, each {type, request, note, available, dashboardUrl?}; request is the exact call (POST /v2/channels with its body, or POST /v2/numbers), or null for a channel connected from the dashboard (WhatsApp, Instagram, Messenger). available: false says why in note (one-way SMS closed until business verification is approved). - address / from: the address the error is about, under the name the request used for it.

    1 properties
    • errorsobject[]
      3 properties
      • pathobject[]required
      • messagestringrequired
      • codestring
409`domain_setup_failed`: the domain has no DKIM records, so it cannot verify (`details.setupError`, `details.recommendation`: remove it and add it again, or contact support).
  • codestringrequired
  • messagestringrequired
  • detailsobject

    Machine-readable context. Keys that mean the same thing everywhere: - errors: present on every 400 invalid_request for an invalid body or query parameter, [{path, message, ...}], path naming the field (["to"], ["contacts", 2, "recipient"], ["limit"]). - recommendation: one sentence saying what to do next. - dashboardUrl: the dashboard screen that fixes it. - connect: on 409 no_channel, the channels this project can connect to reach the recipient, each {type, request, note, available, dashboardUrl?}; request is the exact call (POST /v2/channels with its body, or POST /v2/numbers), or null for a channel connected from the dashboard (WhatsApp, Instagram, Messenger). available: false says why in note (one-way SMS closed until business verification is approved). - address / from: the address the error is about, under the name the request used for it.

    1 properties
    • errorsobject[]
      3 properties
      • pathobject[]required
      • messagestringrequired
      • codestring
503`verification_unavailable`: the DNS check could not run. Nothing changed; retry.
  • codestringrequired
  • messagestringrequired
  • detailsobject

    Machine-readable context. Keys that mean the same thing everywhere: - errors: present on every 400 invalid_request for an invalid body or query parameter, [{path, message, ...}], path naming the field (["to"], ["contacts", 2, "recipient"], ["limit"]). - recommendation: one sentence saying what to do next. - dashboardUrl: the dashboard screen that fixes it. - connect: on 409 no_channel, the channels this project can connect to reach the recipient, each {type, request, note, available, dashboardUrl?}; request is the exact call (POST /v2/channels with its body, or POST /v2/numbers), or null for a channel connected from the dashboard (WhatsApp, Instagram, Messenger). available: false says why in note (one-way SMS closed until business verification is approved). - address / from: the address the error is about, under the name the request used for it.

    1 properties
    • errorsobject[]
      3 properties
      • pathobject[]required
      • messagestringrequired
      • codestring