MillionSend Docs

/domains

POST
/domains

Request Body

application/json
  1. body
name*string
region?string

SES region of the identity, one of the regions this deployment serves (the values listed here; the first is the default). Any other region is rejected with 422. A domain has one region, fixed when it is added.

Value in"us-east-1""eu-west-1""sa-east-1""ap-northeast-1"
custom_return_path?string
Default"send"
open_tracking?boolean

Inject a tracking pixel served from the tracking subdomain and record email.opened events. Off by default.

click_tracking?boolean

Rewrite links to redirect through the tracking subdomain and record email.clicked events. Off by default.

tracking_subdomain?string

DNS label of the branded tracking host, e.g. "links" for links.. Setting it adds a Tracking CNAME to records[]; links are tracked through it once that CNAME resolves. Required on MillionSend Cloud to turn tracking on.

capabilities?

Resend's domain capabilities; omitted fields keep their value.

Response Body

Domain created

application/json
  1. response
id*string
Formatuuid
name*string
status*string
created_at*string
region*string
open_tracking*boolean
click_tracking*boolean
tracking_subdomain*string
capabilities*
receiving_catch_all*boolean

MillionSend extension: whether mail to an address without an inbox is stored (true) or refused at RCPT (false)

shared*boolean

MillionSend extension: true on the team's subdomain of the shared inbox domain, a read-only row listed after the team's own domains (403 on changes) that POST /inboxes domain_id takes; false on the team's own domains

sending_mode?string

MillionSend extension, on the shared row only: what its inboxes' addresses may send. open starts conversations, reply_only replies inside their threads, receive_only sends nothing. Holds on names still apply per send: an address whose username or from_name imitates a brand, or one on an older label that does, replies only, even when the mode is open.

Value in"open""reply_only""receive_only"
sending_mode_reason?string

MillionSend extension, on the shared row only: what holds sending below open: the team's plan or the instance; null when open

Value in"plan""instance"null
records*array<>
Example Request
curl -X POST 'https://api.millionsend.com/domains' \  -H 'Content-Type: application/json' \  -d '{  "name": "string"}'
Example Response
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "name": "string",  "status": "string",  "created_at": "string",  "region": "string",  "open_tracking": true,  "click_tracking": true,  "tracking_subdomain": "string",  "capabilities": {    "sending": "string",    "receiving": "string"  },  "receiving_catch_all": true,  "shared": true,  "sending_mode": "open",  "sending_mode_reason": "plan",  "records": [    {      "record": "string",      "name": "string",      "type": "string",      "ttl": "string",      "status": "string",      "value": "string",      "priority": 0,      "live": "found",      "detail": "string",      "inherited_from": "string",      "policy": "none"    }  ]}