MonitorsSmtp monitors
Update SMTP Monitor
Updates an SMTP monitor.
PATCH /api/smtp-monitors/:smtpMonitorPublicId
Authentication
Requires a valid session.
- Header:
Authorization: Bearer <token>
Parameters
smtpMonitorPublicId(Path, required): SMTP monitor public UUID.
Request Body
All fields are optional.
{
"name": "Outbound SMTP (Primary)",
"hostname": "smtp.example.com",
"port": 587,
"status": "paused",
"checkInterval": 60,
"timeoutSeconds": 30,
"allowedCheckCountryCodes": ["de", "us"],
"smtpConfig": {
"secure": false,
"requireTls": true,
"auth": {
"user": "username",
"pass": "password"
}
}
}Notes
statusacceptsactive,maintenance,disabled,paused,inactive.pausedandinactiveare normalized todisabled.allowedCheckCountryCodesis normalized to uppercase ISO codes (e.g.DE,US). Empty lists becomenull.- SMTP config can be provided as
smtpConfigor asconfig(alias). If neither is provided, the stored config is not changed. - Users with
readonlyrole can only changestatus.
cURL
curl -X PATCH "https://YOUR_DOMAIN/api/smtp-monitors/33333333-3333-4333-8333-333333333333" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "disabled"
}'Response
{
"id": 200,
"organizationId": 1,
"customerId": 10,
"name": "Outbound SMTP (Primary)",
"hostname": "smtp.example.com",
"port": 587,
"status": "disabled",
"checkInterval": 60,
"timeoutSeconds": 30,
"notificationEmail": null,
"notificationPhoneNumber": null,
"lastCheckedAt": "2026-01-01T12:00:00.000Z",
"createdAt": "2026-01-01T12:00:00.000Z",
"updatedAt": "2026-01-01T12:01:00.000Z",
"config": {
"secure": false,
"requireTls": true,
"auth": { "user": "username", "pass": "password" }
},
"smtpConfig": {
"secure": false,
"requireTls": true,
"auth": { "user": "username", "pass": "password" }
}
}Errors
400SMTP monitor public ID (UUID) required401Unauthorized403Forbidden (readonly users may only updatestatus; global supporters cannot update)404Not found