Skip to content

Depot emailproviders

Registers the outgoing-mail 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]

List email providers

NameInTypeRequiredDescription
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
StatusBodyDescription
200application/json, PagedResultEmailProviderViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
500application/problem+json, ProblemDetailsCould not list email providers.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.

200 response body

FieldTypeDescription
itemsrequiredarray of EmailProviderView
items[].configurationSetstring
items[].createdAtrequiredstring (date-time)
items[].credentialsConfiguredrequiredboolean
items[].domainstring
items[].driverrequiredstring
items[].encryptionstring
items[].fromAddressstring
items[].fromNamestring
items[].hoststring
items[].ipPoolstring
items[].isDefaultrequiredboolean
items[].lastProbeAtstring (date-time) or null
items[].lastProbeErrorstring
items[].messageStreamstring
items[].namerequiredstring
items[].nextTestInSecondsrequiredinteger
items[].portinteger
items[].publicIdrequiredstring
items[].regionstring
items[].replyTostring
items[].returnPathstring
items[].sandboxModerequiredboolean
items[].statusrequiredstring
items[].testsRemainingTodayrequiredinteger
items[].trackClicksrequiredboolean
items[].trackOpensrequiredboolean
items[].updatedAtrequiredstring (date-time)
items[].usernamestring
pagerequiredinteger
pageSizerequiredinteger
totalrequiredinteger
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/organization/email/providers?page=0&pageSize=0' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTmailbox:manageshared facehosteditmspremoteIdempotentNot fully resolved

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

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

Create email provider

Required, sent as application/json.

FieldTypeDescription
apiKeystring or null
apiSecretstring or null
configurationSetstring or null
domainstring or null
driverstring or null
encryptionstring or null
fromAddressstring or null
fromNamestring or null
hoststring or null
ipPoolstring or null
messageStreamstring or null
namestring or null
passwordstring or null
portinteger or null
regionstring or null
replyTostring or null
returnPathstring or null
sandboxModeboolean or null
statusstring or null
trackClicksboolean or null
trackOpensboolean or null
usernamestring or null
StatusBodyDescription
200application/json, EmailProviderViewSuccess.
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, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsCould not read the test-send quota.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.

200 response body

FieldTypeDescription
configurationSetstring
createdAtrequiredstring (date-time)
credentialsConfiguredrequiredboolean
domainstring
driverrequiredstring
encryptionstring
fromAddressstring
fromNamestring
hoststring
ipPoolstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
messageStreamstring
namerequiredstring
nextTestInSecondsrequiredinteger
portinteger
publicIdrequiredstring
regionstring
replyTostring
returnPathstring
sandboxModerequiredboolean
statusrequiredstring
testsRemainingTodayrequiredinteger
trackClicksrequiredboolean
trackOpensrequiredboolean
updatedAtrequiredstring (date-time)
usernamestring
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 POST 'https://depot.example.com/api/v1/organization/email/providers' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"apiKey": "string",
"apiSecret": "string",
"configurationSet": "string",
"domain": "string",
"driver": "string",
"encryption": "string",
"fromAddress": "string",
"fromName": "string",
"host": "string",
"ipPool": "string",
"messageStream": "string",
"name": "string",
"password": "string",
"port": 0,
"region": "string",
"replyTo": "string",
"returnPath": "string",
"sandboxMode": false,
"status": "string",
"trackClicks": false,
"trackOpens": false,
"username": "string"
}'

GET /api/v1/organization/email/providers/{providerID}

Section titled “GET /api/v1/organization/email/providers/{providerID}”

GETmailbox:manageshared facehosteditmspremoteIdempotentNot fully resolved

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

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

Get email provider

NameInTypeRequiredDescription
providerIDpathstringYesA uuid.
StatusBodyDescription
200application/json, EmailProviderViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsCould not read the test-send quota.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.

200 response body

FieldTypeDescription
configurationSetstring
createdAtrequiredstring (date-time)
credentialsConfiguredrequiredboolean
domainstring
driverrequiredstring
encryptionstring
fromAddressstring
fromNamestring
hoststring
ipPoolstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
messageStreamstring
namerequiredstring
nextTestInSecondsrequiredinteger
portinteger
publicIdrequiredstring
regionstring
replyTostring
returnPathstring
sandboxModerequiredboolean
statusrequiredstring
testsRemainingTodayrequiredinteger
trackClicksrequiredboolean
trackOpensrequiredboolean
updatedAtrequiredstring (date-time)
usernamestring
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/organization/email/providers/<providerID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCH /api/v1/organization/email/providers/{providerID}

