Email Domains | Brixus365 Docs
Docs API Reference Email Domains

Email Domains

Add and verify sending domains, check their DNS status, and set your default — all via API. Useful for provisioning pipelines that need to configure domains automatically.

Scopes required:

OperationScope
List or get domainsdomains:read
Add, verify, update, or delete domainsdomains:manage (implies domains:read)

Add a domain

POST/v1/settings/email-domains

Adds a new sending domain and returns the DNS records you need to configure at your registrar.

Auth: domains:manage scope, or a JWT admin user.

Request body

FieldTypeDescription
domainrequiredstringThe domain or subdomain to add (e.g. mail.example.com)
isDefaultoptionalbooleanSet as the default sending domain. Defaults to false.

Example

{
  "domain": "mail.example.com",
  "isDefault": false
}

Response

201 — domain object. The dnsRecords field contains the DNS entries to add at your registrar. Each record has a type, name, and value.

{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "domain": "mail.example.com",
  "status": "pending",
  "isDefault": false,
  "isActive": true,
  "dnsRecords": {
    "spf": {
      "type": "TXT",
      "name": "mail.example.com",
      "value": "v=spf1 include:spf.brixus365.com ~all",
      "ttl": 3600
    },
    "dkim": {
      "type": "CNAME",
      "name": "bx1._domainkey.mail.example.com",
      "value": "bx1.dkim.brixus365.com",
      "ttl": 3600
    }
  },
  "verificationAttempts": 0,
  "lastVerifiedAt": null,
  "lastVerificationError": null,
  "createdAt": "2026-05-06T10:00:00Z",
  "updatedAt": "2026-05-06T10:00:00Z"
}

Add all DNS records returned in dnsRecords, then call Verify a domain to confirm them. DNS changes can take minutes to hours to propagate.


List domains

GET/v1/settings/email-domains

Returns all domains configured for the tenant.

Auth: domains:read scope, or any JWT user.

Response

200

{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "domain": "mail.example.com",
      "status": "verified",
      "isDefault": true,
      "isActive": true,
      ...
    }
  ],
  "total": 1
}

Get a domain

GET/v1/settings/email-domains/{domain_id}

Returns details for a single domain, including its current verification status and DNS records.

Auth: domains:read scope, or any JWT user.

Response

200 — domain object (same shape as Add a domain).


Verify a domain

POST/v1/settings/email-domains/{domain_id}/verify

Triggers an immediate DNS check. Call this after adding the required records at your registrar, or to re-check a domain that previously failed verification.

Auth: domains:manage scope, or a JWT admin user.

No request body required.

Response

200

{
  "success": true,
  "message": "Domain verified successfully.",
  "verifiedRecords": ["SPF", "DKIM"],
  "failedRecords": [],
  "warnings": [],
  "status": "verified"
}
FieldDescription
successWhether all required records passed
verifiedRecordsRecord types that were found and valid
failedRecordsRecord types missing or incorrect — fix these and retry
warningsOptional records not found — sends still work but deliverability may be lower
status”verified” or “failed”

If failedRecords is non-empty, check your DNS configuration and retry. DNS propagation can take up to 48 hours depending on your registrar and TTL settings.


Update a domain

PATCH/v1/settings/email-domains/{domain_id}

Updates domain settings. All fields are optional — only fields included in the request body are changed.

Auth: domains:manage scope, or a JWT admin user.

Request body

FieldTypeDescription
isDefaultbooleanMake this the default domain for transactional sends
isActivebooleanEnable or disable the domain

Response

200 — updated domain object.


Delete a domain

DELETE/v1/settings/email-domains/{domain_id}

Removes the domain from the tenant. DNS records at your registrar can be cleaned up afterward.

Auth: domains:manage scope, or a JWT admin user.

Response

204 No Content


Status values

StatusMeaning
pendingDomain added — DNS records not yet verified
verifiedAll required DNS records confirmed — domain can send
failedLast verification attempt failed — check lastVerificationError and retry after fixing the records

What’s next

You want to…Go to
Verify a domain through the dashboard insteadVerify your sending domain
Send your first emailSending emails
Manage API keys via the APIAPI Keys
Start sending

9,000 transactional emails a month, free.

No credit card. No commitment. Add your domain, verify DNS, and start sending in minutes.