Domains

Full reference for the Domains resource in the bluefox.email API. See the API overview for authentication, the response envelope, and pagination.

List sending domains

GET /v1/projectId/{projectId}/domains

Not paginated - always returns every domain on the project (there are only ever a handful). Supports filter[<field>]=value exact-match filtering (e.g. filter[domain]=example.com) to look one up directly instead of scanning the full list.

Parameters

NameInTypeRequiredDescription
projectIdpathstringyesThe project _id, found in the app under Project Settings.
filter[&lt;field&gt;]querystringExact-match filter on a top-level field, e.g. filter[domain]=example.com or filter[region]=eu-north-1. Repeatable for multiple fields.

Responses

StatusDescription
200OK
403Missing or invalid API key

Response body

FieldTypeRequiredDescription
itemsarray
countintegerTotal matching items across all pages, not just this page.
nextstringFull URL (path + query string) of the next page, or null if this is the last page.

Add a sending domain

POST /v1/projectId/{projectId}/domains

Production-access projects only. Returns the required DNS records to add before the domain can send.

Parameters

NameInTypeRequiredDescription
projectIdpathstringyesThe project _id, found in the app under Project Settings.

Request body

FieldTypeRequiredDescription
domainstringyes
regionstringyes

Responses

StatusDescription
201Created
400Invalid request body or query - every violation found (missing/invalid/unexpected fields) is reported in one response, semicolon-separated, not just the first one hit.
403Missing or invalid API key
405The operation is blocked by a business rule (e.g. the resource is still in use)

Response body

FieldTypeRequiredDescription
_idstring
domainstring
regionstring
tenantobject
tenant.namestring
tenant.configurationSetstring
requiredDnsobjectDNS records (DKIM CNAMEs, SPF, MX, DMARC) the domain owner must add.
observedobjectLast-checked DNS verification state, per record.
observed.spfobject
observed.spf.presentboolean
observed.spf.rawstring
observed.spf.checkedAtstring
observed.dmarcobject
observed.dmarc.presentboolean
observed.dmarc.rawstring
observed.dmarc.checkedAtstring
observed.mxobject
observed.mx.presentboolean
observed.mx.rawstring
observed.mx.checkedAtstring
observed.dkimobject
observed.dkim.selectorsarray of string
observed.dkim.allOkboolean
observed.dkim.checkedAtstring
observed.allOkbooleanTrue only when SPF, DMARC, MX, and DKIM are all present/verified.

Get a single domain

GET /v1/projectId/{projectId}/domains/{domainId}

Parameters

NameInTypeRequiredDescription
projectIdpathstringyesThe project _id, found in the app under Project Settings.
domainIdpathstringyes

Responses

StatusDescription
200OK
403Missing or invalid API key
404Domain not found

Response body

FieldTypeRequiredDescription
_idstring
domainstring
regionstring
tenantobject
tenant.namestring
tenant.configurationSetstring
requiredDnsobjectDNS records (DKIM CNAMEs, SPF, MX, DMARC) the domain owner must add.
observedobjectLast-checked DNS verification state, per record.
observed.spfobject
observed.spf.presentboolean
observed.spf.rawstring
observed.spf.checkedAtstring
observed.dmarcobject
observed.dmarc.presentboolean
observed.dmarc.rawstring
observed.dmarc.checkedAtstring
observed.mxobject
observed.mx.presentboolean
observed.mx.rawstring
observed.mx.checkedAtstring
observed.dkimobject
observed.dkim.selectorsarray of string
observed.dkim.allOkboolean
observed.dkim.checkedAtstring
observed.allOkbooleanTrue only when SPF, DMARC, MX, and DKIM are all present/verified.

Remove a domain

DELETE /v1/projectId/{projectId}/domains/{domainId}

Fails while a sender identity still uses this domain/region.

Parameters

NameInTypeRequiredDescription
projectIdpathstringyesThe project _id, found in the app under Project Settings.
domainIdpathstringyes

Responses

StatusDescription
200Deleted
403Missing or invalid API key
404Domain not found
405The operation is blocked by a business rule (e.g. the resource is still in use)

Response body

FieldTypeRequiredDescription
_idstring

Re-check DNS verification status for a domain

POST /v1/projectId/{projectId}/domains/{domainId}/check

Re-reads the DKIM/SPF/MX/DMARC DNS records for the domain. Auto-creates a default sender identity (no-reply@domain) the first time verification succeeds.

Parameters

NameInTypeRequiredDescription
projectIdpathstringyesThe project _id, found in the app under Project Settings.
domainIdpathstringyes

Responses

StatusDescription
200OK
403Missing or invalid API key
404Domain not found
405The operation is blocked by a business rule (e.g. the resource is still in use)

Response body

FieldTypeRequiredDescription
_idstring
domainstring
regionstring
tenantobject
tenant.namestring
tenant.configurationSetstring
requiredDnsobjectDNS records (DKIM CNAMEs, SPF, MX, DMARC) the domain owner must add.
observedobjectLast-checked DNS verification state, per record.
observed.spfobject
observed.spf.presentboolean
observed.spf.rawstring
observed.spf.checkedAtstring
observed.dmarcobject
observed.dmarc.presentboolean
observed.dmarc.rawstring
observed.dmarc.checkedAtstring
observed.mxobject
observed.mx.presentboolean
observed.mx.rawstring
observed.mx.checkedAtstring
observed.dkimobject
observed.dkim.selectorsarray of string
observed.dkim.allOkboolean
observed.dkim.checkedAtstring
observed.allOkbooleanTrue only when SPF, DMARC, MX, and DKIM are all present/verified.