Generated from Postwind commit a19b2e4 OpenAPI 0.1.0 synced

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

Needs scope: writeIdempotency-KeyMCP tool: verify_sending_domain operationId verify_sending_domain

Verify a sending domain

Checks the domain’s DNS records through the resolver now and records the outcome: the domain becomes verified when every check but ptr and tracking_tls is ok, failed otherwise. The answer is the domain with its checks. Needs scope write.

Parameters

NameInTypeDescription
project_idrequired path string · uuid The project’s id
domain_idrequired path string · uuid The domain’s id
Idempotency-Key header string

1–128 characters · pattern ^[!-~]{1,128}$

A key of the client’s choosing, one per request it means to send once (a UUID will do). A repeat with the same key and the same body within 24 h creates nothing again and gets the first answer, marked Idempotent-Replayed: true. The key belongs to the API key that sent it. Only a 2xx answer is kept: after any other answer the key is free again.

Request body

None.

Responses

200

The domain with its checks and new status

HeaderTypeDescription
Idempotent-Replayedstring · enumtrue when the answer is a replay of an earlier request with the same Idempotency-Key; absent otherwise.
  • SendingDomain object · all fields required
  • bounce_subdomainstring

    example bounce.news.example.com

  • 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.

      example dkim

    • How one verification check came out.

      • ok
      • missing
      • mismatch
      • warning
  • created_atstring · date-time
  • dkim_public_keystring

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

  • dkim_selectorstring

    example pw1

  • dns_providerDnsProvider

    Who applies a domain’s DNS records.

    • porkbun
    • manual
  • domainstring

    In punycode for an international name.

    example news.example.com

  • idstring · uuid

    example 01900000-0000-7000-8000-000000000001

  • ip_poolstring

    example default

  • last_checked_atstring · date-time | null

    When the records were last checked (RFC 3339); null until then.

  • project_idstring · uuid
  • Where a sending domain stands.

    • pending
    • verified
    • failed
  • tracking_hoststring | null

    null: none.

  • updated_atstring · date-time

403

A project key without scope write (forbidden)

Problem (application/problem+json)

404

No such project or domain in it, or another project’s (not_found)

Problem (application/problem+json)

409

A request with the same Idempotency-Key has not answered yet (idempotency_key_in_progress)

Problem (application/problem+json)

422

The node has no usable web.public_url, or no longer declares the domain’s IP pool (precondition_failed); or the Idempotency-Key was used in the last 24 h for another request (idempotency_key_reused), or is not 1 to 128 visible ASCII characters (validation_failed, field Idempotency-Key)

Problem (application/problem+json)

429

The key is over its rate limit, api.rate_limit_per_minute requests a minute on this node (rate_limited)

HeaderTypeDescription
Retry-AfterintegerSeconds until the key’s next request passes; rounded up.

Problem (application/problem+json)

504

Postwind’s storage did not answer within its time limit (storage_timeout). A change the request makes may still take effect: check before repeating it. A repeat with the same Idempotency-Key never runs it twice: it is 409 idempotency_key_in_progress until the key’s 24 h end

Problem (application/problem+json)