AuralisDocs
OperationsChannels and email

Connect a sending domain and return the DNS records to publish

Claim the domain, register it with the provider, return the record set.

/v1/channels/email/sending-domainAdmin
Operation id
create_sending_domain
Access
An editor or a viewer is refused.
POST/v1/channels/email/sending-domain

Claim the domain, register it with the provider, return the record set.

The response is the copy-paste table: host, type, value, TTL, and which check each row satisfies. Nothing is verified at this point and the response says so. The workspace publishes the records and the domain becomes sendable on its own, or on demand through verify.

Tenancy: the request is scoped to one workspace, and the credential presented is what selects it. A caller with no membership in that workspace is refused with 404, which is indistinguishable from a workspace that does not exist.

Authorisation: admin or owner. An editor or viewer receives 403 insufficient_role.

Access: Authorization: Bearer carrying either a realm access token or an API key. A key must hold the channels:write scope, and the workspace role of the person who owns it must meet the floor above.

Authorization

AuthorizationBearer <token>

A realm-issued access token, presented as Authorization: Bearer <token>. It acts as the person who signed in, and every operation resolves their workspace role live from the membership record.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/channels/email/sending-domain" \  -H "Content-Type: application/json" \  -d '{    "domain": "theircompany.com"  }'
{  "connected": true,  "domain": "string",  "from_address": "string",  "mail_from_domain": "string",  "fallback_to_minted": true,  "sendable": true,  "verified_at": "string",  "checks": [    {      "check": "dkim",      "status": "not_started",      "detail": "string",      "remediation": "string",      "last_checked_at": "2019-08-24T14:15:22Z"    }  ],  "records": [    {      "check": "dkim",      "host": "string",      "type": "CNAME",      "value": "string",      "ttl_seconds": 0    }  ],  "observations": [    {      "check": "dkim",      "host": "string",      "type": "CNAME",      "expected": "string",      "observed": [        "string"      ],      "matches": true,      "note": "string"    }  ]}