Section titled “PATCH /api/v1/organization/email/providers/{providerID}”

PATCHmailbox:manageshared facehosteditmspremoteIdempotentNot fully resolved

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

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

Patch email provider

NameInTypeRequiredDescription
providerIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
apiKeystring or null
apiSecretstring or null
configurationSetstring or null
domainstring or null
driverstring or null
encryptionstring or null
fromAddressstring or null
fromNamestring or null
hoststring or null
ipPoolstring or null
messageStreamstring or null
namestring or null
passwordstring or null
portinteger or null
regionstring or null
replyTostring or null
returnPathstring or null
sandboxModeboolean or null
statusstring or null
trackClicksboolean or null
trackOpensboolean or null
usernamestring or null
StatusBodyDescription
200application/json, EmailProviderViewSuccess.
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, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
500application/problem+json, ProblemDetailsCould not read the test-send quota.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.

200 response body

FieldTypeDescription
configurationSetstring
createdAtrequiredstring (date-time)
credentialsConfiguredrequiredboolean
domainstring
driverrequiredstring
encryptionstring
fromAddressstring
fromNamestring
hoststring
ipPoolstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
messageStreamstring
namerequiredstring
nextTestInSecondsrequiredinteger
portinteger
publicIdrequiredstring
regionstring
replyTostring
returnPathstring
sandboxModerequiredboolean
statusrequiredstring
testsRemainingTodayrequiredinteger
trackClicksrequiredboolean
trackOpensrequiredboolean
updatedAtrequiredstring (date-time)
usernamestring
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 PATCH 'https://depot.example.com/api/v1/organization/email/providers/<providerID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"apiKey": "string",
"apiSecret": "string",
"configurationSet": "string",
"domain": "string",
"driver": "string",
"encryption": "string",
"fromAddress": "string",
"fromName": "string",
"host": "string",
"ipPool": "string",
"messageStream": "string",
"name": "string",
"password": "string",
"port": 0,
"region": "string",
"replyTo": "string",
"returnPath": "string",
"sandboxMode": false,
"status": "string",
"trackClicks": false,
"trackOpens": false,
"username": "string"
}'

DELETE /api/v1/organization/email/providers/{providerID}

Section titled “DELETE /api/v1/organization/email/providers/{providerID}”

DELETEmailbox:manageshared facehosteditmspremoteIdempotent

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

Source: [object Object]

Delete email provider

NameInTypeRequiredDescription
providerIDpathstringYesA uuid.
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsOutpost Cloud Email is a built-in provider and cannot be deleted.
500application/problem+json, ProblemDetailsCould not read the email providers.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.
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/organization/email/providers/<providerID>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/organization/email/providers/{providerID}/default

Section titled “POST /api/v1/organization/email/providers/{providerID}/default”

POSTmailbox:manageshared facehosteditmspremoteIdempotentNot fully resolved

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

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

Set default email provider

NameInTypeRequiredDescription
providerIDpathstringYesA uuid.
StatusBodyDescription
200application/json, EmailProviderViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThis provider is disabled. Enable it before making it the active one.
500application/problem+json, ProblemDetailsCould not read the test-send quota.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.

200 response body

FieldTypeDescription
configurationSetstring
createdAtrequiredstring (date-time)
credentialsConfiguredrequiredboolean
domainstring
driverrequiredstring
encryptionstring
fromAddressstring
fromNamestring
hoststring
ipPoolstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
messageStreamstring
namerequiredstring
nextTestInSecondsrequiredinteger
portinteger
publicIdrequiredstring
regionstring
replyTostring
returnPathstring
sandboxModerequiredboolean
statusrequiredstring
testsRemainingTodayrequiredinteger
trackClicksrequiredboolean
trackOpensrequiredboolean
updatedAtrequiredstring (date-time)
usernamestring
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 POST 'https://depot.example.com/api/v1/organization/email/providers/<providerID>/default' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/organization/email/providers/{providerID}/test

Section titled “POST /api/v1/organization/email/providers/{providerID}/test”

POSTmailbox:manageshared facehosteditmspremoteIdempotent

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

Source: [object Object]

Test email provider

