Difference between revisions of "Administration API - Function Reference"
[checked revision] | [unchecked revision] |
Ltalaschus (talk | contribs) |
Ltalaschus (talk | contribs) (→config) |
||
Line 997: | Line 997: | ||
==== config ==== | ==== config ==== | ||
− | Use GetComplianceConfiguration to receive supported | + | Use [[Administration_API_-_Function_Reference#GetComplianceConfiguration|GetComplianceConfiguration]] to receive supported values. |
Example settings object: | Example settings object: |
Revision as of 13:12, 24 September 2018
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. |
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. |
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. |
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.
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="2016-12-01T00:00:00" --toExcluding="2016-12-31T23:59:59" --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
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": null, "period": 10, "periodInterval": "year", "delete": false } ]
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.
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 a list of available time zones.
The id of the output can be used as timeZoneId in CreateJob, GetJobResults, SetJobSchedule and SendStatusReport and as timeZoneID (with a capital ID) in GetJobResults.
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) | Filter results by given user name. |
Interactive Management Shell Example: GetWorkerResults --fromIncluding="2016-01-01T00:00:00" --toExcluding="2016-12-31T23:59:59" --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.
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. |
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 8 MiB these leftovers could already be removed and deleted messages cannot be recovered.
RecreateRecoveryRecords
Recreates broken Recovery Records of an archive store. Use VerifyStore 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.
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.
Arguments
Name | Type | Description |
---|---|---|
id | number | Unique profile ID. |
RunTemporaryProfile
Run a temporary/non-existent 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 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,
"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. |
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.
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]",
"recipientEmailAddress": "[email protected]"
}
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. |
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. |
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.
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 archive store from MailStore Server 5 or older to current format.
Arguments
Name | Type | Description |
---|---|---|
id | number | Unique ID of archive store. |
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. |
VerifyStores
Verify consistency of all archive stores.
Arguments
Name | Type | Description |
---|---|---|
includeIndexes | bool | Defines whether to verify the search indexes as well. |