Generated from Postwind commit a19b2e4 OpenAPI 0.1.0 synced

Domains HTTP API

POST/api/v1/projects/{project_id}/domains/{domain_id}/verify

verify_sending_domain

Checks a sending domain’s DNS records through a resolver now and records the outcome.

Call it
after creating the records, to confirm they are live, or to re-check a domain.
Needs
an admin key with project_id, or a project key with scope write (its own project; the argument is ignored), the domain’s id, and the node to have a usable web.public_url. The domain becomes verified when every check but ptr and tracking_tls is ok, failed otherwise.
Returns
the domain with status and checks (each name, status, detail). The same as POST /api/v1/projects/{project_id}/domains/{domain_id}/verify.

Arguments

  • object
  • domain_idstring · uuidrequired

    The domain’s id, as add_sending_domain or list_sending_domains gave it.

  • project_idstring · uuid | null

    The domain’s project. An admin key must pass it; a project key’s own project is used and this is ignored.

No other arguments are accepted.

Result

The result comes back as structuredContent, with the same JSON as a text block.

  • object · all fields required
  • bounce_subdomainstring
  • checksarray of DomainCheck

    One entry per check that ran, in the canonical order; empty until the domain is first verified.

    3 fields
    • DomainCheck object · all fields required
    • detailstring | null

      What was found instead of what was expected; null when ok.

    • namestring

      spf_bounce, mx_bounce, dkim, dmarc, tracking_cname, tracking_tls or ptr.

    • How one verification check came out.

      ok The required record is present and matches.

      missing No record of this kind is in DNS yet.

      mismatch A record is there, but not the one Postwind needs.

      warning Not ok, but it does not fail the domain (ptr).

  • created_atstring · date-time
  • dkim_public_keystring

    The DKIM public key: base64 of its DER SubjectPublicKeyInfo, the p= of the DKIM record.

  • dkim_selectorstring
  • dns_providerDnsProviderOutput

    Who applies a domain’s DNS records.

    porkbun Porkbun’s API.

    manual Nobody: the records are for entry by hand.

  • domainstring

    In punycode for an international name.

  • idstring · uuid
  • ip_poolstring
  • last_checked_atstring · date-time | null

    When the records were last checked; null until then.

  • project_idstring · uuid
  • Where a sending domain stands.

    pending Its records are not checked yet, or changed since.

    verified Every required record checked out.

    failed A required record is missing or wrong.

  • tracking_hoststring | null

    null: none.

  • updated_atstring · date-time

Definitions

CheckStatusOutput

How one verification check came out.

string · enum

ok The required record is present and matches.

missing No record of this kind is in DNS yet.

mismatch A record is there, but not the one Postwind needs.

warning Not ok, but it does not fail the domain (ptr).

DnsProviderOutput

Who applies a domain’s DNS records.

string · enum

porkbun Porkbun’s API.

manual Nobody: the records are for entry by hand.

DomainCheck

One verification check.

  • object · all fields required
  • detailstring | null

    What was found instead of what was expected; null when ok.

  • namestring

    spf_bounce, mx_bounce, dkim, dmarc, tracking_cname, tracking_tls or ptr.

  • How one verification check came out.

    ok The required record is present and matches.

    missing No record of this kind is in DNS yet.

    mismatch A record is there, but not the one Postwind needs.

    warning Not ok, but it does not fail the domain (ptr).

DomainStatusOutput

Where a sending domain stands.

string · enum

pending Its records are not checked yet, or changed since.

verified Every required record checked out.

failed A required record is missing or wrong.

Errors

A failed call answers isError: true with a code from the same table as the HTTP API, and detail. How tools report errors

HTTP API

The same operation over HTTP: POST /api/v1/projects/{project_id}/domains/{domain_id}/verify