Skip to content

Domains

DomainsService manages domain configuration for email sending via AWS SES. Use this service to register, verify, and manage domains that can send emails. Getting Started: 1. Call AddDomain() to register a domain 2. Call GetDomain(includeValidation=true) to see required DNS records 3. Configure DNS records in your provider (or use ApplyDomainRecords for Route53) 4. Poll GetDomain() until verification_status is SUCCESS 5. Domain is ready to send emails once both verification_status and dkim_status are SUCCESS

Base path: /domains

AddDomain creates a new domain in AWS SES for email sending.

Request (AddDomainRequest)

FieldTypeDescription
domainstringdomain: The domain to add (e.g., “mail.example.com”). Must be a valid FQDN.
dmarc_policyDMARCPolicyType?dmarc_policy: Optional DMARC policy to set (defaults to NONE for new domains)
dmarc_report_emailstring?dmarc_report_email: Optional email for DMARC failure reports
send_enabledbool?send_enabled: Whether this domain should be configured for sending (default true)
receive_enabledbool?receive_enabled: Whether this domain should be configured for receiving (default false)
dmarc_enabledbool?dmarc_enabled: Whether to recommend/apply DMARC record (default true)
spf_modeSPFMode?spf_mode: SPF handling mode (default CREATE_IF_MISSING)
spf_valuestring?spf_value: Optional SPF record value (used with FORCE_VALUE)

Response (AddDomainResponse)

FieldTypeDescription
domainDomain

GetDomain retrieves domain information and optionally DNS validation records.

Request (GetDomainRequest)

FieldTypeDescription
idstring
include_dns_validationbool?include_dns_validation: Set to true to receive DNS validation snapshot

Response (GetDomainResponse)

FieldTypeDescription
domainDomain

ListDomains returns all domains configured for the account.

Request (ListDomainsRequest)

FieldTypeDescription
page_sizeint32?page_size: Maximum number of domains to return per page (default: 50, max: 100)
page_tokenstring?page_token: Token from previous response to retrieve the next page

Response (ListDomainsResponse)

FieldTypeDescription
domainsDomain[]
next_page_tokenstringnext_page_token: Token to pass to next ListDomainsRequest for additional results Empty string means no more results

UpdateDomain modifies domain settings like DMARC policy.

Request (UpdateDomainRequest)

FieldTypeDescription
idstring
dmarc_policyDMARCPolicyType?dmarc_policy: New DMARC policy type
dmarc_report_emailstring?dmarc_report_email: New email address for DMARC reports
send_enabledbool?
receive_enabledbool?
dmarc_enabledbool?
spf_modeSPFMode?
spf_valuestring?

Response (UpdateDomainResponse)

FieldTypeDescription
domainDomain

RemoveDomain deletes a domain and stops sending from this address.

Request (RemoveDomainRequest)

FieldTypeDescription
idstring

Response (RemoveDomainResponse)

No fields.

CheckDNSProvider checks if Route53 DNS automation is available.

Request (CheckDNSProviderRequest)

FieldTypeDescription
idstring

Response (CheckDNSProviderResponse)

FieldTypeDescription
has_accessboolhas_access: True if Route53 access is available for this domain
provider_typeDNSProviderType?provider_type: The DNS provider type (if available)
route53Route53HostedZone?route53: Route53 hosted zone details (if provider is Route53)

ApplyDomainRecords automatically creates DNS records in Route53.

Request (ApplyDomainRecordsRequest)

FieldTypeDescription
idstring

Response (ApplyDomainRecordsResponse)

FieldTypeDescription
dns_apply_stateDNSApplyState?dns_apply_state: Updated automation apply state
dns_validationDNSValidationResult?dns_validation: Current DNS validation snapshot after applying records
records_failedstring[]records_failed: List of record names that failed to create (if any)

SendTestEmail sends a test email from a verified domain.

Request (SendTestEmailRequest)

FieldTypeDescription
from_emailstring?from_email: Verified sender email address (optional if id provided)
idstring?id: Domain ID - use test@{domain} as sender (optional if from_email provided)
to_emailstring?to_email: Recipient email address (required only for NORMAL test type; ignored for simulator types)
test_typeTestEmailTypetest_type: Type of test to perform
message_classcommon.v1.MessageClass?message_class: Category of email for tracking (optional, defaults to TRANSACTIONAL)

Response (SendTestEmailResponse)

FieldTypeDescription
message_idstringmessage_id: SES message ID for tracking
notestringnote: Information about the test (e.g., simulator address used)
submission_idstring?submission_id: EmailSubmission ID (standard async send pipeline) When sending via the normal JMAP submission flow, SES message ID is not known synchronously. Use submission_id to track status until SES message ID is populated.