domains
6 operations
GET/v1/domains
Email domains of a workspace's brand: its own profile and, for agencies, the default.
/v1/domainsAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
workspace_idqueryrequired | string |
Response 200
| Name | Type | Description |
|---|---|---|
itemsrequired | array of object | |
items[].namerequired | string | |
items[].purposerequired | enum | Values sending | receiving |
items[].brand_profile_idrequired | string | |
items[].scoperequired | enum | Values workspace | organization |
items[].statusrequired | enum | Values not_started | pending | verified | partially_verified | partially_failed | failed | temporary_failure |
items[].recordsrequired | array of object | |
items[].records[].purposerequired | enum | Values sending | receiving | status_page |
items[].records[].record | string | |
items[].records[].typerequired | enum | Values MX | TXT | CNAME | A | AAAA | CAA |
items[].records[].namerequired | string | |
items[].records[].valuerequired | string | |
items[].records[].priority | integer | |
items[].records[].ttl | string | integer | |
items[].records[].status | enum | Values not_started | pending | verified | failed | temporary_failure |
items[].records[].hostrequired | string | |
items[].records[].requiredrequired | boolean | |
items[].sender_emailrequired | string | |
items[].sender_namerequired | string | |
items[].verified_atrequired | string (date-time) | |
items[].last_checked_atrequired | string (date-time) | |
items[].created_atrequired | string (date-time) | |
workspace_has_profilerequired | boolean |
POST/v1/domains
Registers a sending or receiving domain with the email provider (owner, admin).
/v1/domainsSending: the domain of sender_email (SPF and DKIM records to publish, plus a DMARC suggestion). Receiving: a dedicated subdomain whose MX points to the provider, for white-label Reply-To addresses. The workspace gets a brand profile of its own when it has none; scope organization targets the agency default profile.
Authentication: Dashboard session
Request body
| Name | Type | Description |
|---|---|---|
workspace_idrequired | string | |
scope | enum | Values workspace | organization |
purposerequired | enum | Values sending | receiving |
name | string | |
sender_email | string (email) | |
sender_name | string |
Response 201
| Name | Type | Description |
|---|---|---|
namerequired | string | |
purposerequired | enum | Values sending | receiving |
brand_profile_idrequired | string | |
scoperequired | enum | Values workspace | organization |
statusrequired | enum | Values not_started | pending | verified | partially_verified | partially_failed | failed | temporary_failure |
recordsrequired | array of object | |
records[].purposerequired | enum | Values sending | receiving | status_page |
records[].record | string | |
records[].typerequired | enum | Values MX | TXT | CNAME | A | AAAA | CAA |
records[].namerequired | string | |
records[].valuerequired | string | |
records[].priority | integer | |
records[].ttl | string | integer | |
records[].status | enum | Values not_started | pending | verified | failed | temporary_failure |
records[].hostrequired | string | |
records[].requiredrequired | boolean | |
sender_emailrequired | string | |
sender_namerequired | string | |
verified_atrequired | string (date-time) | |
last_checked_atrequired | string (date-time) | |
created_atrequired | string (date-time) |
GET/v1/domains/{brandProfileId}/{purpose}
A domain and its records; refreshes the status from the provider when it is stale.
/v1/domains/{brandProfileId}/{purpose}Authentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
brandProfileIdpathrequired | string | |
purposepathrequired | enum | Values sending | receiving |
Response 200
The same fields as POST /v1/domains.
DELETE/v1/domains/{brandProfileId}/{purpose}
Removes the domain from the provider and from the brand profile (owner, admin).
/v1/domains/{brandProfileId}/{purpose}Authentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
brandProfileIdpathrequired | string | |
purposepathrequired | enum | Values sending | receiving |
Response 200
| Name | Type | Description |
|---|---|---|
okrequired | true |
PATCH/v1/domains/{brandProfileId}/{purpose}/sender
Changes the From address or name on a sending domain (owner, admin).
/v1/domains/{brandProfileId}/{purpose}/senderAuthentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
brandProfileIdpathrequired | string | |
purposepathrequired | enum | Values sending | receiving |
Request body
| Name | Type | Description |
|---|---|---|
sender_email | string (email) | |
sender_name | string |
Response 200
The same fields as POST /v1/domains.
POST/v1/domains/{brandProfileId}/{purpose}/verify
Asks the provider to check the DNS records now (owner, admin).
/v1/domains/{brandProfileId}/{purpose}/verifyVerification is asynchronous: the status moves to pending, background checks follow with backoff for up to 72 hours, and the dashboard polls GET until it is verified.
Authentication: Dashboard session
Parameters
| Name | Type | Description |
|---|---|---|
brandProfileIdpathrequired | string | |
purposepathrequired | enum | Values sending | receiving |
Response 200
The same fields as POST /v1/domains.