Skip to content

WebDav

Configures WebDAV protocol settings including property limits and locking.

This object can be configured from the WebUI under Settings › Network › WebDAV

Type: Boolean · default: true

Enables assisted discovery of WebDAV shared collections by modifying PROPFIND requests to the root collection. Requests with depth 1 are automatically changed to depth 2, which may cause compatibility issues with some clients that expect the original behavior.

Type: Duration · default: "1h"

Specifies the maximum duration for which a lock can be held on a resource

Type: UnsignedInt · default: 10

Specifies the maximum number of locks that a user can create on a resource

Type: Size? · default: 1024

Specifies the maximum size of a WebDAV dead property value that the server will accept

Type: Size · default: 250

Specifies the maximum size of a WebDAV live property value that the server will accept

Type: Size · default: "25mb"

Determines the maximum XML size of a WebDAV request that the server will accept

Type: UnsignedInt · default: 2000

Specifies the maximum number of results that a WebDAV query can return

The WebDav singleton is available via the urn:stalwart:jmap capability.

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

For singletons, the ids argument should be the literal singleton (or null to return the single instance).

This method requires the sysWebDavGet permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:WebDav/get",
{
"ids": [
"singleton"
]
},
"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.

For singletons, only the update argument with id singleton is accepted; create and destroy arguments are rejected.

This method requires the sysWebDavUpdate permission.

Terminal window
curl -X POST https://mail.example.com/api \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"methodCalls": [
[
"x:WebDav/set",
{
"update": {
"singleton": {
"enableAssistedDiscovery": true
}
}
},
"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 WebDav
Terminal window
stalwart-cli update WebDav --field enableAssistedDiscovery=true