Skip to main content
Version: 0.16

WebDav

Configures WebDAV protocol settings including property limits and locking.

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

Fields

enableAssistedDiscovery

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.

maxLockTimeout

Type: Duration · default: "1h"

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

maxLocks

Type: UnsignedInt · default: 10

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

deadPropertyMaxSize

Type: Size? · default: 1024

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

livePropertyMaxSize

Type: Size · default: 250

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

requestMaxSize

Type: Size · default: "25mb"

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

maxResults

Type: UnsignedInt · default: 2000

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

JMAP API

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

x:WebDav/get

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.

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"
]
}'

x:WebDav/set

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.

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"
]
}'

CLI

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

Fetch

stalwart-cli get web-dav

Update

stalwart-cli update web-dav --field description='Updated'