Skip to content

Depot sendingdomains

Registers the sending-domain routes.

This page is generated from the Depot route table. Every operation carries the permission it needs and the anchor an agent can link to.

GETmailbox:manageshared facehosteditmspremoteIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

listSendingDomains lists the organization’s sending domains and their DNS records.

StatusBodyDescription
200application/json, SendingDomainListSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
404application/problem+json, ProblemDetailsSending domains are not available on this Depot.
429application/problem+json, ProblemDetailsA domain can be checked once a minute. Wait a moment, then check again.
500application/problem+json, ProblemDetailsThe request failed.

200 response body

FieldTypeDescription
itemsrequiredarray of SendingDomain
items[].domainrequiredstring
items[].lastErrorstring
items[].lastValidatedAtstring (date-time) or null
items[].recordsrequiredarray of SendingDomainRecord
items[].records[].hostrequiredstring
items[].records[].typerequiredstring
items[].records[].validrequiredboolean
items[].records[].valuerequiredstring
items[].statusrequiredstring
items[].validatedAtstring (date-time) or null
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/email/sending-domains' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTmailbox:manageshared facehosteditmspremote

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

createSendingDomain starts authenticating a domain and returns the DNS records to publish.

Required, sent as application/json.

FieldTypeDescription
domainstring or null
StatusBodyDescription
201application/json, SendingDomainCreated.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
404application/problem+json, ProblemDetailsSending domains are not available on this Depot.
429application/problem+json, ProblemDetailsA domain can be checked once a minute. Wait a moment, then check again.
500application/problem+json, ProblemDetailsThe request failed.

201 response body

FieldTypeDescription
domainrequiredstring
lastErrorstring
lastValidatedAtstring (date-time) or null
recordsrequiredarray of SendingDomainRecord
records[].hostrequiredstring
records[].typerequiredstring
records[].validrequiredboolean
records[].valuerequiredstring
statusrequiredstring
validatedAtstring (date-time) or null
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/email/sending-domains' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"domain": "string"
}'

DELETE /api/v1/email/sending-domains/{domain}

Section titled “DELETE /api/v1/email/sending-domains/{domain}”

DELETEmailbox:manageshared facehosteditmspremoteIdempotent

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

deleteSendingDomain removes a sending domain.

Mail from that domain’s addresses goes back to the Outpost sender with Reply-To set.

NameInTypeRequiredDescription
domainpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
404application/problem+json, ProblemDetailsSending domain not found.
429application/problem+json, ProblemDetailsA domain can be checked once a minute. Wait a moment, then check again.
500application/problem+json, ProblemDetailsThe request failed.
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X DELETE 'https://depot.example.com/api/v1/email/sending-domains/<domain>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/email/sending-domains/{domain}/validate

Section titled “POST /api/v1/email/sending-domains/{domain}/validate”

POSTmailbox:manageshared facehosteditmspremote

From an MSP console, prefix the path with /api/v1/clients/{clientID} to reach one client.

Source: [object Object]

validateSendingDomain asks the mail service to check the domain’s DNS records now.

NameInTypeRequiredDescription
domainpathstringYes
StatusBodyDescription
200application/json, SendingDomainSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
404application/problem+json, ProblemDetailsSending domain not found.
429application/problem+json, ProblemDetailsA domain can be checked once a minute. Wait a moment, then check again.
500application/problem+json, ProblemDetailsThe request failed.

200 response body

FieldTypeDescription
domainrequiredstring
lastErrorstring
lastValidatedAtstring (date-time) or null
recordsrequiredarray of SendingDomainRecord
records[].hostrequiredstring
records[].typerequiredstring
records[].validrequiredboolean
records[].valuerequiredstring
statusrequiredstring
validatedAtstring (date-time) or null
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/email/sending-domains/<domain>/validate' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.