/server/config/preview
POST
/server/config/preview
const url = 'https://example.com/api/v1/server/config/preview';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"hostname":"example","tls":{"mode":"acme","acmeEmail":"example"},"limits":{"messageSizeBytes":52428800,"perUserMessagesPerHour":500,"perDomainMessagesPerHour":2000,"smtpdClientConnectionRateLimit":60},"relay":null,"protocols":{"pop3":true},"spam":{"rejectScore":15,"addHeaderScore":6,"greylistScore":4},"mtaSts":{"mode":"testing","maxAgeSeconds":604800},"warmup":{"enabled":false,"targetPerHour":2000},"abuse":{"enabled":true,"windowMinutes":60,"minMessages":20,"reputationRatio":0.3,"hardBounceRatio":0.6,"autoBlock":false},"burstAlert":{"enabled":true,"windowMinutes":60,"minEvents":10},"authLimits":{"enabled":true,"windowMinutes":15,"passwordAttempts":10,"ipAttempts":50,"totpAttempts":5,"banMinutes":60},"trustedNetworks":[],"outboundIpv6":false}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/server/config/preview \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "hostname": "example", "tls": { "mode": "acme", "acmeEmail": "example" }, "limits": { "messageSizeBytes": 52428800, "perUserMessagesPerHour": 500, "perDomainMessagesPerHour": 2000, "smtpdClientConnectionRateLimit": 60 }, "relay": null, "protocols": { "pop3": true }, "spam": { "rejectScore": 15, "addHeaderScore": 6, "greylistScore": 4 }, "mtaSts": { "mode": "testing", "maxAgeSeconds": 604800 }, "warmup": { "enabled": false, "targetPerHour": 2000 }, "abuse": { "enabled": true, "windowMinutes": 60, "minMessages": 20, "reputationRatio": 0.3, "hardBounceRatio": 0.6, "autoBlock": false }, "burstAlert": { "enabled": true, "windowMinutes": 60, "minEvents": 10 }, "authLimits": { "enabled": true, "windowMinutes": 15, "passwordAttempts": 10, "ipAttempts": 50, "totpAttempts": 5, "banMinutes": 60 }, "trustedNetworks": [], "outboundIpv6": false }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
hostname
required
string
tls
required
object
mode
required
string
acmeEmail
string
limits
required
object
messageSizeBytes
integer
perUserMessagesPerHour
integer
perDomainMessagesPerHour
integer
smtpdClientConnectionRateLimit
integer
relay
protocols
object
pop3
boolean
spam
required
object
rejectScore
number
addHeaderScore
number
greylistScore
number
mtaSts
object
mode
string
maxAgeSeconds
integer
warmup
object
enabled
boolean
startedAt
string format: date-time
targetPerHour
integer
abuse
object
enabled
boolean
windowMinutes
integer
minMessages
integer
reputationRatio
number
hardBounceRatio
number
autoBlock
boolean
burstAlert
object
enabled
boolean
windowMinutes
integer
minEvents
integer
authLimits
object
enabled
boolean
windowMinutes
integer
passwordAttempts
integer
ipAttempts
integer
totpAttempts
integer
banMinutes
integer
trustedNetworks
Array<string>
outboundIpv6
boolean
Responses
Section titled “Responses”Default Response
Media typeapplication/json
object
key
additional properties
object
key
additional properties
string
Examplegenerated
{ "additionalProperty": { "additionalProperty": "example" }}