Domains

Refresh a sending domain's verification state

Re-read this domain's state from SES and DNS and return the refreshed document.

This does NOT perform verification. Verification happens in the domain's own DNS, when its owner publishes the DKIM records SES minted at creation; Amazon decides when they resolve. What this call does is ask SES what it currently sees, re-check SPF and DMARC, and persist the answer — so a caller polling after a DNS change learns the outcome without waiting for the periodic sweep. Calling it on a domain whose records are not published yet is not an error and does not make it verify any sooner.

A POST rather than a GET because it writes: the refreshed state is persisted, and a verified/unverified transition notifies the project.

Requires the domains:write scope — Add and remove sending domains, and trigger verification.

post/api/v1/domains/{id}/verify

Request

  • Base URL: https://api.sendly.now
  • URL: https://api.sendly.now/api/v1/domains/{id}/verify
  • Auth: one of:
    • HTTP bearer
    • API key in cookie better-auth.session_token
    • OAuth 2 (authorization code, authorization URL https://app.sendly.now/api/auth/oauth2/authorize, token URL https://app.sendly.now/api/auth/oauth2/token, scopes: domains:write)

Path parameters

idstring uuid required

Resource id.

Response

The sending domain, as SES and DNS now report it

created_atstring date-time required
default_from_addressstring nullable required
default_from_namestring nullable required

The display name recipients see beside any address on this domain when a send names none. null falls back to the project name.

dkim_verifiedboolean required
domainstring required
idstring uuid required
mail_from_domainstring nullable required
mail_from_domain_statusstring nullable required

SES's CustomMailFromStatus for mail_from_domain — the subdomain that carries the bounce path, NOT the status of any From address.

regionstring nullable required
stream'TRANSACTIONAL' | 'MARKETING' nullable required

Which traffic a sending identity carries. An identity with no stream serves both, which is how every domain added before per-stream identities behaves.

stream_defaultboolean required
updated_atstring date-time required
verifiedboolean required

Changes

No recorded changes to this operation across all 1 revision of this API.