Metadata
Configures object metadata: JMAP metadata, WebDAV dead properties and IMAP annotations.
This object can be configured from the WebUI under Settings › Network › Metadata
Fields
Section titled “Fields”dataTypes
Section titled “dataTypes”Type:
Set<MetadataDataType>· default:{"AddressBook":true,"Calendar":true,"CalendarEvent":true,"ContactCard":true,"Email":true,"FileNode":true,"Mailbox":true,"SieveScript":true}JMAP data types that support the metadata and privateMetadata properties
vendorNamespaces
Section titled “vendorNamespaces”Type:
Boolean· default:trueWhether JMAP clients may store metadata under vendor (domain name) namespaces
privateMetadata
Section titled “privateMetadata”Type:
Boolean· default:trueWhether users may store private metadata that only they can see
maxDepth
Section titled “maxDepth”Type:
UnsignedInt?· default:8· min: 1Maximum nesting depth of a JMAP metadata namespace value. Leave empty for no limit
maxEntrySize
Section titled “maxEntrySize”Type:
Size· default:8192· min: 1024Maximum size of a single entry: a JMAP namespace value, a WebDAV dead property or an IMAP annotation
maxSize
Section titled “maxSize”Type:
Size· default:65536· min: 1024Maximum size of the shared metadata of an object
maxPrivateSize
Section titled “maxPrivateSize”Type:
Size· default:16384· min: 1024Maximum size of the private metadata a user stores on an object
maxEntries
Section titled “maxEntries”Type:
UnsignedInt· default:128· min: 10Maximum number of entries in the metadata of an object
maxQueryScan
Section titled “maxQueryScan”Type:
UnsignedInt· default:50000· min: 1Maximum number of annotated objects a JMAP query scans to evaluate a metadata text condition. Queries above this limit reject text conditions
imapServerComment
Section titled “imapServerComment”Type:
Text?Comment returned to IMAP clients as the /shared/comment server annotation
imapServerAdmin
Section titled “imapServerAdmin”Type:
Uri?URI for contacting the server administrator (for example mailto:[email protected]), returned to IMAP clients as the /shared/admin server annotation
JMAP API
Section titled “JMAP API”The Metadata singleton is available via the urn:stalwart:jmap capability.
x:Metadata/get
Section titled “x:Metadata/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 sysMetadataGet permission.
curl -X POST https://mail.example.com/jmap/ \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "methodCalls": [ [ "x:Metadata/get", { "ids": [ "singleton" ] }, "c1" ] ], "using": [ "urn:ietf:params:jmap:core", "urn:stalwart:jmap" ] }'x:Metadata/set
Section titled “x:Metadata/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 sysMetadataUpdate permission.
curl -X POST https://mail.example.com/jmap/ \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "methodCalls": [ [ "x:Metadata/set", { "update": { "singleton": { "imapServerComment": "updated value" } } }, "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.
stalwart-cli get MetadataUpdate
Section titled “Update”stalwart-cli update Metadata --field imapServerComment='updated value'MetadataDataType
Section titled “MetadataDataType”| Value | Label |
|---|---|
Email | |
Mailbox | Mailbox |
SieveScript | Sieve Script |
Calendar | Calendar |
CalendarEvent | Calendar Event |
AddressBook | Address Book |
ContactCard | Contact Card |
FileNode | File Node |