Files
jcoffey-dev c0c00630df
ci / fork-checks (pull_request) Skipped
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 10m26s
Freeze Stalwart 0.16.27 as an import format, with a fixture and a check
From 27.1 the store layout is inbuxa's own, and Stalwart is a migration
source. The one Stalwart format inbuxa keeps reading is 0.16.27's, by
export and import. docs/spec/import-0.16.md says what carries over, what
changes on first start, and what the operator has to change.

tests/resources/import-0.16.27 is a real 0.16.27 export (84K): accounts,
a group, a custom role, a tenant, mail with threads and an attachment,
sharing, calendars, contacts, Sieve and a vacation response, plus a
snapshot of what 0.16.27 served. tools/import-check/check.sh imports it
into an image, compares what that serves against the snapshot, less the
known differences (inbuxa's own role and permissions), then checks
delivery through the imported filter, search after the reindex, and
re-saving a pre-rename filter. It passes on 27.1-rc.4.
make-fixture.sh rebuilds the fixture from the pinned 0.16.27 image, with
no internet, so no upstream download ends up in it.

SPEC.md and migration.md no longer promise an unchanged store format.
2026-10-29 21:42:24 -07:00

1446 lines
41 KiB
JSON

{
"admin": {
"accounts": {
"admin": {
"aliases": [],
"description": "System administrator",
"domain": "example.org",
"groups": [],
"quotas": {},
"roles": [
"Admin"
],
"tenant": false,
"type": "User"
},
"alice": {
"aliases": [
"[email protected]"
],
"description": "Alice Example",
"domain": "example.org",
"groups": [
"sales"
],
"quotas": {},
"roles": [
"Custom",
"Helpdesk",
"User"
],
"tenant": false,
"type": "User"
},
"bob": {
"aliases": [],
"description": "Bob Example",
"domain": "example.org",
"groups": [
"sales"
],
"quotas": {
"maxDiskQuota": 50000000
},
"roles": [
"User"
],
"tenant": false,
"type": "User"
},
"carol": {
"aliases": [],
"description": "Carol Acme",
"domain": "acme.example.com",
"groups": [],
"quotas": {},
"roles": [
"User"
],
"tenant": true,
"type": "User"
},
"sales": {
"aliases": [],
"description": "Sales team",
"domain": "example.org",
"groups": [],
"quotas": {},
"roles": [
"Default"
],
"tenant": false,
"type": "Group"
}
},
"applications": [
"Stalwart Web Interface enabled=True https://github.com/stalwartlabs/webui/releases/download/v1.0.11/webui.zip"
],
"dkim": [
"acme.example.com Dkim1Ed25519Sha256",
"acme.example.com Dkim1RsaSha256",
"example.org Dkim1Ed25519Sha256",
"example.org Dkim1RsaSha256"
],
"domains": [
"acme.example.com",
"example.org"
],
"roles": {
"Group": {
"disabled": [],
"enabled": [
"calendarAlarmsSend",
"calendarSchedulingReceive",
"calendarSchedulingSend",
"davCalAcl",
"davCalCopy",
"davCalDelete",
"davCalFreeBusyQuery",
"davCalGet",
"davCalLock",
"davCalMkCol",
"davCalMove",
"davCalMultiGet",
"davCalPropFind",
"davCalPropPatch",
"davCalPut",
"davCalQuery",
"davCardAcl",
"davCardCopy",
"davCardDelete",
"davCardGet",
"davCardLock",
"davCardMkCol",
"davCardMove",
"davCardMultiGet",
"davCardPropFind",
"davCardPropPatch",
"davCardPut",
"davCardQuery",
"davExpandProperty",
"davFileAcl",
"davFileCopy",
"davFileDelete",
"davFileGet",
"davFileLock",
"davFileMkCol",
"davFileMove",
"davFilePropFind",
"davFilePropPatch",
"davFilePut",
"davPrincipalAcl",
"davPrincipalList",
"davPrincipalMatch",
"davPrincipalSearch",
"davPrincipalSearchPropSet",
"davSyncCollection",
"emailReceive",
"emailSend",
"imapAclGet",
"imapAclSet",
"imapAppend",
"imapAuthenticate",
"imapCapability",
"imapCopy",
"imapCreate",
"imapDelete",
"imapEnable",
"imapExamine",
"imapExpunge",
"imapFetch",
"imapId",
"imapIdle",
"imapList",
"imapListRights",
"imapLsub",
"imapMove",
"imapMyRights",
"imapNamespace",
"imapRename",
"imapSearch",
"imapSelect",
"imapSort",
"imapStatus",
"imapStore",
"imapSubscribe",
"imapThread",
"jmapAddressBookChanges",
"jmapAddressBookCreate",
"jmapAddressBookDestroy",
"jmapAddressBookGet",
"jmapAddressBookUpdate",
"jmapBlobCopy",
"jmapBlobGet",
"jmapBlobLookup",
"jmapBlobUpload",
"jmapCalendarChanges",
"jmapCalendarCreate",
"jmapCalendarDestroy",
"jmapCalendarEventChanges",
"jmapCalendarEventCopy",
"jmapCalendarEventCreate",
"jmapCalendarEventDestroy",
"jmapCalendarEventGet",
"jmapCalendarEventNotificationChanges",
"jmapCalendarEventNotificationCreate",
"jmapCalendarEventNotificationDestroy",
"jmapCalendarEventNotificationGet",
"jmapCalendarEventNotificationQuery",
"jmapCalendarEventNotificationQueryChanges",
"jmapCalendarEventNotificationUpdate",
"jmapCalendarEventParse",
"jmapCalendarEventQuery",
"jmapCalendarEventQueryChanges",
"jmapCalendarEventUpdate",
"jmapCalendarGet",
"jmapCalendarUpdate",
"jmapContactCardChanges",
"jmapContactCardCopy",
"jmapContactCardCreate",
"jmapContactCardDestroy",
"jmapContactCardGet",
"jmapContactCardParse",
"jmapContactCardQuery",
"jmapContactCardQueryChanges",
"jmapContactCardUpdate",
"jmapCoreEcho",
"jmapEmailChanges",
"jmapEmailCopy",
"jmapEmailCreate",
"jmapEmailDestroy",
"jmapEmailGet",
"jmapEmailImport",
"jmapEmailParse",
"jmapEmailQuery",
"jmapEmailQueryChanges",
"jmapEmailSubmissionChanges",
"jmapEmailSubmissionCreate",
"jmapEmailSubmissionDestroy",
"jmapEmailSubmissionGet",
"jmapEmailSubmissionQuery",
"jmapEmailSubmissionQueryChanges",
"jmapEmailSubmissionUpdate",
"jmapEmailUpdate",
"jmapFileNodeChanges",
"jmapFileNodeCopy",
"jmapFileNodeCreate",
"jmapFileNodeDestroy",
"jmapFileNodeGet",
"jmapFileNodeQuery",
"jmapFileNodeQueryChanges",
"jmapFileNodeUpdate",
"jmapIdentityChanges",
"jmapIdentityCreate",
"jmapIdentityDestroy",
"jmapIdentityGet",
"jmapIdentityUpdate",
"jmapMailboxChanges",
"jmapMailboxCreate",
"jmapMailboxDestroy",
"jmapMailboxGet",
"jmapMailboxQuery",
"jmapMailboxQueryChanges",
"jmapMailboxUpdate",
"jmapParticipantIdentityChanges",
"jmapParticipantIdentityCreate",
"jmapParticipantIdentityDestroy",
"jmapParticipantIdentityGet",
"jmapParticipantIdentityUpdate",
"jmapPrincipalChanges",
"jmapPrincipalCreate",
"jmapPrincipalDestroy",
"jmapPrincipalGet",
"jmapPrincipalGetAvailability",
"jmapPrincipalQuery",
"jmapPrincipalQueryChanges",
"jmapPrincipalUpdate",
"jmapPushSubscriptionCreate",
"jmapPushSubscriptionDestroy",
"jmapPushSubscriptionGet",
"jmapPushSubscriptionUpdate",
"jmapQuotaChanges",
"jmapQuotaGet",
"jmapQuotaQuery",
"jmapQuotaQueryChanges",
"jmapSearchSnippetGet",
"jmapShareNotificationChanges",
"jmapShareNotificationCreate",
"jmapShareNotificationDestroy",
"jmapShareNotificationGet",
"jmapShareNotificationQuery",
"jmapShareNotificationQueryChanges",
"jmapShareNotificationUpdate",
"jmapSieveScriptCreate",
"jmapSieveScriptDestroy",
"jmapSieveScriptGet",
"jmapSieveScriptQuery",
"jmapSieveScriptUpdate",
"jmapSieveScriptValidate",
"jmapThreadChanges",
"jmapThreadGet",
"jmapVacationResponseCreate",
"jmapVacationResponseDestroy",
"jmapVacationResponseGet",
"jmapVacationResponseUpdate",
"pop3Authenticate",
"pop3Dele",
"pop3List",
"pop3Retr",
"pop3Stat",
"pop3Uidl",
"sieveAuthenticate",
"sieveCheckScript",
"sieveDeleteScript",
"sieveGetScript",
"sieveHaveSpace",
"sieveListScripts",
"sievePutScript",
"sieveRenameScript",
"sieveSetActive",
"sysAccountSettingsGet",
"sysAccountSettingsUpdate",
"sysArchivedItemCreate",
"sysArchivedItemDestroy",
"sysArchivedItemGet",
"sysArchivedItemQuery",
"sysArchivedItemUpdate",
"sysMaskedEmailCreate",
"sysMaskedEmailDestroy",
"sysMaskedEmailGet",
"sysMaskedEmailQuery",
"sysMaskedEmailUpdate",
"sysPublicKeyCreate",
"sysPublicKeyDestroy",
"sysPublicKeyGet",
"sysPublicKeyQuery",
"sysPublicKeyUpdate",
"sysSpamTrainingSampleDestroy",
"sysSpamTrainingSampleGet",
"sysSpamTrainingSampleQuery",
"sysSpamTrainingSampleUpdate"
],
"inherits": []
},
"Helpdesk": {
"disabled": [],
"enabled": [
"sysAccountGet",
"sysAccountQuery",
"sysQueuedMessageGet"
],
"inherits": []
},
"System Administrator": {
"disabled": [],
"enabled": [
"actionClassifySpam",
"actionInvalidateCaches",
"actionInvalidateNegativeCaches",
"actionPauseMtaQueue",
"actionReloadBlockedIps",
"actionReloadLookupStores",
"actionReloadSettings",
"actionReloadTlsCertificates",
"actionResumeMtaQueue",
"actionTroubleshootDmarc",
"actionUpdateApps",
"authenticate",
"authenticateWithAlias",
"fetchAnyBlob",
"impersonate",
"interactAi",
"liveDeliveryTest",
"liveMetrics",
"liveTracing",
"oAuthClientOverride",
"oAuthClientRegistration",
"scimAccess",
"sysAccountCreate",
"sysAccountDestroy",
"sysAccountGet",
"sysAccountPasswordGet",
"sysAccountPasswordUpdate",
"sysAccountQuery",
"sysAccountSettingsGet",
"sysAccountSettingsUpdate",
"sysAccountUpdate",
"sysAcmeProviderCreate",
"sysAcmeProviderDestroy",
"sysAcmeProviderGet",
"sysAcmeProviderQuery",
"sysAcmeProviderUpdate",
"sysActionCreate",
"sysActionDestroy",
"sysActionGet",
"sysActionQuery",
"sysActionUpdate",
"sysAddressBookGet",
"sysAddressBookUpdate",
"sysAiModelCreate",
"sysAiModelDestroy",
"sysAiModelGet",
"sysAiModelQuery",
"sysAiModelUpdate",
"sysAlertCreate",
"sysAlertDestroy",
"sysAlertGet",
"sysAlertQuery",
"sysAlertUpdate",
"sysAllowedIpCreate",
"sysAllowedIpDestroy",
"sysAllowedIpGet",
"sysAllowedIpQuery",
"sysAllowedIpUpdate",
"sysApiKeyCreate",
"sysApiKeyDestroy",
"sysApiKeyGet",
"sysApiKeyQuery",
"sysApiKeyUpdate",
"sysAppPasswordCreate",
"sysAppPasswordDestroy",
"sysAppPasswordGet",
"sysAppPasswordQuery",
"sysAppPasswordUpdate",
"sysApplicationCreate",
"sysApplicationDestroy",
"sysApplicationGet",
"sysApplicationQuery",
"sysApplicationUpdate",
"sysArchivedItemCreate",
"sysArchivedItemDestroy",
"sysArchivedItemGet",
"sysArchivedItemQuery",
"sysArchivedItemUpdate",
"sysArfExternalReportCreate",
"sysArfExternalReportDestroy",
"sysArfExternalReportGet",
"sysArfExternalReportQuery",
"sysArfExternalReportUpdate",
"sysAsnGet",
"sysAsnUpdate",
"sysAuthenticationGet",
"sysAuthenticationUpdate",
"sysBlobStoreGet",
"sysBlobStoreUpdate",
"sysBlockedIpCreate",
"sysBlockedIpDestroy",
"sysBlockedIpGet",
"sysBlockedIpQuery",
"sysBlockedIpUpdate",
"sysBootstrapGet",
"sysBootstrapUpdate",
"sysCacheGet",
"sysCacheUpdate",
"sysCalendarAlarmGet",
"sysCalendarAlarmUpdate",
"sysCalendarGet",
"sysCalendarSchedulingGet",
"sysCalendarSchedulingUpdate",
"sysCalendarUpdate",
"sysCertificateCreate",
"sysCertificateDestroy",
"sysCertificateGet",
"sysCertificateQuery",
"sysCertificateUpdate",
"sysClusterNodeCreate",
"sysClusterNodeDestroy",
"sysClusterNodeGet",
"sysClusterNodeQuery",
"sysClusterNodeUpdate",
"sysClusterRoleCreate",
"sysClusterRoleDestroy",
"sysClusterRoleGet",
"sysClusterRoleQuery",
"sysClusterRoleUpdate",
"sysCoordinatorGet",
"sysCoordinatorUpdate",
"sysDataRetentionGet",
"sysDataRetentionUpdate",
"sysDataStoreGet",
"sysDataStoreUpdate",
"sysDirectoryCreate",
"sysDirectoryDestroy",
"sysDirectoryGet",
"sysDirectoryQuery",
"sysDirectoryUpdate",
"sysDkimReportSettingsGet",
"sysDkimReportSettingsUpdate",
"sysDkimSignatureCreate",
"sysDkimSignatureDestroy",
"sysDkimSignatureGet",
"sysDkimSignatureQuery",
"sysDkimSignatureUpdate",
"sysDmarcExternalReportCreate",
"sysDmarcExternalReportDestroy",
"sysDmarcExternalReportGet",
"sysDmarcExternalReportQuery",
"sysDmarcExternalReportUpdate",
"sysDmarcInternalReportCreate",
"sysDmarcInternalReportDestroy",
"sysDmarcInternalReportGet",
"sysDmarcInternalReportQuery",
"sysDmarcInternalReportUpdate",
"sysDmarcReportSettingsGet",
"sysDmarcReportSettingsUpdate",
"sysDnsResolverGet",
"sysDnsResolverUpdate",
"sysDnsServerCreate",
"sysDnsServerDestroy",
"sysDnsServerGet",
"sysDnsServerQuery",
"sysDnsServerUpdate",
"sysDomainCreate",
"sysDomainDestroy",
"sysDomainGet",
"sysDomainQuery",
"sysDomainUpdate",
"sysDsnReportSettingsGet",
"sysDsnReportSettingsUpdate",
"sysEmailGet",
"sysEmailUpdate",
"sysEnterpriseGet",
"sysEnterpriseUpdate",
"sysEventTracingLevelCreate",
"sysEventTracingLevelDestroy",
"sysEventTracingLevelGet",
"sysEventTracingLevelQuery",
"sysEventTracingLevelUpdate",
"sysFileStorageGet",
"sysFileStorageUpdate",
"sysHttpFormGet",
"sysHttpFormUpdate",
"sysHttpGet",
"sysHttpLookupCreate",
"sysHttpLookupDestroy",
"sysHttpLookupGet",
"sysHttpLookupQuery",
"sysHttpLookupUpdate",
"sysHttpUpdate",
"sysImapGet",
"sysImapUpdate",
"sysInMemoryStoreGet",
"sysInMemoryStoreUpdate",
"sysJmapGet",
"sysJmapUpdate",
"sysLogCreate",
"sysLogDestroy",
"sysLogGet",
"sysLogQuery",
"sysLogUpdate",
"sysMailingListCreate",
"sysMailingListDestroy",
"sysMailingListGet",
"sysMailingListQuery",
"sysMailingListUpdate",
"sysMaskedEmailCreate",
"sysMaskedEmailDestroy",
"sysMaskedEmailGet",
"sysMaskedEmailQuery",
"sysMaskedEmailUpdate",
"sysMemoryLookupKeyCreate",
"sysMemoryLookupKeyDestroy",
"sysMemoryLookupKeyGet",
"sysMemoryLookupKeyQuery",
"sysMemoryLookupKeyUpdate",
"sysMemoryLookupKeyValueCreate",
"sysMemoryLookupKeyValueDestroy",
"sysMemoryLookupKeyValueGet",
"sysMemoryLookupKeyValueQuery",
"sysMemoryLookupKeyValueUpdate",
"sysMetricCreate",
"sysMetricDestroy",
"sysMetricGet",
"sysMetricQuery",
"sysMetricUpdate",
"sysMetricsGet",
"sysMetricsStoreGet",
"sysMetricsStoreUpdate",
"sysMetricsUpdate",
"sysMtaConnectionStrategyCreate",
"sysMtaConnectionStrategyDestroy",
"sysMtaConnectionStrategyGet",
"sysMtaConnectionStrategyQuery",
"sysMtaConnectionStrategyUpdate",
"sysMtaDeliveryScheduleCreate",
"sysMtaDeliveryScheduleDestroy",
"sysMtaDeliveryScheduleGet",
"sysMtaDeliveryScheduleQuery",
"sysMtaDeliveryScheduleUpdate",
"sysMtaExtensionsGet",
"sysMtaExtensionsUpdate",
"sysMtaHookCreate",
"sysMtaHookDestroy",
"sysMtaHookGet",
"sysMtaHookQuery",
"sysMtaHookUpdate",
"sysMtaInboundSessionGet",
"sysMtaInboundSessionUpdate",
"sysMtaInboundThrottleCreate",
"sysMtaInboundThrottleDestroy",
"sysMtaInboundThrottleGet",
"sysMtaInboundThrottleQuery",
"sysMtaInboundThrottleUpdate",
"sysMtaMilterCreate",
"sysMtaMilterDestroy",
"sysMtaMilterGet",
"sysMtaMilterQuery",
"sysMtaMilterUpdate",
"sysMtaOutboundStrategyGet",
"sysMtaOutboundStrategyUpdate",
"sysMtaOutboundThrottleCreate",
"sysMtaOutboundThrottleDestroy",
"sysMtaOutboundThrottleGet",
"sysMtaOutboundThrottleQuery",
"sysMtaOutboundThrottleUpdate",
"sysMtaQueueQuotaCreate",
"sysMtaQueueQuotaDestroy",
"sysMtaQueueQuotaGet",
"sysMtaQueueQuotaQuery",
"sysMtaQueueQuotaUpdate",
"sysMtaRouteCreate",
"sysMtaRouteDestroy",
"sysMtaRouteGet",
"sysMtaRouteQuery",
"sysMtaRouteUpdate",
"sysMtaStageAuthGet",
"sysMtaStageAuthUpdate",
"sysMtaStageConnectGet",
"sysMtaStageConnectUpdate",
"sysMtaStageDataGet",
"sysMtaStageDataUpdate",
"sysMtaStageEhloGet",
"sysMtaStageEhloUpdate",
"sysMtaStageMailGet",
"sysMtaStageMailUpdate",
"sysMtaStageRcptGet",
"sysMtaStageRcptUpdate",
"sysMtaStsGet",
"sysMtaStsUpdate",
"sysMtaTlsStrategyCreate",
"sysMtaTlsStrategyDestroy",
"sysMtaTlsStrategyGet",
"sysMtaTlsStrategyQuery",
"sysMtaTlsStrategyUpdate",
"sysMtaVirtualQueueCreate",
"sysMtaVirtualQueueDestroy",
"sysMtaVirtualQueueGet",
"sysMtaVirtualQueueQuery",
"sysMtaVirtualQueueUpdate",
"sysNetworkListenerCreate",
"sysNetworkListenerDestroy",
"sysNetworkListenerGet",
"sysNetworkListenerQuery",
"sysNetworkListenerUpdate",
"sysOAuthClientCreate",
"sysOAuthClientDestroy",
"sysOAuthClientGet",
"sysOAuthClientQuery",
"sysOAuthClientUpdate",
"sysOidcProviderGet",
"sysOidcProviderUpdate",
"sysPublicKeyCreate",
"sysPublicKeyDestroy",
"sysPublicKeyGet",
"sysPublicKeyQuery",
"sysPublicKeyUpdate",
"sysQueuedMessageCreate",
"sysQueuedMessageDestroy",
"sysQueuedMessageGet",
"sysQueuedMessageQuery",
"sysQueuedMessageUpdate",
"sysReportSettingsGet",
"sysReportSettingsUpdate",
"sysRoleCreate",
"sysRoleDestroy",
"sysRoleGet",
"sysRoleQuery",
"sysRoleUpdate",
"sysSearchGet",
"sysSearchStoreGet",
"sysSearchStoreUpdate",
"sysSearchUpdate",
"sysSecurityGet",
"sysSecurityUpdate",
"sysSenderAuthGet",
"sysSenderAuthUpdate",
"sysSharingGet",
"sysSharingUpdate",
"sysSieveSystemInterpreterGet",
"sysSieveSystemInterpreterUpdate",
"sysSieveSystemScriptCreate",
"sysSieveSystemScriptDestroy",
"sysSieveSystemScriptGet",
"sysSieveSystemScriptQuery",
"sysSieveSystemScriptUpdate",
"sysSieveUserInterpreterGet",
"sysSieveUserInterpreterUpdate",
"sysSieveUserScriptCreate",
"sysSieveUserScriptDestroy",
"sysSieveUserScriptGet",
"sysSieveUserScriptQuery",
"sysSieveUserScriptUpdate",
"sysSpamClassifierGet",
"sysSpamClassifierUpdate",
"sysSpamDnsblServerCreate",
"sysSpamDnsblServerDestroy",
"sysSpamDnsblServerGet",
"sysSpamDnsblServerQuery",
"sysSpamDnsblServerUpdate",
"sysSpamDnsblSettingsGet",
"sysSpamDnsblSettingsUpdate",
"sysSpamFileExtensionCreate",
"sysSpamFileExtensionDestroy",
"sysSpamFileExtensionGet",
"sysSpamFileExtensionQuery",
"sysSpamFileExtensionUpdate",
"sysSpamLlmGet",
"sysSpamLlmUpdate",
"sysSpamPyzorGet",
"sysSpamPyzorUpdate",
"sysSpamRuleCreate",
"sysSpamRuleDestroy",
"sysSpamRuleGet",
"sysSpamRuleQuery",
"sysSpamRuleUpdate",
"sysSpamSettingsGet",
"sysSpamSettingsUpdate",
"sysSpamTagCreate",
"sysSpamTagDestroy",
"sysSpamTagGet",
"sysSpamTagQuery",
"sysSpamTagUpdate",
"sysSpamTrainingSampleCreate",
"sysSpamTrainingSampleDestroy",
"sysSpamTrainingSampleGet",
"sysSpamTrainingSampleQuery",
"sysSpamTrainingSampleUpdate",
"sysSpfReportSettingsGet",
"sysSpfReportSettingsUpdate",
"sysStoreLookupCreate",
"sysStoreLookupDestroy",
"sysStoreLookupGet",
"sysStoreLookupQuery",
"sysStoreLookupUpdate",
"sysSystemSettingsGet",
"sysSystemSettingsUpdate",
"sysTaskCreate",
"sysTaskDestroy",
"sysTaskGet",
"sysTaskManagerGet",
"sysTaskManagerUpdate",
"sysTaskQuery",
"sysTaskUpdate",
"sysTenantCreate",
"sysTenantDestroy",
"sysTenantGet",
"sysTenantQuery",
"sysTenantUpdate",
"sysTlsExternalReportCreate",
"sysTlsExternalReportDestroy",
"sysTlsExternalReportGet",
"sysTlsExternalReportQuery",
"sysTlsExternalReportUpdate",
"sysTlsInternalReportCreate",
"sysTlsInternalReportDestroy",
"sysTlsInternalReportGet",
"sysTlsInternalReportQuery",
"sysTlsInternalReportUpdate",
"sysTlsReportSettingsGet",
"sysTlsReportSettingsUpdate",
"sysTraceCreate",
"sysTraceDestroy",
"sysTraceGet",
"sysTraceQuery",
"sysTraceUpdate",
"sysTracerCreate",
"sysTracerDestroy",
"sysTracerGet",
"sysTracerQuery",
"sysTracerUpdate",
"sysTracingStoreGet",
"sysTracingStoreUpdate",
"sysWebDavGet",
"sysWebDavUpdate",
"sysWebHookCreate",
"sysWebHookDestroy",
"sysWebHookGet",
"sysWebHookQuery",
"sysWebHookUpdate",
"taskAccountMaintenance",
"taskAcmeRenewal",
"taskCalendarAlarmEmail",
"taskCalendarAlarmNotification",
"taskCalendarItipMessage",
"taskDestroyAccount",
"taskDkimManagement",
"taskDmarcReport",
"taskDnsManagement",
"taskIndexDocument",
"taskIndexTrace",
"taskMergeThreads",
"taskRestoreArchivedItem",
"taskSpamFilterMaintenance",
"taskStoreMaintenance",
"taskTenantMaintenance",
"taskTlsReport",
"taskUnindexDocument",
"unlimitedRequests",
"unlimitedUploads"
],
"inherits": []
},
"Tenant Administrator": {
"disabled": [],
"enabled": [
"authenticate",
"authenticateWithAlias",
"fetchAnyBlob",
"interactAi",
"liveDeliveryTest",
"sysAccountCreate",
"sysAccountDestroy",
"sysAccountGet",
"sysAccountQuery",
"sysAccountUpdate",
"sysAcmeProviderCreate",
"sysAcmeProviderDestroy",
"sysAcmeProviderGet",
"sysAcmeProviderQuery",
"sysAcmeProviderUpdate",
"sysDkimSignatureCreate",
"sysDkimSignatureDestroy",
"sysDkimSignatureGet",
"sysDkimSignatureQuery",
"sysDkimSignatureUpdate",
"sysDnsServerCreate",
"sysDnsServerDestroy",
"sysDnsServerGet",
"sysDnsServerQuery",
"sysDnsServerUpdate",
"sysDomainCreate",
"sysDomainDestroy",
"sysDomainGet",
"sysDomainQuery",
"sysDomainUpdate",
"sysMailingListCreate",
"sysMailingListDestroy",
"sysMailingListGet",
"sysMailingListQuery",
"sysMailingListUpdate",
"sysOAuthClientCreate",
"sysOAuthClientDestroy",
"sysOAuthClientGet",
"sysOAuthClientQuery",
"sysOAuthClientUpdate",
"sysQueuedMessageCreate",
"sysQueuedMessageDestroy",
"sysQueuedMessageGet",
"sysQueuedMessageQuery",
"sysQueuedMessageUpdate",
"sysRoleCreate",
"sysRoleDestroy",
"sysRoleGet",
"sysRoleQuery",
"sysRoleUpdate"
],
"inherits": []
},
"User": {
"disabled": [],
"enabled": [
"authenticate",
"authenticateWithAlias",
"calendarAlarmsSend",
"calendarSchedulingReceive",
"calendarSchedulingSend",
"davCalAcl",
"davCalCopy",
"davCalDelete",
"davCalFreeBusyQuery",
"davCalGet",
"davCalLock",
"davCalMkCol",
"davCalMove",
"davCalMultiGet",
"davCalPropFind",
"davCalPropPatch",
"davCalPut",
"davCalQuery",
"davCardAcl",
"davCardCopy",
"davCardDelete",
"davCardGet",
"davCardLock",
"davCardMkCol",
"davCardMove",
"davCardMultiGet",
"davCardPropFind",
"davCardPropPatch",
"davCardPut",
"davCardQuery",
"davExpandProperty",
"davFileAcl",
"davFileCopy",
"davFileDelete",
"davFileGet",
"davFileLock",
"davFileMkCol",
"davFileMove",
"davFilePropFind",
"davFilePropPatch",
"davFilePut",
"davPrincipalAcl",
"davPrincipalList",
"davPrincipalMatch",
"davPrincipalSearch",
"davPrincipalSearchPropSet",
"davSyncCollection",
"emailReceive",
"emailSend",
"imapAclGet",
"imapAclSet",
"imapAppend",
"imapAuthenticate",
"imapCapability",
"imapCopy",
"imapCreate",
"imapDelete",
"imapEnable",
"imapExamine",
"imapExpunge",
"imapFetch",
"imapId",
"imapIdle",
"imapList",
"imapListRights",
"imapLsub",
"imapMove",
"imapMyRights",
"imapNamespace",
"imapRename",
"imapSearch",
"imapSelect",
"imapSort",
"imapStatus",
"imapStore",
"imapSubscribe",
"imapThread",
"interactAi",
"jmapAddressBookChanges",
"jmapAddressBookCreate",
"jmapAddressBookDestroy",
"jmapAddressBookGet",
"jmapAddressBookUpdate",
"jmapBlobCopy",
"jmapBlobGet",
"jmapBlobLookup",
"jmapBlobUpload",
"jmapCalendarChanges",
"jmapCalendarCreate",
"jmapCalendarDestroy",
"jmapCalendarEventChanges",
"jmapCalendarEventCopy",
"jmapCalendarEventCreate",
"jmapCalendarEventDestroy",
"jmapCalendarEventGet",
"jmapCalendarEventNotificationChanges",
"jmapCalendarEventNotificationCreate",
"jmapCalendarEventNotificationDestroy",
"jmapCalendarEventNotificationGet",
"jmapCalendarEventNotificationQuery",
"jmapCalendarEventNotificationQueryChanges",
"jmapCalendarEventNotificationUpdate",
"jmapCalendarEventParse",
"jmapCalendarEventQuery",
"jmapCalendarEventQueryChanges",
"jmapCalendarEventUpdate",
"jmapCalendarGet",
"jmapCalendarUpdate",
"jmapContactCardChanges",
"jmapContactCardCopy",
"jmapContactCardCreate",
"jmapContactCardDestroy",
"jmapContactCardGet",
"jmapContactCardParse",
"jmapContactCardQuery",
"jmapContactCardQueryChanges",
"jmapContactCardUpdate",
"jmapCoreEcho",
"jmapEmailChanges",
"jmapEmailCopy",
"jmapEmailCreate",
"jmapEmailDestroy",
"jmapEmailGet",
"jmapEmailImport",
"jmapEmailParse",
"jmapEmailQuery",
"jmapEmailQueryChanges",
"jmapEmailSubmissionChanges",
"jmapEmailSubmissionCreate",
"jmapEmailSubmissionDestroy",
"jmapEmailSubmissionGet",
"jmapEmailSubmissionQuery",
"jmapEmailSubmissionQueryChanges",
"jmapEmailSubmissionUpdate",
"jmapEmailUpdate",
"jmapFileNodeChanges",
"jmapFileNodeCopy",
"jmapFileNodeCreate",
"jmapFileNodeDestroy",
"jmapFileNodeGet",
"jmapFileNodeQuery",
"jmapFileNodeQueryChanges",
"jmapFileNodeUpdate",
"jmapIdentityChanges",
"jmapIdentityCreate",
"jmapIdentityDestroy",
"jmapIdentityGet",
"jmapIdentityUpdate",
"jmapMailboxChanges",
"jmapMailboxCreate",
"jmapMailboxDestroy",
"jmapMailboxGet",
"jmapMailboxQuery",
"jmapMailboxQueryChanges",
"jmapMailboxUpdate",
"jmapParticipantIdentityChanges",
"jmapParticipantIdentityCreate",
"jmapParticipantIdentityDestroy",
"jmapParticipantIdentityGet",
"jmapParticipantIdentityUpdate",
"jmapPrincipalChanges",
"jmapPrincipalCreate",
"jmapPrincipalDestroy",
"jmapPrincipalGet",
"jmapPrincipalGetAvailability",
"jmapPrincipalQuery",
"jmapPrincipalQueryChanges",
"jmapPrincipalUpdate",
"jmapPushSubscriptionCreate",
"jmapPushSubscriptionDestroy",
"jmapPushSubscriptionGet",
"jmapPushSubscriptionUpdate",
"jmapQuotaChanges",
"jmapQuotaGet",
"jmapQuotaQuery",
"jmapQuotaQueryChanges",
"jmapSearchSnippetGet",
"jmapShareNotificationChanges",
"jmapShareNotificationCreate",
"jmapShareNotificationDestroy",
"jmapShareNotificationGet",
"jmapShareNotificationQuery",
"jmapShareNotificationQueryChanges",
"jmapShareNotificationUpdate",
"jmapSieveScriptCreate",
"jmapSieveScriptDestroy",
"jmapSieveScriptGet",
"jmapSieveScriptQuery",
"jmapSieveScriptUpdate",
"jmapSieveScriptValidate",
"jmapThreadChanges",
"jmapThreadGet",
"jmapVacationResponseCreate",
"jmapVacationResponseDestroy",
"jmapVacationResponseGet",
"jmapVacationResponseUpdate",
"pop3Authenticate",
"pop3Dele",
"pop3List",
"pop3Retr",
"pop3Stat",
"pop3Uidl",
"sieveAuthenticate",
"sieveCheckScript",
"sieveDeleteScript",
"sieveGetScript",
"sieveHaveSpace",
"sieveListScripts",
"sievePutScript",
"sieveRenameScript",
"sieveSetActive",
"sysAccountPasswordGet",
"sysAccountPasswordUpdate",
"sysAccountSettingsGet",
"sysAccountSettingsUpdate",
"sysApiKeyCreate",
"sysApiKeyDestroy",
"sysApiKeyGet",
"sysApiKeyQuery",
"sysApiKeyUpdate",
"sysAppPasswordCreate",
"sysAppPasswordDestroy",
"sysAppPasswordGet",
"sysAppPasswordQuery",
"sysAppPasswordUpdate",
"sysArchivedItemCreate",
"sysArchivedItemDestroy",
"sysArchivedItemGet",
"sysArchivedItemQuery",
"sysArchivedItemUpdate",
"sysMaskedEmailCreate",
"sysMaskedEmailDestroy",
"sysMaskedEmailGet",
"sysMaskedEmailQuery",
"sysMaskedEmailUpdate",
"sysPublicKeyCreate",
"sysPublicKeyDestroy",
"sysPublicKeyGet",
"sysPublicKeyQuery",
"sysPublicKeyUpdate",
"sysSpamTrainingSampleDestroy",
"sysSpamTrainingSampleGet",
"sysSpamTrainingSampleQuery",
"sysSpamTrainingSampleUpdate"
],
"inherits": []
}
},
"tenants": [
"acme"
]
},
"alice": {
"contacts": [
{
"emails": [
"[email protected]"
],
"name": "Carol Client"
}
],
"emails": [
{
"hasAttachment": true,
"keywords": [],
"mailboxes": [
"Inbox"
],
"messageId": [
"[email protected]"
],
"receivedAt": "2026-10-26T09:03:00Z",
"size": 525,
"subject": "Invoice attached",
"thread": [
"Invoice attached"
]
},
{
"hasAttachment": false,
"keywords": [
"$flagged"
],
"mailboxes": [
"Projects"
],
"messageId": [
"[email protected]"
],
"receivedAt": "2026-10-26T09:02:00Z",
"size": 230,
"subject": "Project kickoff",
"thread": [
"Project kickoff"
]
},
{
"hasAttachment": false,
"keywords": [
"$seen"
],
"mailboxes": [
"Inbox"
],
"messageId": [
"[email protected]"
],
"receivedAt": "2026-10-26T09:00:00Z",
"size": 246,
"subject": "Quarterly numbers",
"thread": [
"Quarterly numbers",
"Re: Quarterly numbers"
]
},
{
"hasAttachment": false,
"keywords": [
"$answered",
"$seen"
],
"mailboxes": [
"Inbox"
],
"messageId": [
"[email protected]"
],
"receivedAt": "2026-10-26T09:01:00Z",
"size": 293,
"subject": "Re: Quarterly numbers",
"thread": [
"Quarterly numbers",
"Re: Quarterly numbers"
]
}
],
"events": [
{
"duration": "PT15M",
"rrule": "weekly",
"start": "2026-11-02T09:30:00",
"timeZone": "America/Phoenix",
"title": "Team standup"
}
],
"mailboxes": {
"Deleted Items": {
"role": "trash",
"total": 0,
"unread": 0
},
"Drafts": {
"role": "drafts",
"total": 0,
"unread": 0
},
"Inbox": {
"role": "inbox",
"total": 3,
"unread": 1
},
"Junk Mail": {
"role": "junk",
"total": 0,
"unread": 0
},
"Projects": {
"role": null,
"total": 1,
"unread": 1
},
"Projects/2026": {
"role": null,
"total": 0,
"unread": 0
},
"Sent Items": {
"role": "sent",
"total": 0,
"unread": 0
}
},
"sharedAccounts": [
"[email protected]",
"[email protected]"
],
"sieve": [
{
"content": "require [\"fileinto\", \"vnd.stalwart.expressions\"];\r\nlet \"who\" \"envelope.from\";\r\nif header :contains \"subject\" \"kickoff\" { fileinto \"Projects\"; }\r\n",
"isActive": true,
"name": "filters"
},
{
"content": "require [\"vacation\", \"relational\", \"date\"];\r\n\r\nvacation :mime :subject \"Away\" \"Content-Type: text/plain; charset=\\\"utf-8\\\"\r\nContent-Transfer-Encoding: 7bit\r\n\r\nBack on Monday.\";\r\n",
"isActive": false,
"name": "vacation"
}
],
"vacation": {
"isEnabled": false,
"subject": "Away",
"textBody": "Back on Monday."
}
},
"bob": {
"contacts": [
{
"emails": [
"[email protected]"
],
"name": "Carol Client"
}
],
"emails": [
{
"hasAttachment": true,
"keywords": [],
"mailboxes": [
"Inbox"
],
"messageId": [
"[email protected]"
],
"receivedAt": "2026-10-26T09:03:00Z",
"size": 525,
"subject": "Invoice attached",
"thread": [
"Invoice attached"
]
},
{
"hasAttachment": false,
"keywords": [
"$flagged"
],
"mailboxes": [
"Projects"
],
"messageId": [
"[email protected]"
],
"receivedAt": "2026-10-26T09:02:00Z",
"size": 230,
"subject": "Project kickoff",
"thread": [
"Project kickoff"
]
},
{
"hasAttachment": false,
"keywords": [
"$seen"
],
"mailboxes": [
"Inbox"
],
"messageId": [
"[email protected]"
],
"receivedAt": "2026-10-26T09:00:00Z",
"size": 246,
"subject": "Quarterly numbers",
"thread": [
"Quarterly numbers",
"Re: Quarterly numbers"
]
},
{
"hasAttachment": false,
"keywords": [
"$answered",
"$seen"
],
"mailboxes": [
"Inbox"
],
"messageId": [
"[email protected]"
],
"receivedAt": "2026-10-26T09:01:00Z",
"size": 293,
"subject": "Re: Quarterly numbers",
"thread": [
"Quarterly numbers",
"Re: Quarterly numbers"
]
}
],
"events": [
{
"duration": "PT15M",
"rrule": "weekly",
"start": "2026-11-02T09:30:00",
"timeZone": "America/Phoenix",
"title": "Team standup"
}
],
"mailboxes": {
"Deleted Items": {
"role": "trash",
"total": 0,
"unread": 0
},
"Drafts": {
"role": "drafts",
"total": 0,
"unread": 0
},
"Inbox": {
"role": "inbox",
"total": 3,
"unread": 1
},
"Junk Mail": {
"role": "junk",
"total": 0,
"unread": 0
},
"Projects": {
"role": null,
"total": 1,
"unread": 1
},
"Projects/2026": {
"role": null,
"total": 0,
"unread": 0
},
"Sent Items": {
"role": "sent",
"total": 0,
"unread": 0
}
},
"sharedAccounts": [
"[email protected]"
],
"sieve": [
{
"content": "require [\"fileinto\", \"vnd.stalwart.expressions\"];\r\nlet \"who\" \"envelope.from\";\r\nif header :contains \"subject\" \"kickoff\" { fileinto \"Projects\"; }\r\n",
"isActive": true,
"name": "filters"
},
{
"content": "require [\"vacation\", \"relational\", \"date\"];\r\n\r\nvacation :mime :subject \"Away\" \"Content-Type: text/plain; charset=\\\"utf-8\\\"\r\nContent-Transfer-Encoding: 7bit\r\n\r\nBack on Monday.\";\r\n",
"isActive": false,
"name": "vacation"
}
],
"vacation": {
"isEnabled": false,
"subject": "Away",
"textBody": "Back on Monday."
}
},
"carol": {
"contacts": [],
"emails": [],
"events": [],
"mailboxes": {
"Deleted Items": {
"role": "trash",
"total": 0,
"unread": 0
},
"Drafts": {
"role": "drafts",
"total": 0,
"unread": 0
},
"Inbox": {
"role": "inbox",
"total": 0,
"unread": 0
},
"Junk Mail": {
"role": "junk",
"total": 0,
"unread": 0
},
"Sent Items": {
"role": "sent",
"total": 0,
"unread": 0
}
},
"sharedAccounts": [],
"sieve": [],
"vacation": {
"isEnabled": false,
"subject": null,
"textBody": null
}
}
}