Skip to content

Action

Defines server management actions such as reloads, troubleshooting and cache operations.

This object can be configured from the WebUI under Management › Actions

Action is a multi-variant object: each instance has an @type discriminator selecting one of the variants below, and each variant carries its own set of fields.

Reload: Server settings

Reload: TLS certificates

Reload: Lookup stores

Reload: Blocked IPs list

Application Management: Update applications

DMARC: Troubleshooting

Type: IpAddr · required

Remote IP address of the SMTP client

Type: String · required

EHLO domain provided by the SMTP client

Type: EmailAddress · required

MAIL FROM address provided by the SMTP client

Type: Text?

Body of the email message used for DMARC troubleshooting, if applicable

Type: String · required

Domain used for SPF check based on EHLO domain

Type: DmarcTroubleshootAuthResult · server-set

Result of the SPF check based on EHLO domain

Type: String · required

Domain used for SPF check based on MAIL FROM address

Type: DmarcTroubleshootAuthResult · server-set

Result of the SPF check based on MAIL FROM address

Type: DmarcTroubleshootAuthResult · server-set

Result of the reverse DNS check for the remote IP address

Type: String[] · server-set

PTR records returned by the reverse DNS lookup for the remote IP address

Type: DmarcTroubleshootAuthResult[] · server-set

Results of the DKIM signature verification checks

Type: Boolean · server-set · default: false

Whether the DKIM checks passed

Type: DmarcTroubleshootAuthResult · server-set

Result of the ARC validation check

Type: DmarcTroubleshootAuthResult · server-set

Result of the DMARC check

Type: Boolean · server-set · default: false

Whether the DMARC check passed

Type: DmarcDisposition · server-set

DMARC policy applied to the email message

Type: Duration · server-set · default: "0ms"

Time taken to perform the DMARC troubleshooting

Spam Filter: Classify a message

Type: Text · required

Raw email message to classify for spam

Type: IpAddr · required

Remote IP address of the SMTP client

Type: String · required

EHLO domain provided by the SMTP client

Type: String?

Authentication identity of the SMTP client, if authenticated

Type: Boolean · default: true

Whether the SMTP connection is secured with TLS

Type: EmailAddress · required

MAIL FROM address provided by the SMTP client

Type: SpamClassifyParameters?

Parameters related to the MAIL FROM address

Type: EmailAddress[]

List of RCPT TO addresses provided by the SMTP client

Type: Float · server-set · default: 0

Spam score for the classified message

Type: Map<String, SpamClassifyTag> · server-set

List of tags contributing to the spam classification of the message

Type: SpamClassifyResult · server-set

Overall spam classification result for the message

Cache: Invalidate all caches

Cache: Invalidate negative caches

MTA: Pause queue processing

MTA: Resume queue processing

The Action object is available via the urn:stalwart:jmap capability.

This is a standard Foo/get method as defined in RFC 8620, Section 5.1.

This method requires the sysActionGet permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:Action/get",
{
"ids": [
"id1"
]
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

This is a standard Foo/set method as defined in RFC 8620, Section 5.3.

Supports create, update, and destroy operations in a single call.

This operation requires the sysActionCreate permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:Action/set",
{
"create": {
"new1": {
"@type": "ReloadSettings"
}
}
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

This operation requires the sysActionUpdate permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:Action/set",
{
"update": {
"id1": {
"description": "updated value"
}
}
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

This operation requires the sysActionDestroy permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:Action/set",
{
"destroy": [
"id1"
]
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

This is a standard Foo/query method as defined in RFC 8620, Section 5.5.

This method requires the sysActionQuery permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:Action/query",
{
"filter": {}
},
"c1"
]
],
"using": [
"urn:ietf:params:jmap:core",
"urn:stalwart:jmap"
]
}'

stalwart-cli wraps the same JMAP calls. See the CLI reference for installation, authentication, and general usage.

Terminal window
stalwart-cli get Action id1
Terminal window
stalwart-cli create Action/ReloadSettings
Terminal window
stalwart-cli query Action
Terminal window
stalwart-cli update Action id1 --field description='updated value'
Terminal window
stalwart-cli delete Action --ids id1

Authentication check result for DMARC troubleshooting.

Details for a failed authentication check.

Type: String? · server-set

Authentication result details

A tag and score contributing to spam classification.

Type: Float · server-set · default: 0

Score associated with the tag

Type: SpamClassifyTagDisposition · server-set

Disposition associated with the tag

ValueLabel
noneNo specific action requested
quarantineTreat failing messages as suspicious
rejectReject failing messages
unspecifiedDisposition not specified
ValueLabel
bit77-bit message content
bit8Mime - 8-bit MIME message contentbit8Mime - 8-bit MIME message content
binaryMimeBinary MIME message content
smtpUtf8UTF-8 message content
ValueLabel
scoreAssign the tag’s score to the overall spam score
rejectReject the message
discardDiscard the message
ValueLabel
spamClassify as spam
hamClassify as non-spam (ham)
rejectReject message
discardDiscard message