NameInTypeRequiredDescription
providerIDpathstringYesA uuid.

Required, sent as application/json.

FieldTypeDescription
torequiredstring
StatusBodyDescription
200application/json, EmailProviderViewSuccess.
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, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThe request conflicts with the current state.
429application/problem+json, ProblemDetailsToo many requests.
500application/problem+json, ProblemDetailsCould not read the email settings.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.

200 response body

FieldTypeDescription
configurationSetstring
createdAtrequiredstring (date-time)
credentialsConfiguredrequiredboolean
domainstring
driverrequiredstring
encryptionstring
fromAddressstring
fromNamestring
hoststring
ipPoolstring
isDefaultrequiredboolean
lastProbeAtstring (date-time) or null
lastProbeErrorstring
messageStreamstring
namerequiredstring
nextTestInSecondsrequiredinteger
portinteger
publicIdrequiredstring
regionstring
replyTostring
returnPathstring
sandboxModerequiredboolean
statusrequiredstring
testsRemainingTodayrequiredinteger
trackClicksrequiredboolean
trackOpensrequiredboolean
updatedAtrequiredstring (date-time)
usernamestring
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 POST 'https://depot.example.com/api/v1/organization/email/providers/<providerID>/test' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"to": "string"
}'

GETmailbox:manageshared facehosteditmspremoteIdempotent

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

Source: [object Object]

Get email settings

StatusBodyDescription
200application/json, EmailSettingsViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
500application/problem+json, ProblemDetailsCould not read the email settings.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.

200 response body

FieldTypeDescription
bimiLogoUrlstring
bimiRecordNamestring
bimiRecordValuestring
bimiVmcUrlstring
customHeadersrequiredobject
dkimAlgorithmstring
dkimDomainstring
dkimKeyConfiguredrequiredboolean
dkimRecordNamestring
dkimRecordValuestring
dkimSelectorstring
updatedAtrequiredstring (date-time)
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/organization/email/settings' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCHmailbox:manageshared facehosteditmspremote

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

Source: [object Object]

Patch email settings

Required, sent as application/json.

FieldTypeDescription
bimiLogoUrlstring or null
bimiVmcUrlstring or null
customHeadersrequiredobject
dkimDomainstring or null
dkimPrivateKeystring or null
dkimSelectorstring or null
StatusBodyDescription
200application/json, EmailSettingsViewSuccess.
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.
500application/problem+json, ProblemDetailsCould not read the email settings.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.

200 response body

FieldTypeDescription
bimiLogoUrlstring
bimiRecordNamestring
bimiRecordValuestring
bimiVmcUrlstring
customHeadersrequiredobject
dkimAlgorithmstring
dkimDomainstring
dkimKeyConfiguredrequiredboolean
dkimRecordNamestring
dkimRecordValuestring
dkimSelectorstring
updatedAtrequiredstring (date-time)
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X PATCH 'https://depot.example.com/api/v1/organization/email/settings' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '{
"bimiLogoUrl": "string",
"bimiVmcUrl": "string",
"customHeaders": {
"key": "string"
},
"dkimDomain": "string",
"dkimPrivateKey": "string",
"dkimSelector": "string"
}'

DELETE /api/v1/organization/email/settings/dkim

Section titled “DELETE /api/v1/organization/email/settings/dkim”

DELETEmailbox:manageshared facehosteditmspremoteIdempotent

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

Source: [object Object]

clearEmailDkim removes the signing key, domain and selector together.

All three, because CK_EmailSettings_Dkim refuses a partial configuration and because a selector left pointing at a key that is gone is exactly the state where mail goes out unsigned while this page says otherwise. Messages simply stop being signed, which is where an organisation that never configured DKIM already is.

StatusBodyDescription
200application/json, EmailSettingsViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold mailbox:manage.
500application/problem+json, ProblemDetailsCould not remove the DKIM key.
503application/problem+json, ProblemDetailsThis Depot has no client database for this request yet.

200 response body

FieldTypeDescription
bimiLogoUrlstring
bimiRecordNamestring
bimiRecordValuestring
bimiVmcUrlstring
customHeadersrequiredobject
dkimAlgorithmstring
dkimDomainstring
dkimKeyConfiguredrequiredboolean
dkimRecordNamestring
dkimRecordValuestring
dkimSelectorstring
updatedAtrequiredstring (date-time)
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/organization/email/settings/dkim' \
-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.