Difference between revisions of "Administration API - Function Reference"
| [checked revision] | [pending revision] |
Ltalaschus (talk | contribs) |
Cstelzmann (talk | contribs) |
||
| (39 intermediate revisions by 3 users not shown) | |||
| Line 417: | Line 417: | ||
| string (optional) | | string (optional) | ||
| Password of new user. | | Password of new user. | ||
| + | |- | ||
| + | | <tt>loginPrivileges</tt> | ||
| + | | string (optional) | ||
| + | | Comma separated list of log in privileges. If not given, all login privileges are assigned. | ||
|} | |} | ||
| Line 423: | Line 427: | ||
==== privileges ==== | ==== privileges ==== | ||
{{Administration_API_User_Privileges}} | {{Administration_API_User_Privileges}} | ||
| + | |||
| + | |||
| + | ==== loginPrivileges ==== | ||
| + | {{Administration_API_User_Login_Privileges}} | ||
| + | |||
| + | == DeleteAppPasswords == | ||
| + | Deletes all app passwords of a user, hence all non-interactive logins will fail and have to be reconfigured by the user. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>userName</tt> | ||
| + | | string | ||
| + | | The user name of the user whose app passwords shall be deleted. | ||
| + | |} | ||
== DeleteEmptyFolders == | == DeleteEmptyFolders == | ||
| Line 512: | Line 534: | ||
| Unique ID of archive store. | | Unique ID of archive store. | ||
|} | |} | ||
| + | |||
| + | == DisableMFA == | ||
| + | Disables multi-factor authentication of a user. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>userName</tt> | ||
| + | | string | ||
| + | | The user name of the user for whom MFA shall be disabled. | ||
| + | |} | ||
| + | |||
| + | [[Administration_API_-_Function_Reference#InitializeMFA|InitializeMFA]] enables multi-factor authentication of a user. | ||
== GetActiveSessions == | == GetActiveSessions == | ||
| Line 537: | Line 575: | ||
== GetComplianceConfiguration == | == GetComplianceConfiguration == | ||
Get current compliance configuration settings. | Get current compliance configuration settings. | ||
| + | |||
| + | == CreateCredential == | ||
| + | Create a new credential object that can be used by directory configuration settings or profiles. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>type</tt> | ||
| + | | string | ||
| + | | Credential type. Supported values are:<br/> | ||
| + | * <tt>Office365_Modern</tt> – credential for authenticating against Entra ID (Office 365 modern authentication).<br/> | ||
| + | * <tt>SignedEnvelope</tt> – credential used for an export to MailStore Cloud. | ||
| + | |- | ||
| + | | <tt>description</tt> | ||
| + | | string | ||
| + | | Human readable description of the credential. | ||
| + | |- | ||
| + | | <tt>tenantId</tt> | ||
| + | | string (optional) | ||
| + | | Tenant identifier used for Office365_Modern type credentials. | ||
| + | |- | ||
| + | | <tt>applicationId</tt> | ||
| + | | string (optional) | ||
| + | | Application/client identifier used for Office365_Modern type credentials. | ||
| + | |} | ||
| + | |||
| + | == DeleteCredential == | ||
| + | Delete an existing credential object. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>id</tt> | ||
| + | | int | ||
| + | | Unique ID of the credential to delete. | ||
| + | |} | ||
| + | |||
| + | == GetCredential == | ||
| + | Get details of a single credential object. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>id</tt> | ||
| + | | int | ||
| + | | Unique ID of the credential whose details should be returned. | ||
| + | |} | ||
| + | |||
| + | == GetCredentials == | ||
| + | Get the list of all credential objects and their details. | ||
| + | |||
| + | == SetCredentialDescription == | ||
| + | Set the description of an existing credential object. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>id</tt> | ||
| + | | int | ||
| + | | Unique ID of the credential to modify. | ||
| + | |- | ||
| + | | <tt>description</tt> | ||
| + | | string | ||
| + | | New human readable description of the credential. | ||
| + | |} | ||
| + | |||
| + | == SetCredentialSettings == | ||
| + | Change configuration settings of an existing credential object. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>id</tt> | ||
| + | | int | ||
| + | | Unique ID of the credential to modify. | ||
| + | |- | ||
| + | | <tt>createNewCertificate</tt> | ||
| + | | bool (optional) | ||
| + | | Indicates whether a new certificate should be created for this credential (<tt>true</tt>) or the existing certificate settings should be kept (<tt>false</tt>). | ||
| + | |- | ||
| + | | <tt>tenantId</tt> | ||
| + | | string (optional) | ||
| + | | Tenant identifier used for Office365_Modern type credentials. | ||
| + | |- | ||
| + | | <tt>applicationId</tt> | ||
| + | | string (optional) | ||
| + | | Application/client identifier used for Office365_Modern type credentials. | ||
| + | |} | ||
== GetDirectoryServicesConfiguration == | == GetDirectoryServicesConfiguration == | ||
| Line 570: | Line 711: | ||
|} | |} | ||
| − | Interactive Management Shell Example: ''GetJobResults --fromIncluding=" | + | Interactive Management Shell Example: ''GetJobResults --fromIncluding="2022-12-01T00:00:00" --toExcluding="2023-01-01T00:00:00" --timeZoneId="$Local" --jobId=1'' |
Use the API command [[Administration_API_-_Function_Reference#GetTimeZones|GetTimeZones]] to retrieve a list of all available time zones and their ids. | Use the API command [[Administration_API_-_Function_Reference#GetTimeZones|GetTimeZones]] to retrieve a list of all available time zones and their ids. | ||
| Line 636: | Line 777: | ||
"order": 1, | "order": 1, | ||
"enabled": true, | "enabled": true, | ||
| − | "searchCriteria": null, | + | "searchCriteria": { |
| + | "from": null, | ||
| + | "to": null, | ||
| + | "query": null, | ||
| + | "queryAttachmentContents": false, | ||
| + | "queryAttachments": false, | ||
| + | "queryMessageBody": false, | ||
| + | "querySubject": false, | ||
| + | "includedArchives": null, | ||
| + | "excludedArchives": [ | ||
| + | "admin" | ||
| + | ] | ||
| + | }, | ||
"period": 10, | "period": 10, | ||
"periodInterval": "year", | "periodInterval": "year", | ||
| + | "referenceDateType": "ArchiveDate", | ||
"delete": false | "delete": false | ||
} | } | ||
] | ] | ||
| + | |||
| + | The ''referenceDateType'' can bei either ''ArchiveDate'' or ''MessageDate''. | ||
== GetServerInfo == | == GetServerInfo == | ||
| Line 651: | Line 807: | ||
== GetSmtpSettings == | == GetSmtpSettings == | ||
Get current SMTP configuration. | Get current SMTP configuration. | ||
| + | |||
| + | == GetStoreAutoCreateConfiguration == | ||
| + | Get automatic archive store creation settings. | ||
== GetStoreIndexes == | == GetStoreIndexes == | ||
| Line 681: | Line 840: | ||
== GetTimeZones == | == GetTimeZones == | ||
| − | Get | + | Get the list of available time zones and their IDs. |
The ''id'' of the output can be used as ''timeZoneId'' in [[Administration_API_-_Function_Reference#CreateJob|CreateJob]], [[Administration_API_-_Function_Reference#GetJobResults|GetJobResults]], [[Administration_API_-_Function_Reference#SetJobSchedule|SetJobSchedule]] and [[Administration_API_-_Function_Reference#SendStatusReport|SendStatusReport]] and as ''timeZoneID'' (with a capital ''ID'') in [[Administration_API_-_Function_Reference#GetWorkerResults|GetWorkerResults]]. | The ''id'' of the output can be used as ''timeZoneId'' in [[Administration_API_-_Function_Reference#CreateJob|CreateJob]], [[Administration_API_-_Function_Reference#GetJobResults|GetJobResults]], [[Administration_API_-_Function_Reference#SetJobSchedule|SetJobSchedule]] and [[Administration_API_-_Function_Reference#SendStatusReport|SendStatusReport]] and as ''timeZoneID'' (with a capital ''ID'') in [[Administration_API_-_Function_Reference#GetWorkerResults|GetWorkerResults]]. | ||
| Line 729: | Line 888: | ||
| <tt>userName</tt> | | <tt>userName</tt> | ||
| string (optional) | | string (optional) | ||
| − | | | + | | If given, must be equal to the current username. Filters results by current user. |
|} | |} | ||
| − | Interactive Management Shell Example: ''GetWorkerResults --fromIncluding=" | + | Interactive Management Shell Example: ''GetWorkerResults --fromIncluding="2022-01-01T00:00:00" --toExcluding="2023-01-01T00:00:00" --timeZoneID="$Local" --profileID=1 --userName="admin"'' |
Use the API command [[Administration_API_-_Function_Reference#GetTimeZones|GetTimeZones]] to retrieve a list of all available time zones and their ids. | Use the API command [[Administration_API_-_Function_Reference#GetTimeZones|GetTimeZones]] to retrieve a list of all available time zones and their ids. | ||
Be aware that ''timeZoneID'' has to be written with a capital ''ID'' where all other commands with a ''timeZoneId'' are expecting ''Id''. | Be aware that ''timeZoneID'' has to be written with a capital ''ID'' where all other commands with a ''timeZoneId'' are expecting ''Id''. | ||
| + | |||
| + | == GetWorkerResultReport == | ||
| + | Get the details of a profile execution result. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>id</tt> | ||
| + | | number | ||
| + | | The ID of the result for which the details should be fetched. | ||
| + | |} | ||
| + | |||
| + | Use the [[Administration_API_-_Function_Reference#GetWorkerResults|GetWorkerResults]] command to get the IDs of results. | ||
| + | |||
| + | == InitializeMFA == | ||
| + | Initializes multi-factor authentication of a user. During the next login with an MFA-capable client, the user has to scan a QR code with a TOTP compatible app and has to enter an MFA code to be able to login. | ||
| + | When ''InitializeMFA'' is called when MFA is already active for a user, a new secret is generated and the user has to scan the QR code again. This also invalidates all trusted device tokens of a user. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>userName</tt> | ||
| + | | string | ||
| + | | The user name of the user for whom MFA shall be initialized. | ||
| + | |} | ||
| + | |||
| + | [[Administration_API_-_Function_Reference#DisableMFA|DisableMFA]] disables multi-factor authentication of a user. | ||
== MaintainFileSystemDatabases == | == MaintainFileSystemDatabases == | ||
| Line 813: | Line 1,005: | ||
| number | | number | ||
| Unique ID of archive store. | | Unique ID of archive store. | ||
| + | |- | ||
| + | | <tt>encryptionKey</tt> | ||
| + | | string (optional) | ||
| + | | Encryption key of the archive store. Must be given, when the encryption key cannot be read from the key file of the archive store. | ||
|- | |- | ||
| <tt>recoverDeletedMessages</tt> | | <tt>recoverDeletedMessages</tt> | ||
| Line 822: | Line 1,018: | ||
== RecreateRecoveryRecords == | == RecreateRecoveryRecords == | ||
| − | Recreates broken Recovery Records of an archive store. Use | + | Recreates broken Recovery Records of an archive store. Use [[#VerifyStore|VerifyStore]] or [[#VerifyStores|VerifyStores]] to verify the state of the Recovery Records. Cannot be used for external archive stores that store their content in the database. |
=== Arguments === | === Arguments === | ||
| Line 1,215: | Line 1,411: | ||
| Every 12 hours. | | Every 12 hours. | ||
|} | |} | ||
| + | |||
| + | == SetProfileServerSideExecution == | ||
| + | Disables or enables the automatic server-sided execution with its parameters. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>id</tt> | ||
| + | | number | ||
| + | | The unique profile ID of the profile to be modified. | ||
| + | |- | ||
| + | | <tt>automatic</tt> | ||
| + | | bool | ||
| + | | Enables (true) or disables (false) the profile's server-side automation. | ||
| + | |- | ||
| + | | <tt>automaticPauseBetweenExecutions</tt> | ||
| + | | number (optional) | ||
| + | | Integer value (0 - 2147483647) of seconds to pause between re-executing an automatic profile. | ||
| + | |- | ||
| + | | <tt>automaticMaintenanceWindows</tt> | ||
| + | | string (optional) | ||
| + | | TimeSpan string (hh:mm-hh:mm, e.g. 22:00-04:00) for the time window where the execution should not be executed, e.g. to schedule maintenance tasks. | ||
| + | |} | ||
| + | |||
| + | Use the API command [[Administration_API_-_Function_Reference#GetProfiles|GetProfiles]] to retrieve a list of all profiles and their current "serverSideExecution" section details. | ||
| + | |||
| + | The command can be executed with either the argument ''automatic=false'' and no additional parameters to disable the automation, or with ''automatic=true'' and at least the ''automaticPauseBetweenExecutions'' value given. The ''automaticMaintenanceWindows'' parameter is optional. Setting an already automated profile to automatic again, will restart the profile. | ||
== SetRetentionPolicies == | == SetRetentionPolicies == | ||
| Line 1,230: | Line 1,456: | ||
|} | |} | ||
| − | To get example policies use the client to create retention policies manually. Then use the API command [[Administration_API_-_Function_Reference#GetRetentionPolicies|GetRetentionPolicies]] to retrieve the json values. | + | To get example policies use the client to create retention policies manually. Then use the API command [[Administration_API_-_Function_Reference#GetRetentionPolicies|GetRetentionPolicies]] to retrieve the json values. <br> |
| + | Please be aware that the API is case-sensitive. Especially the archive inclusion/exclusion criteria must not contain upper case characters, as the user archives are always handled lower-case internally. | ||
| + | Due to a more complex distributed permission concept, retention policies can not be edited via the API for the MailStore Service Provider Edition. | ||
| + | |||
| + | == SetServiceCertificate == | ||
| + | Set the X509 certificate that is used by MailStore Server for incoming connections. | ||
| + | The certificate must already reside in the computer's local certificate store. | ||
| + | The thumbprint of the currently used certificate can be retrieved with [[Administration_API_-_Function_Reference#GetServiceConfiguration|GetServiceConfiguration]]. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>thumbprint</tt> | ||
| + | | string | ||
| + | | Thumbprint of X509 certificate. | ||
| + | |} | ||
== SetSmtpSettings == | == SetSmtpSettings == | ||
| Line 1,261: | Line 1,505: | ||
"fromDisplayName": "Sending User", | "fromDisplayName": "Sending User", | ||
"fromEmailAddress": "[email protected]", | "fromEmailAddress": "[email protected]", | ||
| − | " | + | "recipientEmailAddresses": ["[email protected]", "[email protected]"] |
| + | } | ||
| + | </source> | ||
| + | |||
| + | == SetStoreAutoCreateConfiguration == | ||
| + | Set configuration for automatic archive store creation. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>config</tt> | ||
| + | | json | ||
| + | | Archive store automatic creation configuration. | ||
| + | |} | ||
| + | |||
| + | === Argument Values === | ||
| + | |||
| + | ==== config ==== | ||
| + | <source lang="js" smart-tabs="true" toolbar="false" gutter="false"> | ||
| + | { | ||
| + | "sizeThreshold" : int or null, | ||
| + | "databaseBaseDirectory" : string, | ||
| + | "contentBaseDirectory" : string, | ||
| + | "indexBaseDirectory" : string | ||
} | } | ||
</source> | </source> | ||
| Line 1,437: | Line 1,707: | ||
| Full name of MailStore user. | | Full name of MailStore user. | ||
|} | |} | ||
| + | |||
| + | == SetUserLoginPrivileges == | ||
| + | Set login privileges of a MailStore user. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>userName</tt> | ||
| + | | string | ||
| + | | User name of MailStore user. | ||
| + | |- | ||
| + | | <tt>loginPrivileges</tt> | ||
| + | | string | ||
| + | | Comma separated list of login privileges. | ||
| + | |} | ||
| + | |||
| + | === Argument Values === | ||
| + | |||
| + | ==== loginPrivileges ==== | ||
| + | {{Administration_API_User_Login_Privileges}} | ||
== SetUserPassword == | == SetUserPassword == | ||
| Line 1,496: | Line 1,789: | ||
==== privileges ==== | ==== privileges ==== | ||
{{Administration_API_User_Privileges}} | {{Administration_API_User_Privileges}} | ||
| + | |||
| + | == SetUserPrivilegesOnAllFolders == | ||
| + | Set privileges on all folders for MailStore user, except for the folders that are excluded | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>userName</tt> | ||
| + | | string | ||
| + | | User name of MailStore user. | ||
| + | |- | ||
| + | | <tt>privileges</tt> | ||
| + | | string | ||
| + | | Comma separated list of folder privileges. | ||
| + | |- | ||
| + | | <tt>excludeFolders</tt> | ||
| + | | string (optional) | ||
| + | | Comma separated list of folders to exclude. | ||
| + | |} | ||
| + | |||
| + | === Argument Values === | ||
| + | |||
| + | ==== privileges ==== | ||
| + | {| class="wikitable" | ||
| + | ! width=270px | Name | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>read</tt> | ||
| + | | The user is granted read access to the specified folders. | ||
| + | |- | ||
| + | | <tt>write</tt> | ||
| + | | The user is granted write access to the specified folders. Messages can be moved within an archive. | ||
| + | |- | ||
| + | | <tt>delete</tt> | ||
| + | | The user is granted delete access to the specified folders. | ||
| + | |} | ||
== SetUserPrivilegesOnFolder == | == SetUserPrivilegesOnFolder == | ||
| Line 1,555: | Line 1,887: | ||
== TestSmtpSettings == | == TestSmtpSettings == | ||
Test current SMTP configuration. | Test current SMTP configuration. | ||
| + | |||
| + | == TransferStores == | ||
| + | Copy the content of one or more archive store into another archive store. | ||
| + | |||
| + | === Arguments === | ||
| + | {| class="wikitable" | ||
| + | ! width=150px | Name | ||
| + | ! width=120px | Type | ||
| + | ! Description | ||
| + | |- | ||
| + | | <tt>sourceStores</tt> | ||
| + | | string | ||
| + | | Comma-separated list of one or more source archive stores. | ||
| + | |- | ||
| + | | <tt>targetStore</tt> | ||
| + | | number (optional) | ||
| + | | The target store of the messages to be copied. If not given, the archive store in the "current" state will be used. | ||
| + | |- | ||
| + | | <tt>startIndex</tt> | ||
| + | | string (optional) | ||
| + | | A string in the format "archiveStoreId:messageId". The transfer process starts with the this message. | ||
| + | |} | ||
== UnlockStore == | == UnlockStore == | ||
| Line 1,575: | Line 1,929: | ||
== UpgradeStore == | == UpgradeStore == | ||
| − | Upgrade archive store from | + | Upgrade an archive store from an older version to the current format. |
=== Arguments === | === Arguments === | ||
| Line 1,587: | Line 1,941: | ||
| Unique ID of archive store. | | Unique ID of archive store. | ||
|} | |} | ||
| + | |||
| + | == UpgradeStores == | ||
| + | Upgrade all archive stores from an older version to the current format. | ||
== VerifyStore == | == VerifyStore == | ||
| Line 1,603: | Line 1,960: | ||
| <tt>includeIndexes</tt> | | <tt>includeIndexes</tt> | ||
| bool | | bool | ||
| − | | Defines whether to verify the search indexes as well. | + | | Defines whether to verify the search indexes as well. Default: true. May be slow when running on slow hardware. |
|} | |} | ||
| Line 1,617: | Line 1,974: | ||
| <tt>includeIndexes</tt> | | <tt>includeIndexes</tt> | ||
| bool | | bool | ||
| − | | Defines whether to verify the search indexes as well. | + | | Defines whether to verify the search indexes as well. Default: true. May be slow when running on slow hardware. |
|} | |} | ||
[[de:Administration API - Function Reference]] | [[de:Administration API - Function Reference]] | ||
[[en:Administration API - Function Reference]] | [[en:Administration API - Function Reference]] | ||
Latest revision as of 12:26, 25 November 2025
AttachStore
Attach existing archive store.
Arguments
| Name | Type | Description |
|---|---|---|
| name | string | Meaningful name of archive store. |
| type | string | Type of archive store. |
| databaseName | string (optional) | Name of database on Microsoft SQL Server or PostgreSQL server. |
| databasePath | string (optional) | Path to directory in which database folder information and email meta data are stored. |
| contentPath | string (optional) | Path to directory in which email headers and contents are stored. |
| indexPath | string (optional) | Path to directory in which full text search indexes are stored. |
| serverName | string (optional) | Name of Microsoft SQL Server or PostgreSQL server. |
| userName | string (optional) | User name for accessing Microsoft SQL Server or PostgreSQL server. |
| password | string (optional) | Password for accessing Microsoft SQL Server or PostgreSQL server. |
| requestedState | string (optional) | State of archive store after attaching. |
Argument Values
type
| Name | Description |
|---|---|
| FileSystemInternal | Advanced file system-based archive store. |
| SQLServer | Microsoft SQL Server-based archive store. |
| PostgreSQL | PostgreSQL server-based archive store. |
requestedState
| Name | Description |
|---|---|
| current | Same as Normal but new messages will be archived in the archive store that is set to Current. |
| normal | The content of archives store is available to users and can be modified if the user has the appropriate permission. |
| writeProtected | The content of write protected archive stores is available to users, but cannot be modified (e.g. delete or move messages, rename or move folders) |
| disabled | Disabled archive stores are not in use but the instance still knows about their existence. Therefore the content is not available to users. |
CancelJobAsync
Cancel a running job asynchronously.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | The unique identifier of the job to be canceled. |
ClearUserPrivilegesOnFolders
Removes all privileges of a user on all archive folders.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
CompactMasterDatabase
Compact master database.
CompactStore
Compact archive store.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store |
CreateBackup
Create a backup of the entire archive.
Arguments
| Name | Type | Description |
|---|---|---|
| path | string | Path to directory into which the backup should be written. |
| excludeSearchIndexes | bool (optional) | Indicates whether the search index files should be excluded from the backup. |
CreateJob
Create a new job to execute Management API commands.
Arguments
| Name | Type | Description |
|---|---|---|
| name | string (optional) | A meaningful name for the job. Example: Daily Backup. |
| action | string (optional) | Management API command to execute. |
| owner | string (optional) | Username of the job owner; must be an administrator. |
| timeZoneId | string (optional) | The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system. |
| date | string (optional) | Datetime string (YYYY-MM-DDThh:mm:ss) for running the job once. |
| interval | number (optional) | Interval for running job. |
| time | string (optional) | Time for running job. Without additional parameter, this means daily execution. |
| dayOfWeek | string (optional) | Day of week to run job. Parameter "time" also required. |
| dayOfMonth | string (optional) | Day of month to run job. Parameter "time" also required. dayOfWeek can optionally be used to define further. |
Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.
Argument Values
dayOfWeek
| Name | Description |
|---|---|
| Sunday | Sunday |
| Monday | Monday |
| Tuesday | Tuesday |
| Wednesday | Wednesday |
| Thursday | Thursday |
| Friday | Friday |
| Saturday | Saturday |
dayOfMonth
| Name | Description |
|---|---|
| 1 to 31 | Numeric representation of day of month. |
| Last | Last day of month. |
interval
| Name | Description |
|---|---|
| 5 | Every 5 minutes. |
| 10 | Every 10 minutes. |
| 15 | Every 15 minutes. |
| 20 | Every 20 minutes. |
| 30 | Every 30 minutes. |
| 60 | Every hour. |
| 120 | Every 2 hours. |
| 180 | Every 3 hours. |
| 240 | Every 4 hours. |
| 360 | Every 6 hours. |
| 720 | Every 12 hours. |
CreateProfile
Create a new archiving or exporting profile.
Arguments
| Name | Type | Description |
|---|---|---|
| properties | json | Profile properties. |
| raw | bool | Currently only 'true' is supported. |
Argument Values
properties
To receive available profile properties create a profile of the desired type via MailStore Client and then use the GetProfiles method to receive supported values. The properties id and version must be omitted, the password field must be filled properly.
CreateStore
Create and attach a new archive store.
Arguments
| Name | Type | Description |
|---|---|---|
| name | string | Meaningful name of archive store. |
| type | string (optional) | Type of archive store. |
| databaseName | string (optional) | Name of database on Microsoft SQL Server or PostgreSQL server. |
| databasePath | string (optional) | Path to directory in which database folder information and email meta data are stored. |
| contentPath | string (optional) | Path to directory in which email headers and contents are stored. |
| indexPath | string (optional) | Path to directory in which full text search indexes are stored. |
| serverName | string (optional) | Name of Microsoft SQL Server or PostgreSQL server. |
| userName | string (optional) | User name for accessing Microsoft SQL Server or PostgreSQL server. |
| password | string (optional) | Password for accessing Microsoft SQL Server or PostgreSQL server. |
| requestedState | string (optional) | State of archive store after attaching. |
Argument Values
type
| Name | Description |
|---|---|
| FileSystemInternal | Standard archive store. |
| SQLServer | Microsoft SQL Server-based archive store. |
| PostgreSQL | PostgreSQL server-based archive store. |
requestedState
| Name | Description |
|---|---|
| current | Same as Normal but new messages will be archived in the archive store that is set to Current. |
| normal | The content of archives store is available to users and can be modified if the user has the appropriate permission. |
| writeProtected | The content of write protected archive stores is available to users, but cannot be modified (e.g. delete or move messages, rename or move folders) |
| disabled | Disabled archive stores are not in use but the instance still knows about their existence. Therefore the content is not available to users. |
CreateUser
Create new MailStore user. Use SetUserPrivilegesOnFolder to grant that user privileges on the user's own archive.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of new MailStore user. |
| privileges | string | Comma separated list of privileges. |
| fullName | string (optional) | Full name of user. |
| distinguishedName | string (optional) | LDAP DN string. |
| authentication | string (optional) | Authentication setting for user: 'integrated or 'directoryServices'. |
| password | string (optional) | Password of new user. |
| loginPrivileges | string (optional) | Comma separated list of log in privileges. If not given, all login privileges are assigned. |
Argument Values
privileges
| Name | Description |
|---|---|
| none | The user is granted no global privileges. If specified, this value has to be the only value in the list. |
| admin | The user is granted administrator privileges. If specified, this value has to be the only value in the list. |
| login | The user can log on to MailStore Server. |
| changePassword | The user can change his own MailStore Server password. This only makes sense if the authentication is set to integrated. |
| archive | The user can run archiving profiles. |
| modifyArchiveProfiles | The user can create, modify and delete archiving profiles. |
| export | The user can run export profiles. |
| modifyExportProfiles | The user can create, modify and delete export profiles. |
| delete | The user can delete messages. Please note that a non-admin user can only delete messages in folders where he has been granted delete access. In addition, compliance settings may be in effect, keeping administrators and users from deleting messages even if they have been granted the privilege to do so. |
loginPrivileges
| Name | Description |
|---|---|
| none | The user is granted no login privileges. If specified, this value has to be the only value in the list. |
| windows | The user is allowed to use the Windows Client. |
| web | The user is allowed to use the Web Access. |
| outlook | The user is allowed to use the Outlook Add-in. |
| windowsCmd | The user is allowed to use scheduled tasks and the command line client of MailStore Client. |
| imap | The user is allowed to access the archive using IMAP. |
| api | The user is allowed to use the Management API. This option is only available for administrators. This option is unavailable in the SPE. |
DeleteAppPasswords
Deletes all app passwords of a user, hence all non-interactive logins will fail and have to be reconfigured by the user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | The user name of the user whose app passwords shall be deleted. |
DeleteEmptyFolders
Remove folders from folder tree that do not contain emails.
Arguments
| Name | Type | Description |
|---|---|---|
| folder | string (optional) | Entry point in folder tree. |
DeleteJob
Deletes a job.
Arguments
| Name | Type | Description |
|---|---|---|
| id | string | The unique identifier of the job to be deleted. |
DeleteMessage
Delete a single message
Arguments
| Name | Type | Description |
|---|---|---|
| id | string | Unique ID of message. Format: <store_id>:<message_num> |
| reason | string | The reason why that message has to be deleted which will be written into the audit log. |
DeleteProfile
Delete an archiving or exporting profile.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of profile. |
DeleteUser
Delete a MailStore user. Neither the user's archive nor the user's archive emails are deleted when deleting a user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
DetachStore
Detach an archive store.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store. |
DisableMFA
Disables multi-factor authentication of a user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | The user name of the user for whom MFA shall be disabled. |
InitializeMFA enables multi-factor authentication of a user.
GetActiveSessions
Get list of current user sessions.
GetChildFolders
Get child folders. Depending on compliance settings this method may return only the first folder hierarchy level.
Arguments
| Name | Type | Description |
|---|---|---|
| folder | string (optional) | Parent folder whose child folders should be returned. If omitted, all archives and folder will be returned. |
| maxLevels | number (optional) | Depth of child folders. |
GetComplianceConfiguration
Get current compliance configuration settings.
CreateCredential
Create a new credential object that can be used by directory configuration settings or profiles.
Arguments
| Name | Type | Description |
|---|---|---|
| type | string | Credential type. Supported values are:
|
| description | string | Human readable description of the credential. |
| tenantId | string (optional) | Tenant identifier used for Office365_Modern type credentials. |
| applicationId | string (optional) | Application/client identifier used for Office365_Modern type credentials. |
DeleteCredential
Delete an existing credential object.
Arguments
| Name | Type | Description |
|---|---|---|
| id | int | Unique ID of the credential to delete. |
GetCredential
Get details of a single credential object.
Arguments
| Name | Type | Description |
|---|---|---|
| id | int | Unique ID of the credential whose details should be returned. |
GetCredentials
Get the list of all credential objects and their details.
SetCredentialDescription
Set the description of an existing credential object.
Arguments
| Name | Type | Description |
|---|---|---|
| id | int | Unique ID of the credential to modify. |
| description | string | New human readable description of the credential. |
SetCredentialSettings
Change configuration settings of an existing credential object.
Arguments
| Name | Type | Description |
|---|---|---|
| id | int | Unique ID of the credential to modify. |
| createNewCertificate | bool (optional) | Indicates whether a new certificate should be created for this credential (true) or the existing certificate settings should be kept (false). |
| tenantId | string (optional) | Tenant identifier used for Office365_Modern type credentials. |
| applicationId | string (optional) | Application/client identifier used for Office365_Modern type credentials. |
GetDirectoryServicesConfiguration
Get current Directory Services configuration settings.
GetFolderStatistics
Get folder statistics.
GetJobResults
Retrieves list of finished job executions.
Arguments
| Name | Type | Description |
|---|---|---|
| fromIncluding | string | Beginning of time range to fetch. |
| toExcluding | string | End of time range to fetch. |
| timeZoneId | string | The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system. |
| jobId | number (optional) | The job id for which to retrieve results. |
Interactive Management Shell Example: GetJobResults --fromIncluding="2022-12-01T00:00:00" --toExcluding="2023-01-01T00:00:00" --timeZoneId="$Local" --jobId=1
Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.
GetJobs
Retrieve list of jobs.
GetLicenseInformation
Retrieve license information.
Example license information object:
{
"productKey": "YOUR-MAIL-STORE-PRODUCT-KEY",
"productVersion": "13.1.0.12345",
"maxNamedUsers": 100,
"namedUsers": 95,
"unusedNamedUsers": 5,
"supportExpiryDate": "2023-12-31",
"supportLevel": "Premium Service",
"validFrom": null,
"validTo": null,
"licensedTo": "MailStore Software GmbH",
"machineName": "MAILSTORE"
}
The properties validFrom and validTo are only set when Trial or NFR product keys are used.
GetMessages
Get list of messages from a folder.
Arguments
| Name | Type | Description |
|---|---|---|
| folder | string (optional) | Folder whose content to list. |
GetProfiles
Get list of archiving and exporting profiles.
Arguments
| Name | Type | Description |
|---|---|---|
| raw | bool | Currently only 'true' is supported. |
GetRetentionPolicies
Get the retention policies.
Example retention policies object:
[
{
"name": "Keep All Mails for 10 Years",
"order": 1,
"enabled": true,
"searchCriteria": {
"from": null,
"to": null,
"query": null,
"queryAttachmentContents": false,
"queryAttachments": false,
"queryMessageBody": false,
"querySubject": false,
"includedArchives": null,
"excludedArchives": [
"admin"
]
},
"period": 10,
"periodInterval": "year",
"referenceDateType": "ArchiveDate",
"delete": false
}
]
The referenceDateType can bei either ArchiveDate or MessageDate.
GetServerInfo
Get MailStore Server version and machine name.
GetServiceConfiguration
Get MailStore Server service configuration. This includes the path to the Master Database, the location of the audit log, whether the different debug logs are enabled and the endpoint configuration.
GetSmtpSettings
Get current SMTP configuration.
GetStoreAutoCreateConfiguration
Get automatic archive store creation settings.
GetStoreIndexes
Get list of full text indexes.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number (optional) | Unique ID of archive store. |
GetStores
Get list of archive stores.
Arguments
| Name | Type | Description |
|---|---|---|
| includeSize | bool (optional) | Includes size of archive store. Default: true. May be slow when running on slow hardware. |
GetTimeZones
Get the list of available time zones and their IDs.
The id of the output can be used as timeZoneId in CreateJob, GetJobResults, SetJobSchedule and SendStatusReport and as timeZoneID (with a capital ID) in GetWorkerResults.
GetUserInfo
Get detailed information about user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user |
GetUsers
Get list of users.
GetWorkerResults
Get results of profile executions.
Arguments
| Name | Type | Description |
|---|---|---|
| fromIncluding | string | Beginning of time range to fetch. |
| toExcluding | string | End of time range to fetch. |
| timeZoneID | string | The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system. |
| profileID | number (optional) | Filter results by given profile ID. |
| userName | string (optional) | If given, must be equal to the current username. Filters results by current user. |
Interactive Management Shell Example: GetWorkerResults --fromIncluding="2022-01-01T00:00:00" --toExcluding="2023-01-01T00:00:00" --timeZoneID="$Local" --profileID=1 --userName="admin"
Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.
Be aware that timeZoneID has to be written with a capital ID where all other commands with a timeZoneId are expecting Id.
GetWorkerResultReport
Get the details of a profile execution result.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | The ID of the result for which the details should be fetched. |
Use the GetWorkerResults command to get the IDs of results.
InitializeMFA
Initializes multi-factor authentication of a user. During the next login with an MFA-capable client, the user has to scan a QR code with a TOTP compatible app and has to enter an MFA code to be able to login. When InitializeMFA is called when MFA is already active for a user, a new secret is generated and the user has to scan the QR code again. This also invalidates all trusted device tokens of a user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | The user name of the user for whom MFA shall be initialized. |
DisableMFA disables multi-factor authentication of a user.
MaintainFileSystemDatabases
Run database maintenance on all databases of file system based archive stores.
MergeStore
Merge two archive stores.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of destination archive store. |
| sourceId | number | Unique ID of source archive store. |
MoveFolder
Move folder.
Arguments
| Name | Type | Description |
|---|---|---|
| fromFolder | string | Old folder name. |
| toFolder | string | New folder name. |
ProcessRetentionPolicies
Processes the configured retention policies.
RebuildSelectedStoreIndexes
Rebuild all full-text indexes selected for rebuild.
RebuildStoreIndex
Rebuild search index for given archive folder.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store. |
| folder | string | Name of folder name. |
RecoverStore
Recreates a broken Firebird database from recovery records. The archive store must have been upgraded to the latest version and the recovery records must not be corrupt. The archive store must be in the Disabled or Error state.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store. |
| encryptionKey | string (optional) | Encryption key of the archive store. Must be given, when the encryption key cannot be read from the key file of the archive store. |
| recoverDeletedMessages | bool (optional) | Defines whether to recover deleted messages. |
When the recoverDeletedMessages parameter is set to true, only deleted messages that still have leftovers in the recovery records can be recovered. When an archive store has been compacted with CompactStore or recovery record files have grown to their auto-compacting size of 32 MiB these leftovers could already be removed and deleted messages cannot be recovered.
RecreateRecoveryRecords
Recreates broken Recovery Records of an archive store. Use VerifyStore or VerifyStores to verify the state of the Recovery Records. Cannot be used for external archive stores that store their content in the database.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store. |
RefreshAllStoreStatistics
Refresh statistics of all archive stores.
RenameJob
Rename job.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number (optional) | The unique identifier of the job to be renamed. |
| name | string (optional) | The new job name. |
RenameStore
Rename archive store
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store. |
| name | string | New name of archive store. |
RenameUser
Rename a MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| oldUserName | string | Old user name. |
| newUserName | string | New user name. |
RenewMasterKey
Renews the master key which is used to encrypt the encryption keys.
RepairStoreDatabase
Tries to resolve certain issues with archive store databases (e.g. missing database indexes).
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store. |
RetryOpenStores
Retry opening stores that failed previously.
RunJobAsync
Run an existing job.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | The identifier of the job to be run. |
RunProfile
Run an existing archiving or exporting profile. Only profiles that are executed on server side can be started by this command. That are all profiles which are listed under E-Mail Servers in the MailStore Client. Client side profiles can be started by using the MailStoreCmd and the commands import-execute and export-execute.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique profile ID. |
RunTemporaryProfile
Run a temporary/non-existent profile. Only profiles that are executed on server side can be started by this command. That are all profiles which are listed under E-Mail Servers in the MailStore Client.
Arguments
| Name | Type | Description |
|---|---|---|
| properties | json | Profile properties. |
| raw | bool | Currently only 'true' is supported. |
Argument Values
properties
To receive available profile properties create a profile of the desired type via MailStore Client and use the GetProfiles method to receive supported value.
SelectAllStoreIndexesForRebuild
Select all full-text indexes for rebuild.
SendStatusReport
Send a status report to the given recipients.
Arguments
| Name | Type | Description |
|---|---|---|
| timespan | string | Timespan that is covered by the status report. |
| timeZoneId | string | The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system. |
| recipients | string | Comma separated list of recipients that will receive the status report. |
Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.
Argument Values
Timespan
| Name | Description |
|---|---|
| today | The day when the status report is sent. |
| yesterday | The day before the status report is sent. |
| thisweek | The week when the status report is sent. |
| lastweek | The week before the status report is sent. |
| thismonth | The month when the status report is sent. |
| lastmonth | The month before the status report is sent. |
SetComplianceConfiguration
Set compliance configuration settings.
Arguments
| Name | Type | Description |
|---|---|---|
| config | json | Compliance configuration. |
Argument Values
config
Use GetComplianceConfiguration to receive supported values.
Example settings object:
{
"adminEmailPreviewEnabled": true,
"legalHoldEnabled": false,
"passwordPolicyEnabled": true,
"logSuccessfulUserActivities": [
"AdminRestored",
"ComplianceChangeSettings",
"FileGroupAttach",
"FileGroupCreate",
"FileGroupDetach",
"FileGroupRename",
"FileGroupSetProperties",
"FileGroupSetRequestedState",
"ProfileChangeUserName",
"UserAdd",
"UserDelete",
"UserRename",
"UserSetFolderAccess",
"UserSetMappings",
"UserUpdate"
]
}
SetDirectoryServicesConfiguration
Set directory services configuration settings.
Arguments
| Name | Type | Description |
|---|---|---|
| config | json | Directory services configuration. |
Argument Values
config
Use GetDirectoryServicesConfiguration to receive supported value.
SetJobEnabled
Set enabled status of a job.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number (optional) | The unique identifier of the job to be modified. |
| enabled | bool (optional) | Boolean value of enabled attribute. |
SetJobSchedule
Modify the schedule of a job.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | The unique identifier of the job to be modified. |
| timeZoneId | string | The id of the time zone the date should be converted to, e.g. $Local, which represents the time zone of the operating system. |
| date | string (optional) | Datetime string (YYYY-MM-DDThh:mm:ss) for running the job once. |
| interval | number (optional) | Interval for running job. |
| time | string (optional) | Time for running job. Without additional parameter, this means daily execution. |
| dayOfWeek | string (optional) | Day of week to run job. Parameter "time" also required. |
| dayOfMonth | string (optional) | Day of month to run job. Parameter "time" also required. dayOfWeek can optionally be used to define further. |
Use the API command GetTimeZones to retrieve a list of all available time zones and their ids.
Argument Values
dayOfWeek
| Name | Description |
|---|---|
| Sunday | Sunday |
| Monday | Monday |
| Tuesday | Tuesday |
| Wednesday | Wednesday |
| Thursday | Thursday |
| Friday | Friday |
| Saturday | Saturday |
dayOfMonth
| Name | Description |
|---|---|
| 1 to 31 | Numeric representation of day of month. |
| Last | Last day of month. |
interval
| Name | Description |
|---|---|
| 5 | Every 5 minutes. |
| 10 | Every 10 minutes. |
| 15 | Every 15 minutes. |
| 20 | Every 20 minutes. |
| 30 | Every 30 minutes. |
| 60 | Every hour. |
| 120 | Every 2 hours. |
| 180 | Every 3 hours. |
| 260 | Every 4 hours. |
| 360 | Every 6 hours. |
| 720 | Every 12 hours. |
SetProfileServerSideExecution
Disables or enables the automatic server-sided execution with its parameters.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | The unique profile ID of the profile to be modified. |
| automatic | bool | Enables (true) or disables (false) the profile's server-side automation. |
| automaticPauseBetweenExecutions | number (optional) | Integer value (0 - 2147483647) of seconds to pause between re-executing an automatic profile. |
| automaticMaintenanceWindows | string (optional) | TimeSpan string (hh:mm-hh:mm, e.g. 22:00-04:00) for the time window where the execution should not be executed, e.g. to schedule maintenance tasks. |
Use the API command GetProfiles to retrieve a list of all profiles and their current "serverSideExecution" section details.
The command can be executed with either the argument automatic=false and no additional parameters to disable the automation, or with automatic=true and at least the automaticPauseBetweenExecutions value given. The automaticMaintenanceWindows parameter is optional. Setting an already automated profile to automatic again, will restart the profile.
SetRetentionPolicies
Set retention policies.
Arguments
| Name | Type | Description |
|---|---|---|
| config | json | Retention policy configuration. |
To get example policies use the client to create retention policies manually. Then use the API command GetRetentionPolicies to retrieve the json values.
Please be aware that the API is case-sensitive. Especially the archive inclusion/exclusion criteria must not contain upper case characters, as the user archives are always handled lower-case internally.
Due to a more complex distributed permission concept, retention policies can not be edited via the API for the MailStore Service Provider Edition.
SetServiceCertificate
Set the X509 certificate that is used by MailStore Server for incoming connections. The certificate must already reside in the computer's local certificate store. The thumbprint of the currently used certificate can be retrieved with GetServiceConfiguration.
Arguments
| Name | Type | Description |
|---|---|---|
| thumbprint | string | Thumbprint of X509 certificate. |
SetSmtpSettings
Set SMTP configuration.
Arguments
| Name | Type | Description |
|---|---|---|
| settings | json | SMTP configuration. |
Argument Values
settings
Example settings object:
{
"hostname": "mail.example.com",
"port": 587,
"protocol": "SMTP-TLS",
"ignoreSslPolicyErrors": false,
"authenticationRequired": true,
"username": "[email protected]",
"password": "userpassword",
"fromDisplayName": "Sending User",
"fromEmailAddress": "[email protected]",
"recipientEmailAddresses": ["[email protected]", "[email protected]"]
}
SetStoreAutoCreateConfiguration
Set configuration for automatic archive store creation.
Arguments
| Name | Type | Description |
|---|---|---|
| config | json | Archive store automatic creation configuration. |
Argument Values
config
{
"sizeThreshold" : int or null,
"databaseBaseDirectory" : string,
"contentBaseDirectory" : string,
"indexBaseDirectory" : string
}
SetStoreProperties
Set properties of archive store.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Set properties of archive store. |
| type | string (optional) | |
| databaseName | string (optional) | Name of database on Microsoft SQL Server or PostgreSQL server. |
| databasePath | string (optional) | Path to directory in which database folder information and email meta data are stored. |
| contentPath | string (optional) | Path to directory in which email headers and contents are stored. |
| indexPath | string (optional) | Path to directory in which full text search indexes are stored. |
| serverName | string (optional) | Name of Microsoft SQL Server or PostgreSQL server. |
| userName | string (optional) | User name for accessing Microsoft SQL Server or PostgreSQL server. |
| password | string (optional) | Password for accessing Microsoft SQL Server or PostgreSQL server. |
Argument Values
type
| Name | Description |
|---|---|
| FileSystemInternal | Advanced file system-based archive store. |
| SQLServer | Microsoft SQL Server-based archive store. |
| PostgreSQL | PostgreSQL server-based archive store. |
SetStoreRequestedState
Set state of archive store.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store. |
| requestedState | string (optional) | State of archive store after attaching. |
Argument Values
requestedState
| Name | Description |
|---|---|
| current | Same as Normal but new messages will be archived in the archive store that is set to Current. |
| normal | The content of archives store is available to users and can be modified if the user has the appropriate permission. |
| writeProtected | The content of write protected archive stores is available to users, but cannot be modified (e.g. delete or move messages, rename or move folders) |
| disabled | Disabled archive stores are not in use but the instance still knows about their existence. Therefore the content is not available to users. |
SetUserAuthentication
Set authentication settings of a MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| authentication | string | Authentication method. Either 'integrated' or 'directoryServices'. |
SetUserDistinguishedName
Set the LDAP distinguished name of a MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| distinguishedName | string (optional) | LDAP DN string. |
SetUserEmailAddresses
Set email addresses of MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| emailAddresses | string (optional) | List of email addresses. |
SetUserFullName
Set full name of MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| fullName | string (optional) | Full name of MailStore user. |
SetUserLoginPrivileges
Set login privileges of a MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| loginPrivileges | string | Comma separated list of login privileges. |
Argument Values
loginPrivileges
| Name | Description |
|---|---|
| none | The user is granted no login privileges. If specified, this value has to be the only value in the list. |
| windows | The user is allowed to use the Windows Client. |
| web | The user is allowed to use the Web Access. |
| outlook | The user is allowed to use the Outlook Add-in. |
| windowsCmd | The user is allowed to use scheduled tasks and the command line client of MailStore Client. |
| imap | The user is allowed to access the archive using IMAP. |
| api | The user is allowed to use the Management API. This option is only available for administrators. This option is unavailable in the SPE. |
SetUserPassword
Set password of MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| password | string | Password of MailStore user. |
SetUserPop3UserNames
Set POP3 user name of MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| pop3UserNames | string (optional) | Comma separated list of POP3 user names. |
SetUserPrivileges
Set privileges of MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| privileges | string | Comma separated list of privileges. |
Argument Values
privileges
| Name | Description |
|---|---|
| none | The user is granted no global privileges. If specified, this value has to be the only value in the list. |
| admin | The user is granted administrator privileges. If specified, this value has to be the only value in the list. |
| login | The user can log on to MailStore Server. |
| changePassword | The user can change his own MailStore Server password. This only makes sense if the authentication is set to integrated. |
| archive | The user can run archiving profiles. |
| modifyArchiveProfiles | The user can create, modify and delete archiving profiles. |
| export | The user can run export profiles. |
| modifyExportProfiles | The user can create, modify and delete export profiles. |
| delete | The user can delete messages. Please note that a non-admin user can only delete messages in folders where he has been granted delete access. In addition, compliance settings may be in effect, keeping administrators and users from deleting messages even if they have been granted the privilege to do so. |
SetUserPrivilegesOnAllFolders
Set privileges on all folders for MailStore user, except for the folders that are excluded
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| privileges | string | Comma separated list of folder privileges. |
| excludeFolders | string (optional) | Comma separated list of folders to exclude. |
Argument Values
privileges
| Name | Description |
|---|---|
| read | The user is granted read access to the specified folders. |
| write | The user is granted write access to the specified folders. Messages can be moved within an archive. |
| delete | The user is granted delete access to the specified folders. |
SetUserPrivilegesOnFolder
Set privileges on folder for MailStore user.
Arguments
| Name | Type | Description |
|---|---|---|
| userName | string | User name of MailStore user. |
| folder | string | Folder name. |
| privileges | string | Comma separated list of folder privileges. |
Argument Values
privileges
| Name | Description |
|---|---|
| none | The user is denied access to the specified folder. If specified, this value has to be the only value in the list. This effectively removes all privileges on the specified folder. |
| read | The user is granted read access to the specified folder. |
| write | The user is granted write access to the specified folder. Messages can be moved within an archive. |
| delete | The user is granted delete access to the specified folder. |
SyncUsersWithDirectoryServices
Sync users of MailStore instance with directory services.
Arguments
| Name | Type | Description |
|---|---|---|
| dryRun | bool (optional) | Simulate sync only. |
TestSmtpSettings
Test current SMTP configuration.
TransferStores
Copy the content of one or more archive store into another archive store.
Arguments
| Name | Type | Description |
|---|---|---|
| sourceStores | string | Comma-separated list of one or more source archive stores. |
| targetStore | number (optional) | The target store of the messages to be copied. If not given, the archive store in the "current" state will be used. |
| startIndex | string (optional) | A string in the format "archiveStoreId:messageId". The transfer process starts with the this message. |
UnlockStore
Unlock a foreign archive store. In case an archive store from a foreign MailStore installation is attached, this method can be used to unlock that archive store.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store to unlock. |
| passphrase | string | Product key or recovery key of the foreign MailStore installation. |
UpgradeStore
Upgrade an archive store from an older version to the current format.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | Unique ID of archive store. |
UpgradeStores
Upgrade all archive stores from an older version to the current format.
VerifyStore
Verify archive stores consistency.
Arguments
| Name | Type | Description |
|---|---|---|
| id | number | The unique identifier of the archive store to be verified. |
| includeIndexes | bool | Defines whether to verify the search indexes as well. Default: true. May be slow when running on slow hardware. |
VerifyStores
Verify consistency of all archive stores.
Arguments
| Name | Type | Description |
|---|---|---|
| includeIndexes | bool | Defines whether to verify the search indexes as well. Default: true. May be slow when running on slow hardware. |
