telsys Documentation/guide_cbs_api.pdf · Revision History Date Descriptions Type of modification...
Transcript of telsys Documentation/guide_cbs_api.pdf · Revision History Date Descriptions Type of modification...
www.ahsay.com
Ahsay Cloud Backup Suite 7
API Guide
Ahsay Systems Corporation Limited
2 November 2017
www.ahsay.com
Copyright Notice © 2017 Ahsay Systems Corporation Limited. All rights reserved. The use and copying of this product is subject to a license agreement. Any other use is prohibited. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system or translated into any language in any form by any means without prior written consent of Ahsay Systems Corporation Limited Information in this manual is subject to change without notice and does not represent a commitment on the part of the vendor, Ahsay Systems Corporation Limited does not warrant that this document is error free. If you find any errors in this document, please report to Ahsay Systems Corporation Limited in writing. This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
Trademarks Ahsay, Ahsay Cloud Backup Suite, Ahsay Online Backup Suite, Ahsay Offsite Backup Server, Ahsay Online Backup Manager, Ahsay A-Click Backup, Ahsay Replication Server, Ahsay BackupBox Firmware, Ahsay Universal Backup System, Ahsay NAS Client Utility are trademarks of Ahsay Systems Corporation Limited. Amazon S3 is registered trademark of Amazon Web Services, Inc. or its affiliates. Apple and Mac OS X are registered trademarks of Apple Computer, Inc. Dropbox is registered trademark of Dropbox Inc. Google Cloud Storage and Google Drive are registered trademarks of Google Inc. Lotus, Domino, Notes are registered trademark of IBM Corporation. Microsoft, Windows, Microsoft Exchange Server, Microsoft SQL Server, Microsoft Hyper-V, Microsoft Azure, One Drive and One Drive for Business are registered trademarks of Microsoft Corporation. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Oracle, Oracle 10g, Oracle 11g and MySQL are registered trademarks of Oracle Corporation. Rackspace and OpenStack are registered trademarks of Rackspace US, Inc. Red Hat, Red Hat Enterprise Linux, the Shadowman logo and JBoss are registered trademarks of Red Hat, Inc. www.redhat.com in the U.S. and other countries. Linux is a registered trademark of Linus Torvalds. ShadowProtect is registered trademark of StorageCraft Technology Corporation. VMware, ESX, ESXi, vCenter are registered trademarks of VMware, Inc. All other product names are registered trademarks of their respective owners.
Disclaimer Ahsay Systems Corporation Limited will not have or accept any liability, obligation or responsibility whatsoever for any loss, destruction or damage (including without limitation consequential loss, destruction or damage) however arising from or in respect of any use or misuse of reliance on this document. By reading and following the instructions in this document, you agree to accept unconditionally the terms of this Disclaimer and as they may be revised and/or amended from time to time by Ahsay Systems Corporation Limited without prior notice to you.
www.ahsay.com
Revision History
Date Descriptions Type of modification
26 May 2016 Ch 3.1.7 Modified
10 Aug 2016 Ch 3.1.1, 3.1.3, 3.3.1, 4.1.1, 4.1.3, 4.1.7, 4.2.6, 4.2.15, 4.2.16, 4.2.25, 6.1.1, 6.2.1, Apendix A, B
Modified
22 Sept 2016 Ch 3.1.6, 4.1.6, 4.1.8, 4.1.9, 4.2.1 Modified
29 Sept 2016 Ch 4.1.6, 4.1.8 Modified
30 Sept 2016 Ch 4.2.12 Modified
25 Jan 2017 Ch 4.1.6, 4.1.8, 4.1.9, 4.2.1, 4.2.6, 4.2.12, 4.2.7 Modified
8 Feb 2017 Ch. 4.1.13 Ch. 3.3.6
New Modified
5 Apr 2017 Ch. 3.1.5, 3.1.6, 4.2.1, 4.2.12, 4.2.6, 4.2.25, 4.2.7, 6.1.1
Modified
7 July 2017 Ch 2.4 Ch 2.1 w3school link Key names, examples and descriptions of all APIs
New Modified Modified
25 Aug 2017 Ch 3.3.8, 4.1.10, 4.1.12, 4.2.17 Modified
31 Oct 2017 Ch. 2.2, 2.4, 4.1.6, 4.1.8, 4.2.12, 7 Appendix A, C
Modified
www.ahsay.com
Table of Contents 1 Overview .......................................................................................................................................... 1
1.1 Conventions ............................................................................................................................... 1 1.2 Definitions, Acronyms and Abbreviation .................................................................................... 2
2 Introduction ...................................................................................................................................... 3 2.1 Overview .................................................................................................................................... 3 2.2 Limitations and recommendations ............................................................................................. 4 2.3 IP Restrictions ............................................................................................................................ 4 2.4 Troubleshooting ......................................................................................................................... 6
3 System API ...................................................................................................................................... 9 3.1 System Config ............................................................................................................................ 9
3.1.1 UpdateServerConfig - Backup Server ............................................................................... 9 3.1.2 UpdateConfig - Backup Server........................................................................................ 11 3.1.3 GetSystemSetting - Backup Server................................................................................. 13 3.1.4 UpdateReplicationConfig ................................................................................................. 16 3.1.5 UpdateLicense................................................................................................................. 17 3.1.6 GetLicense ...................................................................................................................... 18 3.1.7 GetReplicationMode ........................................................................................................ 21
3.2 System User ............................................................................................................................. 22 3.2.1 AddSysUser ..................................................................................................................... 22 3.2.2 UpdateSysUser ............................................................................................................... 23 3.2.3 RemoveSysUser.............................................................................................................. 23 3.2.4 AuthSystemUser.............................................................................................................. 24 3.2.5 ListSystemUsers.............................................................................................................. 26
3.3 Group Policy ............................................................................................................................. 28 3.3.1 AddUserGroup................................................................................................................. 28 3.3.2 DeletePolicyGroup .......................................................................................................... 30 3.3.3 DeletePolicyGroupFromUserGroup ................................................................................ 30 3.3.4 DeleteUserFromUserGroup ............................................................................................ 31 3.3.5 DeleteUserGroup............................................................................................................. 32 3.3.6 ListPolicyGroups.............................................................................................................. 33 3.3.7 ListUserGroups................................................................................................................ 52 3.3.8 ModifyUserGroup ............................................................................................................ 53 3.3.9 UpdatePolicyGroup ......................................................................................................... 54
4 User API ......................................................................................................................................... 67 4.1 User .......................................................................................................................................... 67
4.1.1 ListUsers .......................................................................................................................... 67 4.1.2 AuthUser .......................................................................................................................... 78 4.1.3 RunSingleUserRebuild .................................................................................................... 78 4.1.4 GetSingleUserRebuildStatus ........................................................................................... 79 4.1.5 GetUserStorageStat ........................................................................................................ 81 4.1.6 UpdateUserProfile ........................................................................................................... 83 4.1.7 AddContact ...................................................................................................................... 86 4.1.8 AddUser ........................................................................................................................... 87 4.1.9 GetUser ........................................................................................................................... 89 4.1.10 ModifyUserStatus ............................................................................................................ 94 4.1.11 RemoveUser .................................................................................................................... 95 4.1.12 SendForgotPwdEmail ...................................................................................................... 96 4.1.13 GetUserStatus.do ............................................................................................................ 96
4.2 Backup Set ............................................................................................................................. 101 4.2.1 UpdateBackupSet ......................................................................................................... 101 4.2.2 AddSelectSrc ................................................................................................................. 115 4.2.3 RemoveSelectSrc .......................................................................................................... 116 4.2.4 AddDeselectSrc ............................................................................................................. 117 4.2.5 RemoveDeselectSrc ...................................................................................................... 118 4.2.6 AddSchedule ................................................................................................................. 118 4.2.7 UpdateSchedule ............................................................................................................ 122 4.2.8 RemoveSchedule .......................................................................................................... 126
www.ahsay.com
4.2.9 AddFilter ........................................................................................................................ 127 4.2.10 UpdateFilter ................................................................................................................... 128 4.2.11 RemoveFilter ................................................................................................................. 129 4.2.12 AddBackupSet ............................................................................................................... 130 4.2.13 AddAllowedIP ................................................................................................................ 133 4.2.14 RemoveAllowedIP ......................................................................................................... 134 4.2.15 DeleteBackupData ........................................................................................................ 134 4.2.16 DeleteBackupFile .......................................................................................................... 135 4.2.17 DeleteBackupSet ........................................................................................................... 135 4.2.18 GetBackupJobProgress ................................................................................................ 137 4.2.19 GetBackupSet ............................................................................................................... 138 4.2.20 ListBackupFiles ............................................................................................................. 143 4.2.21 ListBackupJobMode ...................................................................................................... 144 4.2.22 ListBackupJobs ............................................................................................................. 145 4.2.23 ListBackupJobStatus ..................................................................................................... 146 4.2.24 ListBackupSets .............................................................................................................. 147 4.2.25 RunBackup .................................................................................................................... 148 4.2.26 AddPreCommand .......................................................................................................... 149 4.2.27 UpdatePreCommand ..................................................................................................... 150 4.2.28 RemovePreCommand ................................................................................................... 151 4.2.29 AddPostCommand ........................................................................................................ 152 4.2.30 UpdatePostCommand ................................................................................................... 154 4.2.31 RemovePostCommand ................................................................................................. 155
4.3 Report..................................................................................................................................... 156 4.3.1 GetBackupJobReport .................................................................................................... 156 4.3.2 GetBackupJobReportSummary ..................................................................................... 160 4.3.3 GetRestoreJobReport ................................................................................................... 162
5 RPS API ....................................................................................................................................... 164 5.1 RPS Receiver ......................................................................................................................... 164
5.1.1 ListReceiver ................................................................................................................... 164 5.1.2 UpdateReceivers ........................................................................................................... 166 5.1.3 RemoveReceiver ........................................................................................................... 168
6 RDR API ...................................................................................................................................... 169 6.1 RDR License .......................................................................................................................... 169
6.1.1 UpdateLicense............................................................................................................... 169 6.2 Server Config ......................................................................................................................... 170
6.2.1 UpdateServerConfig ...................................................................................................... 170 7 Further Information ...................................................................................................................... 172 Appendix ............................................................................................................................................. 173
Appendix A Supported Language Code .................................................................................. 173 Appendix B Supported Time zone ........................................................................................... 174 Appendix C Product Documentation ........................................................................................ 176
www.ahsay.com 1
1 Overview
1.1 Conventions
List of notations used throughout this document.
Convention Descriptions Example Bold Important Information WARNING: Text
Italic Folder Path /usr/local/cbs/conf
[] Graphical Interface Elements [Manage Log]
%% Filepath in Windows format %CBS_HOME%
$ Filepath in Linux/Unix/BSD format $CBS_HOME
italic Command mkdir /usr/local/cbs
Notation that are used specifically for API section:
Convention Descriptions <Text Inside angle brackets> Placeholder for which you must supply a value.
[Text inside square brackets] Optional items.
{Text insides braces} Set of required items; choose one.
Vertical bar (|) Separator for mutually exclusive items; choose one.
Ellipsis (…) Items that can be repeated.
Bold All the keys defined in the parameter section or the JSON objects are mandatory.
www.ahsay.com 2
1.2 Definitions, Acronyms and Abbreviation
Term/Abbreviation Definition AhsayCBS Ahsay™ Cloud Backup Suite
AhsayOBM Ahsay™ Online Backup Manager
AhsayACB Ahsay™ A-Click Backup
CBS_HOME The install location of AhsayCBS. Windows C:\Program Files\AhsayCBS Linux /usr/local/cbs/
CONF_HOME The directory to store AhsayCBS configuration files. Windows %CBS_HOME%\conf Linux $CBS_HOME/conf
USER_HOMES The directories where AhsayCBS store the AhsayOBM & AhsayACB users accounts. The default location is: %CBS_HOME%\users
POLICY_HOME The directory where AhsayCBS store its system users and group policy information. Windows %CBS_HOME%\system\policy Linux $CBS_HOME\system\policy
SYSTEM_HOME The directory where AhsayCBS store its system information. Windows %CBS_HOME%\system\ Linux $CBS_HOME\system\
WEBAPPS_HOME Location of the webapps directory inside the installation directory of AhsayCBS. Windows %CBS_HOME%\webapps. Linux $CBS_HOME\webapps
RECEIVER_HOME The location where the replicated data is stored for a particular replication receiver.
JAVA_HOME The location where JAVA is installed
www.ahsay.com 3
2 Introduction
AhsayCBS contains a set of APIs (Application Programming Interface), which allows you to integrate external applications (e.g. billing system or automated registration system) with AhsayCBS. This chapter describes what APIs are available and how you can invoke different APIs.
2.1 Overview
AhsayCBS comes with a set of new APIs which is JSON (JavaScript Object Notation) based JavaScript syntax. It can be read and used as a data format by any programming language. New API can be invoked by using post method. For backward compatable, we support some APIs in version 6, however for the support of new features in AhsayCBS, we recommend programmers to change their existing coding with the use of the new JSON syntax API. Here is a sample of the input:
{ "SysUser":"APIuser", "SysPwd":"my_password", "Hostname":"mybackup.com", "UserHomes":[ "CBS", "FTP", "Cloud1" ], : : : : }
For further reference on the JSON syntax or documentation, please refer to the following webpages: https://www.w3schools.com/js/js_json_intro.asp http://developers.squarespace.com/what-is-json/
Note: More examples are available in the following API sections.
www.ahsay.com 4
2.2 Limitations and recommendations
If you are using old API from version v6 or earlier, it will not support new features in AhsayCBS v7. Please convert your API’s to JSON format in order to use them for AhsayCBS v7. To allow your program to use the API, you are suggested to register an API user which has administrative role from your AhsayCBS. All the API with the parameters SysUser and SysPwd are refer to the Admin users or API user type. Note:
Please do your coding with the support of UTF-8.
When testing your API, ensure that you have all the parameters or settings are setup on your AhsayCBS.
Please arrange your test case in a logical sequence, such as creating a backup set before attempting to modify / delete a backup set with the API.
2.3 IP Restrictions
To avoid AhsayCBS’s APIs from being exploited by hackers from an unauthorized network, AhsayCBS, by default, accepts and handles only the API requests originating from the same local machine. To loosen this restriction, please do the following:
1. Open the web.xml file in the following paths:
%CBS_HOME%\webapps\obs\WEB-INF\web.xml
%CBS_HOME%\webapps\cbs\WEB-INF\web.xml
%CBS_HOME%\webapps\rps\WEB-INF\web.xml
%CBS_HOME%\webapps\rdr\WEB-INF\web.xml
2. Locate the ApiAccess filter under the “filter” section.
3. Change the [Range2] parameter value from “0.0.0.0-255.255.255.255” (shown in red and bold above) to another range of IP addresses from where APIs can be invoked.
web.xml
… <filter> <filter-name>ApiAccess</filter-name> <filter-class>com.ahsay.obs.www.IPFilter</filter-class> <init-param> <param-name>Range1</param-name> <param-value>localhost</param-value> </init-param>
www.ahsay.com 5
<init-param> <param-name>Range2</param-name> <param-value>0.0.0.0-255.255.255.255</param-value> </init-param> </filter> …
For example, changing [Range2] value from “0.0.0.0-255.255.255.255” to “192.168.1.1-192.168.1.255” to allow the 192.168.1.x network to invoke the APIs.
web.xml (Updated)
… <filter> <filter-name>ApiAccess</filter-name> <filter-class>com.ahsay.obs.www.IPFilter</filter-class> <init-param> <param-name>Range1</param-name> <param-value>localhost</param-value> </init-param> <init-param> <param-name>Range2</param-name> <param-value>192.168.1.1-192.168.1.255</param-value> </init-param> </filter> …
Please note that you can configure more than two IP ranges by adding additional init parameters (i.e. “Range3”, “Range4” and so on) to the filter XML tag. For example:
… <filter> <filter-name>ApiAccess</filter-name> <filter-class>com.ahsay.obs.www.IPFilter</filter-class> <init-param> <param-name>Range1</param-name> <param-value>localhost</param-value> </init-param> <init-param> <param-name>Range2</param-name> <param-value>192.168.1.1-192.168.1.255</param-value> </init-param> <init-param> <param-name>Range3</param-name> <param-value>192.168.2.1-192.168.2.255</param-value> </init-param> </filter> …
4. Restart AhsayCBS.
www.ahsay.com 6
2.4 Troubleshooting
Here are some common mistakes when people write their own JSON scripts:
Syntax errors
Getlicense.do API Input Missing coma and double quote { "SysUser":"api_user", "SysPwd":abc123$%" }
Output { "Status": "Error", "Message": "java.lang.NullPointerException", "ExptType": "java.lang.NullPointerException" }
Correct input { "SysUser":"api_user", "SysPwd":”abc123$%" }
Output { "Status": "OK" }
Missing the above syntax would cause critical errors.
UpdateConfig.do API input Missing pair [ ] {"SysUser":”api_user”, "SysPwd":”abc123$%”, "SendBccReports":true, "AdminContacts":{"Name":"New1","Email":"New1"},{ "Name":"New1","Email":"New1"} }
Output { "Status": "Error", "Message": "java.lang.NullPointerException", "ExptType": "java.lang.NullPointerException" }
Correct input {"SysUser":”api_user”, "SysPwd":”abc123$%”, "SendBccReports":true, "AdminContacts":[{"Name":"New1","Email":"New1"},{ "Name":"New1","Email":"New1"} ] }
Output { "Status": "OK" }
The datatype of AdminContacts here is array. Pair [ ] must be added.
Parameter names errors
Getlicense.do API Input Incorrect parameter name { "SySUser":"api_user", "SySPwd":”abc123$%" }
Output { "Status": "Error",
www.ahsay.com 7
"Message": "java.lang.NullPointerException", "ExptType": "java.lang.NullPointerException" }
Correct input { "SysUser":"api_user", "SysPwd":”abc123$%" }
Output { "Status": "OK", }
Parameter names are case-sensitive. Make sure the parameters names are exactly the same as our list in this document.
Escape characters errors
AddSelectSrc.do API Input Character \ not escaped { "SysUser":"api_user", "SysPwd":”abc123$%", "LoginName":"opendirect", "BackupSetID":"1497925931498", "NewSelectedSrc":{"Src":"C:\SelectSrcTestOBM"} }
Output { "Status": "Error", "Message": "java.lang.NullPointerException", "ExptType": "java.lang.NullPointerException" }
Correct input { "SysUser":"api_user", "SysPwd":”abc123$%", "LoginName":"opendirect", "BackupSetID":"1497925931498", "NewSelectedSrc":{"Src":"C:\\SelectSrcTestOBM"} }
Output { "Status": "OK" }
Make sure to escape JAVA special characters.
www.ahsay.com 8
Additional information
In the case that you think that the error message does not give enough information, please refer to the web console for details:
[Dashboard] > [To Dos] > [API Errors]
Note: If you still encounter errors after making sure no mistakes were made, please approach our support team for further assistance
www.ahsay.com 9
3 System API
3.1 System Config
3.1.1 UpdateServerConfig - Backup Server
This API updates the Backup Server related configuration such as user home and free trial options. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[Basic]> [User Home] OR [Free Trial Options]
URL: http://BACKUP_SERVER/obs/api/json/UpdateServerConfig.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
UserHomes Array of UserHome
Note: When new user home is added, you need to include your existing user home in the array.
EnableFreeTrial Boolean Enable / Disable the Free Trial Registration option.
BackupQuotaSize String Backup quota of trial user, in number of bytes
ExpTrialStatus String “reset” or “suspend”
ExpTrialQuota String The quota of expired trial user, in number of bytes
SuspendUserDays Integer The number of days that a user will be suspended. The value can be any one of the following: "7", “8”, … , “29”, “30”, “45”, “60”, “75”, “90”
TrialMsExchange Boolean Enable / Disable the trial of Microsoft Exchange Server add-on module.
TrialMsSql Boolean Enable / Disable the trial of Microsoft SQL Server add-on module.
TrialMySql Boolean Enable / Disable the trial of MySQL Database Server add-on module.
TrialOracle Boolean Enable / Disable the trial of Oracle Database Server add-on module.
TrialDomino Boolean Enable / Disable the trial of Lotus Domino add-on module.
TrialNotes Boolean Enable / Disable the trial of Lotus Notes add-on module.
TrialWinServer2008BareMetal Boolean Enable / Disable the trial of Windows System Backup add-on module.
TrialMsWinSysState Boolean Enable / Disable the trial of Windows System State Backup add-on module.
TrialVMware Boolean Enable / Disable the trial of VMware add-on module.
TrialVMwareQuota String VMware VM module quota. Enter integer value in string format.
TrialVMwareQuotaType String Available for AhsayCBS on 7.7.0.0 or above Default value is GUESTVM if not provided The value can be any one of the following: GUESTVM SOCKET
TrialMsVm Boolean Enable / Disable the trial of Hyper-V add-on module.
TrialMsVmQuota String Hyper-V module quota. Enter integer value in string format. Eg: "1" or "2" etc.
TrialMsVmQuotaType String Available for AhsayCBS on 7.7.0.0 or above Default value is GUESTVM if not provided The value can be any one of the following: GUESTVM
www.ahsay.com 10
SOCKET
TrialMsExchangeMailbox Boolean Enable / Disable the trial of Microsoft Exchange Mailbox add-on module.
TrialEMBQuota String Microsoft Exchange Mailbox module quota. Enter integer value in string format
TrialNasClient Boolean Enable / Disable the trial of NAS add-on module.
TrialShadowProtectBareMetal Boolean Enable / Disable the trial of Shadow Protect System Backup add-on module.
TrialShadowCopy Boolean Enable / Disable the trial of Volume Shadow Copy add-on module.
TrialCdp Boolean Enable / Disable the trial of Continuous Data Protection add-on module.
TrialDeltaBlock Boolean Enable / Disable the trial of In-File Delta add-on module.
TrialMobile Boolean Enable / Disable the trial Mobile add-on module.
TrialMobileQuota String Mobile add-on module quota. Enter integer value in string format
TrialOffice365Mail Boolean Enable / Disable the trial of Office365 online backup add-on module.
TrialOpenDirect Boolean Supported from AhsayCBS v7.13.0.0 or above Enable / Disable the trial Open Direct/ Granular Restore add-on module.
TrialOpenDirectQuota String Supported from AhsayCBS v7.13.0.0 or above Open Direct/ Granular Restore quota. Enter integer value in string format
EnableRemoveUser Boolean Enable / Disable the remove trial user.
RemoveUserDays String Enter integer value in string format.
SinceInactive Boolean
Return Values: Key Type Descriptions Status String "OK" or "Error"
Message String
Error message, it exists only if status is "Error"
ExptType String The type of exception, it exists only if status is "Error"
JSON Objects: UserHome
Key Type Descriptions Path String Path of user home, eg: "F:\\new_home"
Quota String
Maximum QPS ratio of the user home The value can be any one of the following: "Unlimited" "300" "250" "200" "150" "100" "90" "80" "70" "60" "50" "40" "30" "20" "10" "0" "0" refers to the "Not Used"
Example: Input: Update userhomes {
"SysUser":"api_user", "SysPwd":"abc123$%", "UserHomes": [ { "Path": "F:\\home" }, { "Quota": "Unlimited" }, { "Path": "F:\\new_home"
www.ahsay.com 11
}, { "Quota": "Unlimited" } ] }
Output {"Status":"OK"}
Input: Update module settings {
"SysUser":"api_user", "SysPwd":"abc123$%", "EnableFreeTrial": true, "TrialMsExchange": true }
Output {"Status":"OK"}
3.1.2 UpdateConfig - Backup Server
This API updates the the following settings of AhsayCBS: Proxy server; Admin contacts; System homes; SNMP settings; Windows Event Logs; The related settings can be found on the AhsayCBS web console:
[System Settings] > [Basic]> [General] OR [Email]
[ System Settings] >[Advanced]> [Proxy] OR [Logging]
URL: http://BACKUP_SERVER/cbs/api/json/UpdateConfig.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
UseEventLog Boolean Whether event log is enabled
EventLogName String Name of event log
Hostname String Hostname of the CBS server
SystemHome String The directory containing all system files
WebServers Array of WebServer
Connectors
SmtpServers Array of SmtpServer
SmtpServers settings
AdminContacts Array of Contact
Admin contacts in array
UseProxy Boolean Enable proxy server
ProxyUsername String User name of proxy server
ProxyPassword String Password of the user of proxy server
ProxyType String The value can be any one of the following: HTTP SOCK
ProxyHost String Hostname of the proxy server
ProxyPort String Port used by the proxy server
ProxyExcludeHosts Array of If you need to exclude some hostnames and IP addresses for proxy
www.ahsay.com 12
ProxyExcludeHost
connection, you can add those excluded hostnames and IP addresses.
EnableSnmp Boolean
SnmpStartIP String
SnmpEndIP String
SnmpTrapInfo Boolean SNMP Trap Level Information
SnmpTrapWarn Boolean SNMP Trap Level Warning
SnmpTrapErr Boolean SNMP Trap Level Error
SnmpPort Integer SNMP Trap port number
SnmpTrapRecv1 SnmpTrapRecv
Receiver 1
SnmpTrapRecv2 SnmpTrapRecv
Receiver 2
SnmpTrapRecv3 SnmpTrapRecv
Receiver 3
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String
Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: WebServer
Key Type Descriptions Id Integer Usually start from 0, ascending order
Ip String
Port String
SysUser String
SysPwd String
MaxConn String Maximum number of connection allowed to server
MaxKeepAliveReq String
ConnTimeout String Connection timeout
SslCertificateId String Empty string if not applicable
Protocol String The value can be any one of the following: http https
SmtpServer
Key Type Descriptions HostName String
Port Integer
SecureProtocol Boolean
Auth Boolean
AuthUser String
AuthPwd String
Reportsender Contact
Owner String Name of owner, empty if owner is Admin
Contact
Key Type Descriptions Name String
Owner String Name of owner, empty if owner is Admin
Email String
Address String
ReceiveBccEmail Boolean
ProxyExcludeHost
Key Type Descriptions Host String
SnmpTrapRecv
Key Type Descriptions Enable Boolean
Host String
TrapPort String
Example:
www.ahsay.com 13
Input {"SysUser":”api_user”, "SysPwd":”abc123$%”, "SendBccReports":true, "AdminContacts":[{"Name":"New1","Email":"New1"}] }
Output { "Status": "OK" }
Input 2 : {"SysUser":”api_user”, "SysPwd":”abc123$%”, "SendBccReports":true, "AdminContacts":[{"Name":"New1","Email":"New1"}] }
Output { "Status": "OK" }
3.1.3 GetSystemSetting - Backup Server
This API gets the Backup Server related configuration such as user home and free trial options. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[Basic]> [User Home] OR [Free Trial Options]
URL: http://BACKUP_SERVER/obs/api/json/GetSystemSetting.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data ConfigData
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: UserHomes
Key Type Descriptions QuotaSum Array
Quota String
PasswordProtected Boolean Whether it is located at password protected network drive
Password String
Username String
CurrentRatio String Current QPS Ratio
Path String Path to the user home
Size String Size of the user home
ConfigData
Key Type Descriptions EnableFreeTrial Boolean Enable / Disable the Free Trial Registration option.
BackupQuotaSize String Backup quota of trial user, in number of bytes
www.ahsay.com 14
ExpTrialStatus String “reset” or “suspend”
SuspendUserDays Integer The number of days that a user will be suspended. The value can be any one of the following: "7", “8”, … , “29”, “30”, “45”, “60”, “75”, “90”
SinceInactive Boolean
TrialMsExchange Boolean The trial option of Microsoft Exchange Server add-on module.
TrialMsSql Boolean The trial option of Microsoft SQL Server add-on module.
TrialMySql Boolean The trial option of MySQL Database Server add-on module.
TrialOracle Boolean The trial option of Oracle Database Server add-on module.
TrialDomino Boolean The trial option of Lotus Domino add-on module.
TrialNotes Boolean The trial option of Lotus Notes add-on module.
TrialWinServer2008BareMetal Boolean The trial option of Windows System Backup add-on module.
TrialMsWinSysState Boolean The trial option of Windows System State Backup add-on module.
TrialVMware Boolean The trial option of VMware add-on module.
TrialVMwareQuota String VMware module quota.
TrialVMwareQuotaType Array Available for AhsayCBS on 7.7.0.0 or above Default value is GUESTVM if not provided The value can be any one of the following: GUESTVM SOCKET
TrialMsVm Boolean The trial option of Hyper-V add-on module.
TrialMsVmQuota String Hyper-V module quota.
TrialMsVmQuotaType Array Available for AhsayCBS on 7.7.0.0 or above Default value is GUESTVM if not provided The value can be any one of the following: GUESTVM SOCKET
TrialMsExchangeMailbox Boolean The trial option of Microsoft Exchange Mailbox add-on module.
TrialEMBQuota String Microsoft Exchange Mailbox module quota.
TrialNasClient Boolean The trial option of NAS add-on module.
TrialShadowProtectBareMetal Boolean The trial option of Shadow Protect System Backup add-on module.
TrialShadowCopy Boolean The trial option of Volume Shadow Copy add-on module.
TrialCdp Boolean The trial option of Continuous Data Protection add-on module.
TrialDeltaBlock Boolean The trial option of In-File Delta add-on module.
TrialMobile Boolean The trial option of Mobile add-on module.
TrialMobileQuota String The Quota of mobile add-on module.
TrialOpenDirect Boolean Supported from AhsayCBS v7.13.0.0 or above The trila option of Open direct/Granular restore add-on module.
TrialOpenDirectQuota String Supported from AhsayCBS v7.13.0.0 or above The Quota of Open direct/Granular resotre add-on module
EnableRemoveUser Boolean The option of trial user removal.
RemoveUserDays String The number of days to remove user after registration. The value can be any one of the following: "30" "60" "90" "120" "150" "180"
UserHomes Array
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%" }
Output {
"Status":"OK", "Data":{ "TrialShadowProtectBareMetal":true, "TrialMsWinSysState":true, "TrialMsVmQuotaTypes":[
www.ahsay.com 15
], "TrialNasClient":true, "TrialOracle":true, "TrialVMware":true, "TrialVMwareQuota":"2", "BackupQuotaSize":"52428800", "TrialMobile":false, "TrialMsVm":true, "UserHomes":[ { "QuotaSum":"", "Quota":"Unlimited", "PasswordProtected":false, "Password":"", "Username":"", "CurrentRatio":"0", "Path":"F:\\new_home1", "Size":"" } ], "EnableRemoveUser":true, "TrialMsExchange":true, "TrialMsVmQuotaType":"GUESTVM", "TrialDeltaBlock":true, "RemoveUserDays":"60", "TrialMySql":true, "TrialDomino":true, "TrialMsSql":true, "TrialMsVmQuota":"2", "TrialCdp":true, "SuspendUserDays":30, "TrialNotes":true, "TrialWinServer2008BareMetal":true, "TrialShadowCopy":true, "ExpTrialStatus":"suspend", "TrialVMwareQuotaTypes":[ ], "SinceInactive":false, "TrialMsExchangeMailbox":true, "TrialEMBQuota":"5", "EnableFreeTrial":true, "TrialMobileQuota":"0", "TrialVMwareQuotaType":"GUESTVM" } }
www.ahsay.com 16
3.1.4 UpdateReplicationConfig
This API updates the replication settings including: Replication destination; Replication Proxy server; Replication traffic limit; Replication backup set; The related settings can be found on the AhsayCBS web console:
[Replication]>[Sending Data]>[Replication]
URL: http://BACKUP_SERVER/obs/api/json/UpdateReplicationConfig.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
EnableReplication Boolean Enable / Disable the option to replicate back up data to another server or predefined cloud storage.
RepDestId String Destination ID of the replication destination
ReplicationUseProxy Boolean Enable / Disable the use of proxy option in replication profile.
ReplicationUseTrafficLimit Boolean Enable / Disable the use of replication traffic limit.
TrafficLimits Array of TrafficLimit
Configure the trafiic limit settings to control traffic at a specific time
ReplicateIndividualBset Boolean Enable / Disable the option to replicate individual backup set.
ReplicateNewPaidBSet Boolean Enable / Disable the option to replicate new backup sets of paid users.
ReplicateNewTrialBSet Boolean Enable / Disable the option to replicate new backup sets of trial users.
RepBSet Array of String
The user name and backup set ID of the replicated backup set, joined with “++” as separator. For example, user1++123456789
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: TrafficLimit
Key Type Descriptions StartDayOfWeek Integer The start day of traffic limit. “1” stands for Sunday, “2” stands for
“Monday” and so on.
StartHour Integer The start hour of traffic limit. “0”, “1”… “23” can be set.
StartMin Integer The start minute of traffic limit. “0”, “1”… “59” can be set.
EndDayOfWeek Integer The end day of traffic limit. “1” stands for Sunday, “2” stands for “Monday” and so on.
EndHour Integer The end hour of traffic limit. “0”, “1”… “23” can be set.
EndMin Integer The end minute of traffic limit. “0”, “1”… “59” can be set.
MaxTransferPerSec String Maximum number of KBytes transferred per second
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "EnableReplication":true, "ReplicationUseTrafficLimit":true, "TrafficLimits":[ { "StartDayOfWeek":"4", "StartHour":"3",
www.ahsay.com 17
"StartMin":"30", "EndDayOfWeek":"5", "EndHour":"4", "EndMin":"30", "MaxTransferPerSec":"300" } ] }
Output {"Status":"OK"}
3.1.5 UpdateLicense
This API updates the licensee name and license key on the AhsayCBS server for backup server. The related settings can be found on the AhsayCBS web console:
[System Settings]>[License]> [Backup]
URL: http://BACKUP_SERVER/obs/api/json/UpdateLicense.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Licensee String Licensee name
Key String Product Key
UseProxy Boolean Enable / Disable the use of proxy defined in the AhsayCBS to connect the internet.
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "Licensee": "ABC_Backup", "Key": "XyZ98-AbcDE-fGhIJ-98bcd-YZ" }
Output 1 license status normal {
"Status":"OK", "Key":"XyZ98-AbcDE-fGhIJ-98bcd-YZ", "Deactivated":false, "Licensee":"ABC_Backup" }
Output 2 Click the Update button in web console {
"Status":"OK","Key":"XyZ98-AbcDE-fGhIJ-98bcd-YZ","Deactivated":false,"Info": "Internal Error 1012. Please press the [Update] button in license page to correct this problem. If the problem persists, please contact our technical support team to resolve this problem.","Licensee": "ABC_Backup" }
Output 3 Incorrect license key {
"Status":"Error","Message":"License key incorrect. Please try again." }
www.ahsay.com 18
Output 4 Server stopped {
"Status":"OK","Key":"XyZ98-AbcDE-fGhIJ-98bcd-YZ","Deactivated":false,"Info":"[OEM License.checkLicTime] License expired on 1970-01-01. Backup server is stopped.","Licensee":"ABC_Backup" }
3.1.6 GetLicense
This API collects the license and usage information from the AhsayCBS server.
The related settings can be found on the AhsayCBS web console:
[System Settings]>[License]> [Backup]
URL: http://BACKUP_SERVER/obs/api/json/GetLicense.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data LicenseData
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: LicenseData
Key Type Descriptions Key String Product key
Licensee String Licensee name
ProductName String Name of the product, e.g. "Offsite Backup Software, OEM Edition"
Version String Version of the AhsayCBS.
UseProxy Boolean Enable / Disable the use of proxy defined in the AhsayCBS to connect the internet.
LicTypeName String Name of license type
MaxObmUsers String Maximum number of OBM user CALs.
UsedObmQuota String Used OBM user CALs.
RemainObmQuota String Remaining OBM user CALs.
MaxAcbUsers String Maximum number of ACB user CALs.
UsedAcbQuota String Used ACB user CALs.
RemainAcbQuota String Remaining ACB user CALs.
ExpiryDate String Expire date of the license key.
SupExpDate String Expire date of the software support.
MaxQuota String Maximum backup quota of a user
Ip String The IP address of the AhsayCBS registered.
Port String The connection port of the AhsayCBS registered.
Mac String The MAC address of the network card that the AhsayCBS registered.
MaxUsers String Maximum number of users allowed.
AcbClientEnabled Boolean Enable / Disable the use of the ACB client module.
DagUseObm String Used OBM CALs due to DAG usage.
AcbUseObm String Used OBM CALs due to no ACB CALs.
EnableReplication Boolean Enable / Disable the use of the replication module.
EnableMSExchangeMailbox Boolean Enable / Disable the use of the Exchange Mailbox module.
ExchangeMailboxQuota String Exchange Mailbox quota.
UsedExchangeMailboxQuota String Used Exchange Mailbox quota.
RemainExchangeMailboxQuota
String Remaining Exchange Mailbox quota.
EnableMsVm Boolean Enable / Disable the use of Hyper-V module.
www.ahsay.com 19
MsVmQuota String Hyper-V quota.
UsedMsVmQuota String Used Hyper-V quota.
RemainMsVmQuota String Remaining Hyper-V quota.
MsVmSocketQuota String Available for AhsayCBS on 7.7.0.0 or above The Hyper-V socket quota.
UsedMsVmSocketQuota String Available for AhsayCBS on 7.7.0.0 or above Used Hyper-V socket quota.
RemainMsVmSocketQuota String Available for AhsayCBS on 7.7.0.0 or above Remaining Hyper-V socket quota.
EnableVMware Boolean Enable / Disable the use of VMware quota.
VMwareQuota String VMware quota.
UsedVMwareQuota String Used VMware quota.
RemainVMwareQuota String Remaining VMware quota.
VMwareSocketQuota String Available for AhsayCBS on 7.7.0.0 or above The VMware socket quota.
UsedVMwareSocketQuota String Available for AhsayCBS on 7.7.0.0 or above Used VMware socket quota.
RemainVMwareSocketQuota String Available for AhsayCBS on 7.7.0.0 or above Remaining VMware socket quota.
EnableMobile Boolean Available for AhsayCBS on 7.9.0.0 or above
MobileQuota String Available for AhsayCBS on 7.9.0.0 or above
UsedMobileQuota String Available for AhsayCBS on 7.9.0.0 or above
RemainMobileQuota String Available for AhsayCBS on 7.9.0.0 or above
EnableOffice365Mail Boolean Enable / Disable the use of Office 365 mail quota.
Office365MailQuota String Available for AhsayCBS on 7.9.0.0 or above Office 365 mail quota.
UsedOffice365MailQuota String Available for AhsayCBS on 7.9.0.0 or above Used Office 365 mail quota.
RemainOffice365MailQuota String Available for AhsayCBS on 7.9.0.0 or above Remaining Office 365 mail quota.
OpenDirectQuota String Supported from AhsayCBS v7.13.0.0 or above Granular restore/ open direct quota
UsedOpenDirectQuota String Supported from AhsayCBS v7.13.0.0 or above Used Granular restore quota.
RemainOpenDirectQuota String Supported from AhsayCBS v7.13.0.0 or above Remaining Granular restore quota.
EnableNasClient Boolean Enable / Disable the use of NAS client module.
NasClientQuota String NAS client quota.
UsedNasClientQuota String Used NAS client quota.
RemainNasClientQuota String Remaining NAS client quota.
Deactivated Boolean Disabled / Enabled license key.
EnableNasServer Boolean Enable / Disable the NAS server module.
EnableUbs Boolean Enable / Disable the AhsayUBS module.
EnableHa Boolean Enable / Disable the HA module.
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%" }
Output {
"Status":"OK", "Data":{ "RemainVMwareQuota":"2000", "RemainVMwareSocketQuota":"0", "Key":"XyZ98-AbcDE-fGhIJ-98bcd-YZ", "MaxAcbUsers":"2000", "UsedObmQuota":"0", "UsedMobileQuota":"0", "LicenseUnlimited":false, "MaxObmUsers":"5100", "RemainObmQuota":"5100", "ProductName":"Offsite Backup Software, OEM Edition", "Version":"7.7.0.0",
www.ahsay.com 20
"MaxQuota":"UNLIMITED", "ExchangeMailboxQuota":"2000", "EnableReplication":false, "UsedAcbQuota":"0", "UsedExchangeMailboxQuota":"0", "EnableHa":false, "EnableNasClient":true, "Deactivated":false, "EnableUbs":false, "VMwareSocketQuota":"0", "ConnectExpt":false, "UsedVMwareSocketQuota":"0", "AcbUseObm":0, "ExpiryDate":"2016/12/31", "Port":"60080", "RemainNasClientQuota":"10", "Mac":"00-23-AE-79-8B-E7, 00-FF-90-F9-7D-8A", "RemainMsVmQuota":"2000", "RemainExchangeMailboxQuota":"2000", "Ip":"192.168.192.1", "UsedVMwareQuota":"0", "EnableVMware":true, "EnableMSExchangeMailbox":true, "LicenseFile":"", "SupExpDate":"2016/12/31", "UsedNasClientQuota":"0", "BrandedProductName":"", "MsVmQuota":"2000", "EnableNasServer":false, "RemainAcbQuota":"2000", "EnableMsVm":true, "LicType":4, "MaxUsers":"5100", "MsVmSocketQuota":"0", "Licensee":"ABC_Backup", "FormattedLicTestConnTime":"", "RemainMsVmSocketQuota":"0", "Description":"", "RemainMobileQuota":"0", "MobileQuota":"0", "LicTestConnTime":"-1", "NasClientQuota":"10", "UsedMsVmQuota":"0", "RequestFreeLic":false, "UsedMsVmSocketQuota":"0", "AcbClientEnabled":false, "VMwareQuota":"2000", "LicTypeName":"OEM License", "DagUseObm":0, "UseProxy":false, "EnableMobile":false, "LicTestConnResult":"" } }
Note: Sample license key with sample output.
www.ahsay.com 21
3.1.7 GetReplicationMode
This API gets the current replication status on the backup server. The related settings can be found on the AhsayCBS web console:
[Mointoring]>[Replication Logs]
URL: http://BACKUP_SERVER/obs/api/json/GetReplicationMode.do
Available since version: 7.7
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data ReplicationData
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: ReplicationData
Key Type Descriptions Enable Boolean Enable / Disable of the replication.
Replicators Array of Replicator
Replicator
Key Type Descriptions LoginName String Client user name
BackupSetID String The 13 digit backup set ID.
Mode String The value can be any one of the following: RESYNC REPLAY PENDING SLEEPING
File String The file that is currently replicating.
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%" }
Output {
"Status":"OK", "Data":{ "Enable":true, "Replicators":[ { "LoginName":"userA", "File":"", "BackupSetID":"1463141188151", "Mode":"RESYNC" } ] } }
www.ahsay.com 22
3.2 System User
3.2.1 AddSysUser
This API adds system users.
The related settings can be found on the AhsayCBS web console:
[System Settings]>[Basic]> [Administrative Access]
URL: http://BACKUP_SERVER/obs/api/json/AddSysUser.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Login name of the system user
Password String
Role String Role of the system account The value can be set to one of the following: ADMIN READ_ONLY_ADMIN RESELLER API_ONLY
Hostname String Mandatory if "Role" is set to RESELLER
IP String Mandatory if "Role" is set to RESELLER
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"system", "SysPwd":"system", "LoginName":"api_user", "Password":"abc123$%", "Role":"API_ONLY" }
Output {"Status":"OK"}
Output 2 User already exist {
"Status": "Error", "Message": "Name is already used. Please use another name.", "ExptType": "java.lang.Exception" }
www.ahsay.com 23
3.2.2 UpdateSysUser
This API changes the password of a system user. The related settings can be found on the AhsayCBS web console:
[System Settings]>[Basic]> [Administrative Access]
URL: http://BACKUP_SERVER/obs/api/json/UpdateSysUser.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Login name of the system user
Password String
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
“SysUser”:”system”, “SysPwd”:”password”, “LoginName”:”admin123”, “Password”:”changepassword” }
Output {"Status":"OK"}
Input Missing LoginName {
“SysUser”:”system”, “SysPwd”:”password”, “Password”:”changepassword” }
Output {
"Status": "Error", "Message": "[Error] Parameter LoginName is null/empty!", "ExptType": "com.ahsay.obs.core.dbs.c" }
3.2.3 RemoveSysUser
This API removes a system user The related settings can be found on the AhsayCBS web console:
[System Settings]>[Basic]> [Administrative Access]
URL: http://BACKUP_SERVER/obs/api/json/RemoveSysUser.do
Available since version: 7.3
Parameters:
www.ahsay.com 24
Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
RemoveLoginName String Login name of the system user to remove
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
“SysUser”:”admin”, “SysPwd”:”password”, “RemoveLoginName”:”dummyAdmin” }
Output {"Status":"OK"}
Input 2 System user does not exist {
“SysUser”:”admin”, “SysPwd”:”password”, “RemoveLoginName”:”dummy” }
Output {
"Status": "Error", "Message": "System user 'dummy' does not exist", "ExptType": "org.json.JSONException" }
3.2.4 AuthSystemUser
This API checks whether the SysUser has admin right or not. If the SysUser is of type read-only or API, return status will be error. The return status would be OK otherwise. The related settings can be found on the AhsayCBS web console:
[System Settings]>[Basic]> [Administrative Access]
URL: http://BACKUP_SERVER/obs/api/json/AuthSystemUser.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example:
Input Admin role { “SysUser”:”Admin”,
www.ahsay.com 25
“SysPwd”:”password” }
Output {"Status":"OK"}
Input Read-only role {
“SysUser”:”Read-OnlyAdmin”, “SysPwd”:”password” }
Output { "Status": "Error", "Message": "Incorrect system username/password", "ExptType": "com.ahsay.obs.core.dbs.c" }
www.ahsay.com 26
3.2.5 ListSystemUsers
This API lists the information of all system users. The related settings can be found on the AhsayCBS web console:
[System Settings]>[Basic]> [Administrative Access]
URL: http://BACKUP_SERVER/obs/api/json/ListSystemUsers.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
RoleOnly Boolean List the role of system users only
Host String AhsayCBS’s URL. It is required for calling API from Redirector only
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Array of SystemUserRole or Array of SystemUser
If RoleOnly is true, an array of SystemUserRole is returned. Otherwise, an array of SystemUser is returned.
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: SystemUserRole
Key Type Descriptions Name String
Role String The value can be any one of the following: ADMIN READ_ONLY_ADMIN RESELLER API_ONLY
SystemUser
Key Type Descriptions Name String
Role String The value can be any one of the following: ADMIN READ_ONLY_ADMIN API_ONLY
HashedPwd String
Example:
Input { “SysUser”:”Admin”, “SysPwd”:”password” }
Output { "Status": "OK", "Data": [ { "Name": "SysUser", "HashedPwd": "u8XmYeEGxtzY3G3RhkVML8ujxxD7TY5xpgyT6vB38HM=", "Role": "READ_ONLY_ADMIN" }, {
www.ahsay.com 27
"Name": "dummySysUser", "HashedPwd": "taLJYlBhI2bqJy/6xtl0Sq9LRarNlqp8/Lkx7jtVglk=", "Role": "ADMIN" }, { "Name": "system", "HashedPwd": "u8XmYeEGxtzY3G3RhkVML8ujxxD7TY5xpgyT6vB38HM=", "Role": "ADMIN" } ] }
www.ahsay.com 28
3.3 Group Policy
3.3.1 AddUserGroup
This API let you add a new user group and allocate user to it.
The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [User Group]
URL: http://BACKUP_SERVER/obs/api/json/AddUserGroup.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
UserGroupName String Group name
Type String The value can be any one of the following: backup-user (Default value) system-user
BillingOption String The value can be any one of the following: group (Default value) individual
UserIdList String Multiple login names, separated by commas, are accepted. For example: user1,user2,user3
PolicyIDList Array of String
Arrary of policy ID
EditBillingContactBeanList Array of EditBillingContactBean
Contact list
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
ID String
JSON Objects: EditBillingContactBean
Key Type Descriptions ContactId String
Name String
Email String
Address String
Company String
Website String
Phone1 String
Phone2 String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "UserGroupName":"user-group" }
Output {"Status":"OK","ID":"1447039919940"}
Output 2 User group already in use {
www.ahsay.com 29
"Status": "Error", "Message": "The user group name is already in use", "ExptType": "java.lang.Exception" }
Input Add user group and assign policy {
"SysUser":”api_user”, "SysPwd":”abc123$%”, "UserGroupName":test-usergroup, "PolicyIDList":["1498011529749"] }":"user-group" }
Output {"Status":"OK","ID":"1447039919940"}
www.ahsay.com 30
3.3.2 DeletePolicyGroup
This API allows you to delete a policy group. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Policy Group]
URL: http://BACKUP_SERVER/obs/api/json/DeletePolicyGroup.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
ID String ID of the policy group
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
“SysUser”:”api_user”, “SysPwd”:”abc123”, “ID”:” 1496989829495” }
Output {"Status":"OK"}
3.3.3 DeletePolicyGroupFromUserGroup
This API allows you to deallocate a assigned policy group within a user group The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [User Group]>Click a usergroup
> [Assigned Policy]
URL: http://BACKUP_SERVER/obs/api/json/DeletePolicyGroupFromUserGroup.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
www.ahsay.com 31
UserGroupID String ID of User Group
PolicyGroupID String ID of Policy Group
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
“SysUser”:”api”, “SysPwd”:”pwd”, “UserGroupID”:” 1497233669967”, “PolicyGroupID”:” 1497233409042” }
Output {"Status":"OK"}
Output 2 policy group not exist {
"Status": "Error", "Message": "Policy group does not exist", "ExptType": "org.json.JSONException" }
3.3.4 DeleteUserFromUserGroup
This API allows you to delete users in a user group. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup User]>Click a user>
[User Profile]>[User Group]
URL: http://BACKUP_SERVER/obs/api/json/DeleteUserFromUserGroup.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
ID String ID of User Group
UserIdList String String of User ID
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
“SysUser”:”api”, “SysPwd”:”pwd”, “ID”:” 1497233669967”, “UserIdList”:” 1497233409042, 1496977596356” }
Output
www.ahsay.com 32
{"Status":"OK"}
Output 2 User not exist {
"Status": "Error", "Message": "[UserCacheManager.NoSuchUserExpt] User '1497233409042' not found.", "ExptType": "com.ahsay.obs.core.dbs.Y" }
3.3.5 DeleteUserGroup
This API allows you to delete a user group and all it’s information. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup User]>Click a user>
[User Profile]>[User Group]
URL: http://BACKUP_SERVER/obs/api/json/DeleteUserGroup.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
ID String ID of user group
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
“SysUser”:”api_user”, “SysPwd”:”abc123”, “ID”:” 1497232492006” }
Output {"Status":"OK"}
Output 2 (user group not exist) {
"Status": "Error", "Message": "[Error] Parameter UserGroupID, 1497232492006 does not existed!", "ExptType": "com.ahsay.obs.core.dbs.c" }
www.ahsay.com 33
3.3.6 ListPolicyGroups
This API lists a detailed settings information of a policy group.
The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Policy Group]
URL: http://BACKUP_SERVER/obs/api/json/ListPolicyGroups.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String User name
PolicyGroupNameOnly Boolean Default value is false
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data NameInfo or PolicyGroup
If PolicyGroupNameOnly is true, NameInfo is returned. Otherwise PolicyGroup is returned.
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: NameInfo
Key Type Descriptions PolicyGroupID String
PolicyGroupName String
PolicyGroup
Key Type Descriptions ID String
Type String The value can be one of the following: BACKUP_USER SYSTEM_USER
PreemptedValues PreemptedValues
UserSettings UserSettings
GuiSettings GuiSettings
PreemptedBackupSetSettings PreemptedBackupSetSettings
BackupSetSettings BackupSetSettings
DefaultValues DefaultValues
PreemptedValues
Key Type Descriptions VmwareSettingsList VmwareSetti
ngsList
VolumeShadowCopySettingsList
VolumeShadowCopySettingsList
AllowedIPSettingsList AllowedIPSettingsList
FollowLinkSettingsList FollowLinkSettingsList
InFileDeltaSettingsList InFileDeltaSe
www.ahsay.com 34
ttingsList
CompressionsSettingsList CompressionsSettingsList
WinUserAuthSettingsList WinUserAuthSettingsList
FileSettingsList FileSettingsList
GranularRestoreSettingsList
GranularRestoreSettingsList
Supported from AhsayCBS v7.13.0.0 or above
OpenDirectSettingsList Supported from AhsayCBS v7.13.0.0 or above
MswindowsSystemStateSettingsList
MswindowsSystemStateSettingsList
DestinationSettingsList DestinationSettingsList
BandwidthControlSettingsList BandwidthControlSettingsList
NameSettingsList NameSettingsList
MySQLSettingsList MySQLSettingsList
FilePermissionsSettingsList FilePermissionsSettingsList
RetentionPolicySettingsList RetentionPolicySettingsList
ShadowProtectSettingsList ShadowProtectSettingsList
AdvancedSettingsList AdvancedSettingsList
CommandSettingsList CommandSettingsList
TemporaryDirectorySettingsList
TemporaryDirectorySettingsList
OracleSettingsList OracleSettingsList
LotusNotesSettingsList LotusNotesSettingsList
ReminderSettingsList ReminderSettingsList
FilterSettingsList FilterSettingsList
MswindowsSystemSettingsList
MswindowsSystemSettingsList
LotusDominoSettingsList LotusDominoSettingsList
ScheduleSettingsList ScheduleSettingsList
EncryptionSettingsList EncryptionSettingsList
ArchivedLogDeletionSettingsList
ArchivedLogDeletionSettingsList
CdpSettingsList CdpSettingsList
GranularRestoreSettingsList
Key Type Descriptions Enable Boolean
List Array of GranularRestoreSetting
VmwareSettingsList
Key Type Descriptions Enable Boolean
List Array of
www.ahsay.com 35
VmwareSetting
OpenDirectSettingsList
Key Type Descriptions Enable Boolean
List Array of OpenDirectSetting
VmwareSetting
Key Type Descriptions Host String
Port String
Username String
Password String
Sshport String Port for ssh
Id String
Version String
AutoEnableCBT Boolean Changed Block Tracking
AppliedValueSettings AppliedValueSettings
AppliedValueSettings
Key Type Descriptions Id String
Type String For DefaultValues, this value is “default” For PreemptedValues, this value is “preempted”
Mode String For DefaultValues, this value is empty. For PreemptedValues, this value can be one of the following: prepend append override
Name String
Os String This value can be empty, one of the following: windows mac linux
AppliedModuleIDList Array of String
The String can be any of the following values: FILE Cloud File Lotus Domino Lotus Notes Microsoft Exchange Server Microsoft Exchange Mail (MAPI) Microsoft SQL Server Microsoft Windows Virtualization Microsoft Windows System Backup MySQL Oracle Database Server ShadowProtect Bare Metal System State VMware Virtualization Office 365 Exchange Online If a String above is added to the array, that module is selected.
Version String This value can be empty, or non-empty for specific modules. For VMWare module, the value can be one of the following: APPVERSION_ESX_V2 APPVERSION_ESXI_V2 APPVERSION_VMSERVER1 APPVERSION_VMSERVER2 APPVERSION_WORKSTATION APPVERSION_WORKSTATION8 APPVERSION_PLAYER APPVERSION_FUSION APPVERSION_FUSION5 APPVERSION_VCENTER_V2 For Microsoft Exchange and Exchange Mail module, the value can
www.ahsay.com 36
be one of the following: 8 (For Microsoft Exchange Server 2007) 14 (For Microsoft Exchange Server 2010) 15 (For Microsoft Exchange Server 2013) DAG (For Microsoft Exchange Server 2010 (Database Availability Group)) DAG13 (For Microsoft Exchange Server 2013 (Database Availability Group)) For Microsoft Hyper-V module, the value can be one of the following: Microsoft Hyper-V Server Microsoft Hyper-V Server R2 Microsoft Hyper-V Server R2 (Failover Cluster) Microsoft Hyper-V Server 2012 Microsoft Hyper-V Server 2012 (Failover Cluster) Microsoft Hyper-V Server 2012 R2 Microsoft Hyper-V Server 2012 R2 (Failover Cluster)
VolumeShadowCopySettingsList
Key Type Descriptions Enable Boolean
List Array of VolumeShadowCopySetting
VolumeShadowCopySetting
Key Type Descriptions Enable Boolean
Id String
AppliedValueSettings AppliedValueSettings
AllowedIPSettingsList
Key Type Descriptions Enable Boolean
List Array of AllowedIPSetting
AllowedIPSetting
Key Type Descriptions Id String
AllowedIPList Array of AllowedIP
AppliedValueSettings AppliedValueSettings
AllowedIP
Key Type Descriptions Id String
StartIP String
EndIP String
FollowLinkSettingsList
Key Type Descriptions Enable Boolean
List Array of FollowLinkSetting
FollowLinkSetting
Key Type Descriptions Enable Boolean
www.ahsay.com 37
Id String
AppliedValueSettings AppliedValueSettings
InFileDeltaSettingsList
Key Type Descriptions Enable Boolean
List Array of InFileDeltaSetting
InFileDeltaSetting
Key Type Descriptions Enable Boolean
Id String
WeeklyInFileDeltaSchedule WeeklyInFileDeltaSchedule
MonthlyInFileDeltaSchedule MonthlyInFileDeltaSchedule
MinDeltaFileSize Long
MaxNumOfDelta Long
MaxDeltaRatio Long
DeltaBlockSize Long
DefaultDeltaType String
AppliedValueSettings AppliedValueSettings
WeeklyInFileDeltaSchedule
Key Type Descriptions Day Array of
String The array contains 7 Strings, representing the delta type from Sunday to Saturday. The values of the Strings can be one of the following: F (For full backup) D (For differential delta) I (For incremental delta)
MonthlyInFileDeltaSchedule
Key Type Descriptions Date Long
Criteria String The value can be one of the following: Weekday Weekend Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Occurrence String The value can be one of the following: First Second Third Fourth Last
Month Array of String
The array contains 12 Strings, representing the delta type from January to December The values of the Strings can be one of the following: F (For full backup) D (For differential delta) I (For incremental delta)
CompressionsSettingsList
www.ahsay.com 38
Key Type Descriptions Enable Boolean
List Array of CompressionsSetting
CompressionsSetting
Key Type Descriptions Id String
Type String The value can be empty, or one of the following: GzipDefaultCompression GzipBestSpeedCompression
AppliedValueSettings AppliedValueSettings
WinUserAuthSettingsList
Key Type Descriptions Enable Boolean
List Array of WinUserAuthSetting
WinUserAuthSetting
Key Type Descriptions Id String
Domain String
Password String
Username String
AppliedValueSettings AppliedValueSettings
FileSettingsList
Key Type Descriptions Id String
WindowsOutlook Boolean
WindowsOutlookExpress Boolean
WindowsDesktop Boolean
WindowsFavourites Boolean
WindowsMail Boolean
Version String
WindowsMyDocuments Boolean
WindowsLiveMail Boolean
AppliedValueSettings AppliedValueSettings
MswindowsSystemStateSettingsList
Key Type Descriptions Enable Boolean
List Array of MswindowsSystemStateSetting
MswindowsSystemStateSetting
Key Type Descriptions Id String
Version String
BackupTarget String
AppliedValueSettings AppliedValueSettings
DestinationSettingsList
Key Type Descriptions Enable Boolean
List Array of
www.ahsay.com 39
DestinationSetting
DestinationSetting
Key Type Descriptions Id String
SystemDestinationIDList Array of String
DestinationList Array of Destination
SystemDestinationList Array of Destination
AppliedValueSettings AppliedValueSettings
Destination
Key Type Descriptions Id String
BandwidthControlSettingsList
Key Type Descriptions Enable Boolean
List Array of BandwidthControlSetting
BandwidthControlSetting
Key Type Descriptions Enable Boolean
Id String
BandwidthControlList Array of BandwithControl
Mode String The value can be one of the following: independent share
AppliedValueSettings AppliedValueSettings
BandwithControl
Key Type Descriptions Name String
Id String
StartDay Long
StartHour Long
StartMinute Long
EndDay Long
EndHour Long
EndMinute Long
MaxTransferRateInBitsPerSec Long
NameSettingsList
Key Type Descriptions Enable Boolean
List Array of NameSetting
NameSetting
Key Type Descriptions Id String
Name String
AppliedValueSettings AppliedValueSettings
MySQLSettingsList
www.ahsay.com 40
Key Type Descriptions Enable Boolean
List Array of MySQLSetting
MySQLSetting
Key Type Descriptions Id String
Host String
Port String
Username String
Password String
MysqldumpPath String
Version String
AppliedValueSettings AppliedValueSettings
FilePermissionsSettingsList
Key Type Descriptions Enable Boolean
List Array of FilePermissionsSetting
FilePermissionsSetting
Key Type Descriptions Enable Boolean
Id String
AppliedValueSettings AppliedValueSettings
RetentionPolicySettingsList
Key Type Descriptions Enable Boolean
List Array of RetentionPolicySetting
RetentionPolicySetting
Key Type Descriptions Id String
Period Long
OverlapSensitive Boolean
AdvancedRetentionPolicyList Array of AdvancedRetentionPolicy
Type String The value can be one of the following: SIMPLE ADVANCED
Unit String The value can be one of the following: DAYS JOBS
AppliedValueSettings AppliedValueSettings
AdvancedRetentionPolicy
Key Type Descriptions Name String
ReadOnly Boolean
Id Long
Type String The value can be one of the following: DAILY WEEKLY
www.ahsay.com 41
MONTHLY QUARTERLY YEARLY CUSTOM
NumbersToKeep Integer
Day Integer
Week Integer
Month Integer
Year Integer
DateType String It can be empty for daily or weekly retention policy, or one of the following: WEEK_OF_MONTH WEEK_OF_YEAR EXACT
Sun, Mon, Tue, Wed, Thu, Fri, Sat
Boolean For weekly custom retention policy
ShadowProtectSettingsList
Key Type Descriptions Enable Boolean
List Array of ShadowProtectSetting
ShadowProtectSetting
Key Type Descriptions Id String
EncryptionAlgorithm Long
EncryptionPassword String
Version String
InstallLocation String
AppliedValueSettings AppliedValueSettings
AdvancedSettingsList
Key Type Descriptions Enable Boolean
List Array of AdvancedSetting
AdvancedSetting
Key Type Descriptions Id String
DeselectedSourceList Array of String
SelectedSourceList Array of String
Enable Boolean
AppliedValueSettings AppliedValueSettings
CommandSettingsList
Key Type Descriptions Enable Boolean
List Array of CommandSetting
CommandSetting
Key Type Descriptions Id String
PreCommandList Array of Command
PostCommandList Array of Command
www.ahsay.com 42
AppliedValueSettings AppliedValueSettings
Command
Key Type Descriptions Id String
Name String
Type String The value can be one of the following: pre (for Pre-command) post (for Post-command)
Command String
WorkingDir String
TemporaryDirectorySettingsList
Key Type Descriptions Enable Boolean
List Array of TemporaryDirectorySetting
OracleSettingsList
Key Type Descriptions Enable Boolean
List Array of OracleSetting
OracleSetting
Key Type Descriptions Id String
Host String
Port String
LoginID String
Password String
Sid String
Version String
AppliedValueSettings AppliedValueSettings
LotusNotesSettingsList
Key Type Descriptions Enable Boolean
List Array of LotusNotesSetting
LotusNotesSetting
Key Type Descriptions Id String
NotesIniPath String
Version String
AppliedValueSettings AppliedValueSettings
ReminderSettingsList
Key Type Descriptions Enable Boolean
List Array of ReminderSetting
ReminderSetting
Key Type Descriptions OfflineNotificationDay Long
www.ahsay.com 43
BackupIntervalHour Long
OfflineBackupEnabled Boolean
OfflineBackupReminderComputerName
String
BackupIntervalDay Long
ShowOfflineBackupReminder Boolean
LogoutBackupReminderEnabled
Boolean
LogoutBackupReminderComputerName
String
Id String
AppliedValueSettings AppliedValueSettings
FilterSettingsList
Key Type Descriptions Enable Boolean
List Array of FilterSetting
FilterSetting
Key Type Descriptions Enable Boolean
Id String
FilterList Array of Filter
AppliedValueSettings AppliedValueSettings
Filter
Key Type Descriptions Name String
PatternList Array of Pattern
ApplyToDir Boolean
ApplyToFile Boolean
TopDir String
Type String The value can be one of the following: START_WITH END_WITH CONTAIN CUSTOM
MatchPatternAgainstFullPathOnly
Boolean
Include Boolean
Only Boolean
Pattern
Key Type Descriptions Pattern String
MswindowsSystemSettingsList
Key Type Descriptions Enable Boolean
List Array of MswindowsSystemSetting
MswindowsSystemSetting
Key Type Descriptions Id String
Version String
BackupTarget String
www.ahsay.com 44
AppliedValueSettings AppliedValueSettings
LotusDominoSettingsList
Key Type Descriptions Enable Boolean
List Array of LotusDominoSetting
LotusDominoSetting
Key Type Descriptions Id String
Version String
NotesIniPath String
AppliedValueSettings AppliedValueSettings
ScheduleSettingsList
Key Type Descriptions Enable Boolean
List Array of ScheduleSetting
ScheduleSetting
Key Type Descriptions Id String
Enable Boolean
ComputerName String
DailyScheduleList Array of DailySchedule
WeeklyScheduleList Array of WeeklySchedule
MonthlyScheduleList Array of MonthlySchedule
CustomScheduleList Array of CustomSchedule
AppliedValueSettings AppliedValueSettings
DailySchedule
Key Type Descriptions ReadOnly Boolean
Name String
Id Long
Hour Integer
Minute Integer
Duration Integer (optional) If no value is specified default value = -1 The value can be one of the following: until full backup completed = -1 stop backup after xx hours = 1 to 24
BackupType String The value can be empty, or one of the following: DATABASE DIFFERENTIAL LOG SKIP POWEROFF For Oracle and Lotus Domino backup sets, the value must be DATABASE or LOG
www.ahsay.com 45
For MS SQL Server backup sets, the value must be DATABASE or DIFFERENTIAL For MS Exchange Server before 2007 and Shadow Protect backup sets, the value must be DATABASE, DIFFERENTIAL, or LOG For MS Exchange Server 2007 or above, the value must be DATABASE or LOG For VMware backup sets, if version is VMware Server 1 or VMware Player, the value must be SKIP or POWEROFF
SpaceFreeUpEnabled Boolean Remove obsolete files according to retention policy from backup destination according to retention policy
LastUpdateTime Long
@class String com.ahsay.obx.cxp.obs.DailySchedule
WeeklySchedule
Key Type Descriptions ReadOnly Boolean
Name String
Id Long
Hour Integer
Minute Integer
Duration Integer (optional) If no value is specified default value = -1 The value can be one of the following: until full backup completed = -1 stop backup after xx hours = 1 to 24
BackupType String Refer to “BackupType” of DailySchedule
Days Array of Boolean
The array contains 7 boolean values that correspond to Sunday to Saturday. If the boolean value is true, backup will be run on that day.
SpaceFreeUpEnabled Boolean Remove obsolete files according to retention policy from backup destination according to retention policy
LastUpdateTime Long
@class String com.ahsay.obx.cxp.obs.WeeklySchedule
MonthlySchedule
Key Type Descriptions ReadOnly Boolean
Name String
Id Long
Hour Integer
Minute Integer
BackupType String Refer to “BackupType” of DailySchedule
Duration Integer
Occurrence String The value can be one of the following: First Second Third Fourth Last
Criteria String The value can be one of the following: Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday Weekend
SpaceFreeUpEnabled Boolean Remove obsolete files according to retention policy from backup destination according to retention policy
LastUpdateTime Long
@class String com.ahsay.obx.cxp.obs.MonthlySchedule
www.ahsay.com 46
CustomSchedule
Key Type Descriptions ReadOnly Boolean
Name String
Id Long
Hour Integer
Minute Integer
Duration Integer (optional) If no value is specified default value = -1 The value can be one of the following: until full backup completed = -1 stop backup after xx hours = 1 to 24
Date String In yyyy-MM-dd format
BackupType String Refer to “BackupType” of DailySchedule
SpaceFreeUpEnabled Boolean Remove obsolete files according to retention policy from backup destination according to retention policy
LastUpdateTime Long
@class String com.ahsay.obx.cxp.obs.CustomSchedule
EncryptionSettingsList
Key Type Descriptions Enable Boolean
List Array of EncryptionSetting
EncryptionSetting
Key Type Descriptions KeyLength Long
Key String
Type String
Algorithm String
Mode String
Id String
AppliedValueSettings AppliedValueSettings
ArchivedLogDeletionSettingsList
Key Type Descriptions Enable Boolean
List Array of ArchivedLogDeletionSetting
ArchivedLogDeletionSetting
Key Type Descriptions Id String
Enable Boolean
Days Long
AppliedValueSettings AppliedValueSettings
CdpSettingsList
Key Type Descriptions Enable Boolean
List Array of CdpSetting
CdpSetting
Key Type Descriptions Enable Boolean
Id String
Type String For v6, the value can be one of the following:
www.ahsay.com 47
all-volume backup-source custom-source For 7, the value is all-volume
BackupType String The value can be empty, or one of the following: DATABASE DIFFERENTIAL LOG SKIP POWEROFF For Oracle and Lotus Domino backup sets, the value must be DATABASE or LOG For MS SQL Server backup sets, the value must be DATABASE or DIFFERENTIAL For MS Exchange Server before 2007 and Shadow Protect backup sets, the value must be DATABASE, DIFFERENTIAL, or LOG For MS Exchange Server 2007 or above, the value must be DATABASE or LOG For VMware backup sets, if version is VMware Server 1 or VMware Player, the value must be SKIP or POWEROFF
MinUpdateInterval Long
TimeMarkInterval Long
MaxFileSize Long
ComputerName String
ExcludeSystemFiles Boolean Do not backup system files.
FilterList Array of Filter
CdpBackupControlSettings Array of CdpBackupControl
Version String The value can be one of the following: 6 7
SelectedSourceList Array of String
AppliedValueSettings AppliedValueSettings
CdpBackupControl
Key Type Descriptions ConsiderCpuUsage Boolean This setting only applicable for v6 legacy backup users.
CpuUsage Integer This setting only applicable for v6 legacy backup users.
ConsiderInput Boolean This setting only applicable for v6 legacy backup users.
ObserveInputForSecond Integer This setting only applicable for v6 legacy backup users.
ConsiderNetworkTraffic Boolean This setting only applicable for v6 legacy backup users.
NetworkTraffic Long This setting only applicable for v6 legacy backup users.
UserSettings
Key Type Descriptions MaximumBackupSetsSettings MaximumBac
kupSetsSettings
BackupDestinationSettings BackupDestinationSettings
QuotaSettings QuotaSettings
EncryptionKeySettings EncryptionKeySettings
EmailReportSettings EmailReportSettings
PasswordSettings PasswordSettings
www.ahsay.com 48
LogonSettings LogonSettings
MaximumBackupSetsSettings
Key Type Descriptions Enable Boolean
MaximumBackupSetsPerUser Long
BackupDestinationSettings
Key Type Descriptions ApplicationName String
CustomDestinationList Array of CustomDestination
SystemDestIDList Array of String
SystemDestinationList Array of SystemDestination
CustomDestination
Key Type Descriptions Name String
KeyName String The value can be one of the following: com.ahsay.obx.cxp.cpf.policy.userSettings.LocalDestination com.ahsay.obx.cxp.cpf.policy.userSettings.AmazonCloudDriveDestination com.ahsay.obx.cxp.cpf.policy.userSettings.AmazonS3Destination com.ahsay.obx.cxp.cpf.policy.userSettings.AWSCompatibleDestination com.ahsay.obx.cxp.cpf.policy.userSettings.GoogleCloudStorageDestination com.ahsay.obx.cxp.cpf.policy.userSettings.GoogleDriveDestination com.ahsay.obx.cxp.cpf.policy.userSettings.PooledDestination com.ahsay.obx.cxp.cpf.policy.userSettings.WindowsAzureDestination com.ahsay.obx.cxp.cpf.policy.userSettings.OneDriveDestination com.ahsay.obx.cxp.cpf.policy.userSettings.OneDrive4BizDestination com.ahsay.obx.cxp.cpf.policy.userSettings.RackspaceDestination com.ahsay.obx.cxp.cpf.policy.userSettings.OpenStackDestination com.ahsay.obx.cxp.cpf.policy.userSettings.DropboxDestination com.ahsay.obx.cxp.cpf.policy.userSettings.FtpDestination com.ahsay.obx.cxp.cpf.policy.userSettings.SftpDestination com.ahsay.obx.cxp.cpf.policy.userSettings.ObsDestination com.ahsay.obx.cxp.cpf.policy.userSetting.AliyunDestination
SystemDestination
Key Type Descriptions EnableQuota Boolean
Quota Long
DestinationID Long
DestinationName String
DestinationType String
QuotaSettings
Key Type Descriptions MaxPercentage Long
SharedQuota Long
Enable Boolean
SharedQuotaEnable Boolean
Compress Boolean
EncryptionKeySettings
Key Type Descriptions Enable Boolean
Upload Boolean
www.ahsay.com 49
EmailReportSettings
Key Type Descriptions Enable Boolean
ConsolidatedReportSendMin Long
ConsolidatedReportSendHour Long
SendIndividualReport Boolean
SendConsolidatedReport Boolean
ContactList Array of Contact
Contact
Key Type Descriptions Id String
Name String
Email String
EncryptEmail Boolean
EmailCertificate String
Address String
Website Boolean
Company String
Phone1 String
Phone2 String
PasswordSettings
Key Type Descriptions Enable Boolean
Type String The value can be on of the following: DEFAULT CUSTOM
Number Boolean
Lowercase Boolean
MinimumLength Long
EnforcePasswordHistory Boolean
SpecialCharacters Boolean
Uppercase Boolean
PasswordAge Long
MinimumLengthEnabled Boolean
Regex String
LogonSettings
Key Type Descriptions Enable Boolean
InvalidLoginAttemptPeriod Long
BlockMinute Long
BlockHour Long
NumOfInvalidLogin Long
BlockType String The value can be on of the following: MINUTE HOUR FOREVER
GuiSettings
Key Type Descriptions PrivilegeList Array of
Privilege
Privilege
Key Type Descriptions Id String
EnableRead Boolean
EnableWrite Boolean If write privilege is not available for the privilege, this key is removed from the result
PrivilegeGroup String
PolicyName String
DisplayName String The name of privilege defined in properties
www.ahsay.com 50
PreemptedBackupSetSettings
Key Type Descriptions PreemptedBackupSetList Array of
BackupSet Refer to BackupSet JSON Object in ListBackupSets API
BackupSetSettings
Key Type Descriptions ExcludeFileSettings ExcludeFileS
ettings
ExcludeFileSettings
Key Type Descriptions Enable Boolean
LastModifiedPeriodType String The value can be one of the following: YEAR
LastModifiedType String The value can be one of the following: PERIOD
LastModifiedDate Long
ExcludeFileSize Boolean
ExcludeMappedDrive Boolean
ExcludeLastModified Boolean
FileSize Long
LastModifiedPeriod Long
DefaultValues
Key Type Descriptions VmwareSettingsList VmwareSetti
ngsList
VolumeShadowCopySettingsList
VolumeShadowCopySettingsList
AllowedIPSettingsList AllowedIPSettingsList
FollowLinkSettingsList FollowLinkSettingsList
InFileDeltaSettingsList InFileDeltaSettingsList
CompressionsSettingsList CompressionsSettingsList
WinUserAuthSettingsList WinUserAuthSettingsList
FileSettingsList FileSettingsList
MswindowsSystemStateSettingsList
MswindowsSystemStateSettingsList
DestinationSettingsList DestinationSettingsList
BandwidthControlSettingsList BandwidthControlSettingsList
NameSettingsList NameSettingsList
MySQLSettingsList MySQLSettingsList
FilePermissionsSettingsList FilePermissionsSettingsList
RetentionPolicySettingsList RetentionPolicySettingsList
ShadowProtectSettingsList ShadowProtectSettingsList
AdvancedSettingsList AdvancedSettingsList
CommandSettingsList CommandSettingsList
TemporaryDirectorySettingsList
TemporaryDirectorySetting
www.ahsay.com 51
sList
OracleSettingsList OracleSettingsList
LotusNotesSettingsList LotusNotesSettingsList
ReminderSettingsList ReminderSettingsList
FilterSettingsList FilterSettingsList
MswindowsSystemSettingsList
MswindowsSystemSettingsList
LotusDominoSettingsList LotusDominoSettingsList
ScheduleSettingsList ScheduleSettingsList
EncryptionSettingsList EncryptionSettingsList
ArchivedLogDeletionSettingsList
ArchivedLogDeletionSettingsList
CdpSettingsList CdpSettingsList
OpendirectSettingsList OpendirectSettingsList
Supported from AhsayCBS v7.13.0.0 or above
GranularRestoreSettingsList GranularRestoreSettingsList
Supported from AhsayCBS v7.13.0.0 or above
Return Values:
Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example:
Input { “SysUser”:”api”,
“SysPwd”:”pwd”,
“LoginName”:”user”,
“PolicyGroupNameOnly”:true
} Output: { "Status": "OK", "Data": [ { "PolicyGroupName": "Default settings", "PolicyGroupID": "2" } ] }
Output { "Status": "OK", "Data": [ { "PolicyGroupName": "Default settings", "PolicyGroupID": "2" } ] }
www.ahsay.com 52
3.3.7 ListUserGroups
This API list information of a user group. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [User group]
URL: http://BACKUP_SERVER/obs/api/json/ListUserGroups.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
UserGroupID String Returns information of the user group with this ID. If UserGroupID and UserID are not provided, information of all user groups will be returned.
UserID String Returns information of the user groups that the contain the user. If UserGroupID and UserID are not provided, information of all user groups will be returned..
UserGroupOnly Boolean Default value is false
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data UserGroupBasicInfo or UserGroupFullInfo
If UserGroupOnly is true, UserGroupBasicInfo is returned. Otherwise UserGroupFullInfo is returned.
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: UserGroupBasicInfo
Key Type Descriptions ID String
Name String
Type String BACKUP_USER
Owner String
UserGroupFullInfo
Key Type Descriptions ID String
Name String
Type String BACKUP_USER
Owner String
Users Array of User
PolicyGroup Array of Policy
User
Key Type Descriptions LoginName String Client user name
Owner String
UserId String
Policy
Key Type Descriptions ID String
Name String
Example:
Input
www.ahsay.com 53
{
“SysUser”:”api”,
“SysPwd”:”pwd”,
“UserGroupID”:” 1496990008001”
}
Output { "Status": "OK", "Data": [ { "Name": "ghellik", "Owner": "", "Type": "BACKUP_USER", "ID": "1496990008001" } ] }
Example: Input
3.3.8 ModifyUserGroup
This API let you modify the name of a user group, add users or delete user to/from a user group. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [User group]
URL: http://BACKUP_SERVER/obs/api/json/ModifyUserGroup.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
ID String User Group ID obtainable in from ListUserGroups API
UserGroupName String Group name
UserIdList String User names to be added to or removed from the user group. Multiple login names, separated by commas, are accepted. For example: user1,user2,user3
Mode String The value can be any one of the following: A (Default value) D If the value is “A”, users in UserIdList will be added to the user group. If the value is “D”, users in UserIdList will be removed from the user group
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
www.ahsay.com 54
"SysUser":"api_user", "SysPwd":"abc123$%", "ID":"1447039919940", "UserIdList":"user", "Mode":"D" }
Output {"Status":"OK"}
Output 2 user not exist {
"Status": "Error", "Message": "[UserCacheManager.NoSuchUserExpt] User 'user' not found.", "ExptType": "com.ahsay.obs.core.dbs.Y" }
Input incorrect parameter mode {
"SysUser":"api_user", "SysPwd":"abc123$%", "ID":"1447039919940", "UserIdList":"user", "Mode":"S" }
Output {
"Status": "Error", "Message": "[Error] Parameter Mode must either be A or D!", "ExptType": "com.ahsay.obs.core.dbs.c" }
3.3.9 UpdatePolicyGroup
This API allows you to update the settings of a policy group. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Policy Group]
URL: http://BACKUP_SERVER/obs/api/json/UpdatePolicyGroup.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
For other parameters, refer to PolicyGroup JSON Object in ListPolicyGroups API
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "Name": "api-test-policy", "Owner": "", "PreemptedValues": { "VmwareSettingsList": {
www.ahsay.com 55
"Enable": false, "List": [] }, "VolumeShadowCopySettingsList": { "Enable": false, "List": [] }, "AllowedIPSettingsList": { "Enable": false, "List": [] }, "FollowLinkSettingsList": { "Enable": false, "List": [] }, "InFileDeltaSettingsList": { "Enable": false, "List": [] }, "CompressionsSettingsList": { "Enable": false, "List": [] }, "WinUserAuthSettingsList": { "Enable": false, "List": [] }, "FileSettingsList": { "Enable": false, "List": [] }, "MswindowsSystemStateSettingsList": { "Enable": false, "List": [] }, "DestinationSettingsList": { "Enable": false, "List": [] }, "BandwidthControlSettingsList": { "Enable": false, "List": [] }, "NameSettingsList": { "Enable": false, "List": [] }, "RetentionPolicySettingsList": { "Enable": false, "List": [] }, "FilePermissionsSettingsList": { "Enable": false, "List": [] }, "MySQLSettingsList": { "Enable": false, "List": [] }, "ShadowProtectSettingsList": { "Enable": false, "List": [] }, "AdvancedSettingsList": { "Enable": false, "List": [] }, "CommandSettingsList": { "Enable": false, "List": [] }, "TemporaryDirectorySettingsList": { "Enable": false, "List": [] },
www.ahsay.com 56
"OracleSettingsList": { "Enable": false, "List": [] }, "ReminderSettingsList": { "Enable": false, "List": [] }, "LotusNotesSettingsList": { "Enable": false, "List": [] }, "FilterSettingsList": { "Enable": false, "List": [] }, "MswindowsSystemSettingsList": { "Enable": false, "List": [] }, "LotusDominoSettingsList": { "Enable": false, "List": [] }, "ScheduleSettingsList": { "Enable": false, "List": [] }, "ArchivedLogDeletionSettingsList": { "Enable": false, "List": [] }, "EncryptionSettingsList": { "Enable": false, "List": [] }, "CdpSettingsList": { "Enable": false, "List": [] } }, "UserSettings": { "MaximumBackupSetsSettings": { "MaximumBackupSetsPerUser": 10, "Enable": false }, "BackupDestinationSettings": { "ApplicationName": "", "CustomDestinationList": [], "SystemDestIDList": [], "Enable": false, "SystemDestinationList": [] }, "QuotaSettings": { "SharedQuota": 10737418240, "MaxPercentage": 50, "Enable": true, "Compress": true, "SharedQuotaEnable": false }, "EncryptionKeySettings": { "Enable": false, "Upload": false }, "EmailReportSettings": { "ContactList": [], "SendInactiveBSetReport": false, "Enable": false, "ConsolidatedReportSendMin": 0, "SendIndividualReport": false, "SendConsolidatedReport": false, "InactiveBSetReportSendDay": 30, "ConsolidatedReportSendHour": 0 }, "PasswordSettings": {
www.ahsay.com 57
"EnforcePasswordHistory": true, "MinimumLength": 6, "SpecialCharacters": true, "Uppercase": true, "Enable": false, "Lowercase": true, "Number": true, "Type": "DEFAULT", "PasswordAge": 90, "MinimumLengthEnabled": true, "Regex": "" }, "LogonSettings": { "InvalidLoginAttemptPeriod": 30, "Enable": false, "NumOfInvalidLogin": 3, "BlockMinute": 60, "BlockType": "MINUTE", "BlockHour": 24 } }, "Type": "BACKUP_USER", "PreemptedBackupSetSettings": { "PreemptedBackupSetList": [] }, "GuiSettings": { "PrivilegeList": [ { "PrivilegeGroup": "MainMenu", "PolicyName": "Backup", "EnableRead": true, "Id": "M-10001", "DisplayName": "Backup" }, { "PrivilegeGroup": "MainMenu", "PolicyName": "Restore", "EnableRead": true, "Id": "M-10002", "DisplayName": "Restore" }, { "PrivilegeGroup": "MainMenu", "PolicyName": "BackupSets", "EnableRead": true, "Id": "M-10003", "DisplayName": "Backup Sets" }, { "PrivilegeGroup": "MainMenu", "PolicyName": "Settings", "EnableRead": true, "Id": "M-10004", "DisplayName": "Settings" }, { "PrivilegeGroup": "MainMenu", "PolicyName": "Report", "EnableRead": true, "Id": "M-10005", "DisplayName": "Report" }, { "PrivilegeGroup": "MainMenu", "PolicyName": "Utilities", "EnableRead": true, "Id": "M-10006", "DisplayName": "Utilities" }, { "PrivilegeGroup": "MainMenu", "PolicyName": "Profile", "EnableRead": true, "Id": "M-10007", "DisplayName": "Profile"
www.ahsay.com 58
}, { "PrivilegeGroup": "MainMenu", "PolicyName": "Language", "EnableRead": true, "Id": "M-10008", "DisplayName": "Language", "EnableWrite": true }, { "PrivilegeGroup": "MainMenu", "PolicyName": "Information", "EnableRead": true, "Id": "M-10009", "DisplayName": "Information" }, { "PrivilegeGroup": "MainMenu", "PolicyName": "Advertisement", "EnableRead": true, "Id": "M-10010", "DisplayName": "Advertisement" }, { "PrivilegeGroup": "MainMenu", "PolicyName": "SocialMedia", "EnableRead": true, "Id": "M-10011", "DisplayName": "Links to Social Media" }, { "PrivilegeGroup": "Profile", "PolicyName": "ProfileGeneralTab", "EnableRead": true, "Id": "P-10001", "DisplayName": "General Tab" }, { "PrivilegeGroup": "Profile", "PolicyName": "ProfileGeneralSettings", "EnableRead": true, "Id": "P-10002", "DisplayName": "General Settings", "EnableWrite": true }, { "PrivilegeGroup": "Profile", "PolicyName": "ContactsTab", "EnableRead": true, "Id": "P-10003", "DisplayName": "Contacts Tab" }, { "PrivilegeGroup": "Profile", "PolicyName": "ContactsSettings", "EnableRead": true, "Id": "P-10004", "DisplayName": "Contacts Settings", "EnableWrite": true }, { "PrivilegeGroup": "Profile", "PolicyName": "TimezoneTab", "EnableRead": true, "Id": "P-10005", "DisplayName": "Timezone Tab" }, { "PrivilegeGroup": "Profile", "PolicyName": "TimezoneSettings", "EnableRead": true, "Id": "P-10006", "DisplayName": "Timezone Settings", "EnableWrite": true },
www.ahsay.com 59
{ "PrivilegeGroup": "Profile", "PolicyName": "PasswordTab", "EnableRead": true, "Id": "P-10007", "DisplayName": "Password Tab" }, { "PrivilegeGroup": "Profile", "PolicyName": "PasswordSettings", "EnableRead": true, "Id": "P-10008", "DisplayName": "Password Settings", "EnableWrite": true }, { "PrivilegeGroup": "Profile", "PolicyName": "EncryptionRecoveryTab", "EnableRead": true, "Id": "P-10009", "DisplayName": "Encryption Recovery Tab" }, { "PrivilegeGroup": "Profile", "PolicyName": "EncryptionRecoverySettings", "EnableRead": true, "Id": "P-100010", "DisplayName": "Encryption Recovery Settings", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsName", "EnableRead": true, "Id": "BS-10003", "DisplayName": "General Settings - Name", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsIBMDomino", "EnableRead": true, "Id": "BS-10004", "DisplayName": "General Settings - IBM Domino", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsIBMNotes", "EnableRead": true, "Id": "BS-10005", "DisplayName": "General Settings - IBM Notes", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsMSExchangeServer", "EnableRead": true, "Id": "BS-10006", "DisplayName": "General Settings - MS Exchange Server", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsMSHyperV", "EnableRead": true, "Id": "BS-10007", "DisplayName": "General Settings - MS HyperV", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsMSSQLServer", "EnableRead": true, "Id": "BS-10008",
www.ahsay.com 60
"DisplayName": "General Settings - MSSQL Server", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsWindowsSystemBackup", "EnableRead": true, "Id": "BS-10009", "DisplayName": "General Settings - Windows System Backup", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsWindowsSystemStateBackup", "EnableRead": true, "Id": "BS-10010", "DisplayName": "General Settings - Windows System State Backup", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsMySQLServer", "EnableRead": true, "Id": "BS-10011", "DisplayName": "General Settings - MySQL Server", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsOracleDatabaseServer", "EnableRead": true, "Id": "BS-10012", "DisplayName": "General Settings - Oracle Database Server", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsVMwareHost", "EnableRead": true, "Id": "BS-10013", "DisplayName": "General Settings - VMware Host", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsShadowProtect", "EnableRead": true, "Id": "BS-10014", "DisplayName": "General Settings - Shadow Protect", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralSettingsWindowsUserAuthentication", "EnableRead": true, "Id": "BS-10015", "DisplayName": "General Settings - Windows User Authentication", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "SourceTab", "EnableRead": true, "Id": "BS-10016", "DisplayName": "Source Tab" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "SourceSettingsBackupSource", "EnableRead": true, "Id": "BS-10017", "DisplayName": "Source Settings - BackupSource", "EnableWrite": true }, {
www.ahsay.com 61
"PrivilegeGroup": "BackupSets", "PolicyName": "SourceSettingsFilter", "EnableRead": true, "Id": "BS-10018", "DisplayName": "Source Settings - Filter", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "BackupScheduleTab", "EnableRead": true, "Id": "BS-10020", "DisplayName": "Backup Schedule Tab" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "BackupScheduleSettings", "EnableRead": true, "Id": "BS-10021", "DisplayName": "Backup Schedule Settings", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "ContinuousBackupTab", "EnableRead": true, "Id": "BS-10022", "DisplayName": "Continuous Backup Tab" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "ContinuousBackupSettings", "EnableRead": true, "Id": "BS-10023", "DisplayName": "Continuous Backup Settings", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "DestinationTab", "EnableRead": true, "Id": "BS-10024", "DisplayName": "Destination Tab" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "DestinationSettings", "EnableRead": true, "Id": "BS-10025", "DisplayName": "Destination Settings", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "InFileDeltaTab", "EnableRead": true, "Id": "BS-10026", "DisplayName": "In-File Delta Tab" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "InFileDeltaSettings", "EnableRead": true, "Id": "BS-10027", "DisplayName": "In-File Delta Settings", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "RetentionPolicyTab", "EnableRead": true, "Id": "BS-10028", "DisplayName": "Retention Policy Tab" }, {
www.ahsay.com 62
"PrivilegeGroup": "BackupSets", "PolicyName": "RetentionPolicySettings", "EnableRead": true, "Id": "BS-10029", "DisplayName": "Retention Policy Settings", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "CommandLineToolTab", "EnableRead": true, "Id": "BS-10030", "DisplayName": "Command Line Tool Tab" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "CommandLineToolSettings", "EnableRead": true, "Id": "BS-10031", "DisplayName": "Command Line Tool Settings", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "ReminderTab", "EnableRead": true, "Id": "BS-10032", "DisplayName": "Reminder Tab" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "ReminderSettings", "EnableRead": true, "Id": "BS-10033", "DisplayName": "Reminder Settings", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "BandwidthControlTab", "EnableRead": true, "Id": "BS-10034", "DisplayName": "Bandwidth Control Tab" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "BandwidthControlSettings", "EnableRead": true, "Id": "BS-10035", "DisplayName": "Bandwidth Control Settings", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "OthersTab", "EnableRead": true, "Id": "BS-10038", "DisplayName": "Others Tab" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "OthersSettingsTemporaryDirectory", "EnableRead": true, "Id": "BS-10039", "DisplayName": "Others Settings - Temporary Directory", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "OthersSettingsFollowLink", "EnableRead": true, "Id": "BS-10040", "DisplayName": "Others Settings - Follow Link", "EnableWrite": true },
www.ahsay.com 63
{ "PrivilegeGroup": "BackupSets", "PolicyName": "OthersSettingsVolumeShadowCopy", "EnableRead": true, "Id": "BS-10041", "DisplayName": "Others Settings - Volume Shadow Copy", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "OthersSettingsFilePermissions", "EnableRead": true, "Id": "BS-10042", "DisplayName": "Others Settings - File Permissions", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "OthersSettingsArchivedLogDeletion", "EnableRead": true, "Id": "BS-10043", "DisplayName": "Others Settings - Archived Log Deletion", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "OthersSettingsCompressions", "EnableRead": true, "Id": "BS-10044", "DisplayName": "Others Settings - Compressions", "EnableWrite": true }, { "PrivilegeGroup": "BackupSets", "PolicyName": "OthersSettingsEncryption", "EnableRead": true, "Id": "BS-10045", "DisplayName": "Others Settings - Encryption" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "OthersSettingsChangedBlockTracking", "EnableRead": true, "Id": "BS-10046", "DisplayName": "Others Settings - Changed Block Tracking", "EnableWrite": true }, { "PrivilegeGroup": "Settings", "PolicyName": "ProxyTab", "EnableRead": true, "Id": "S-10001", "DisplayName": "Proxy Tab" }, { "PrivilegeGroup": "Settings", "PolicyName": "ProxySettings", "EnableRead": true, "Id": "S-10002", "DisplayName": "Proxy Settings", "EnableWrite": true }, { "PrivilegeGroup": "Settings", "PolicyName": "WindowsEventLogTab", "EnableRead": true, "Id": "S-10005", "DisplayName": "Windows Event Log Tab" }, { "PrivilegeGroup": "Settings", "PolicyName": "WindowsEventLogSettings", "EnableRead": true, "Id": "S-10006", "DisplayName": "Windows Event Log Settings",
www.ahsay.com 64
"EnableWrite": true }, { "PrivilegeGroup": "Utilities", "PolicyName": "DataIntegrityCheck", "EnableRead": true, "Id": "U-10001", "DisplayName": "Data Integrity Check" }, { "PrivilegeGroup": "Utilities", "PolicyName": "SpaceFreeingUp", "EnableRead": true, "Id": "U-10002", "DisplayName": "Space Freeing Up" }, { "PrivilegeGroup": "Utilities", "PolicyName": "DeleteBackupData", "EnableRead": true, "Id": "U-10003", "DisplayName": "Delete Backup Data" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "AddAndRemove", "EnableRead": true, "Id": "BS-10001", "DisplayName": "Add and Remove Backup Set" }, { "PrivilegeGroup": "BackupSets", "PolicyName": "GeneralTab", "EnableRead": true, "Id": "BS-10002", "DisplayName": "General Tab" } ] }, "ID": "1446023471399", "BackupSetSettings": { "ExcludeFileSettings": { "LastModifiedPeriod": 10, "FileSize": 10737418240, "ExcludeMappedDrive": true, "ExcludeLastModified": true, "LastModifiedPeriodType": "YEAR", "LastModifiedType": "PERIOD", "Enable": false, "LastModifiedDate": -1, "ExcludeFileSize": true } }, "DefaultValues": { "VmwareSettingsList": { "Enable": false, "List": [] }, "VolumeShadowCopySettingsList": { "Enable": false, "List": [] }, "AllowedIPSettingsList": { "Enable": false, "List": [] }, "FollowLinkSettingsList": { "Enable": false, "List": [] }, "InFileDeltaSettingsList": { "Enable": false, "List": [] }, "CompressionsSettingsList": {
www.ahsay.com 65
"Enable": false, "List": [] }, "WinUserAuthSettingsList": { "Enable": false, "List": [] }, "FileSettingsList": { "Enable": false, "List": [] }, "MswindowsSystemStateSettingsList": { "Enable": false, "List": [] }, "DestinationSettingsList": { "Enable": false, "List": [] }, "BandwidthControlSettingsList": { "Enable": false, "List": [] }, "NameSettingsList": { "Enable": false, "List": [] }, "RetentionPolicySettingsList": { "Enable": false, "List": [] }, "FilePermissionsSettingsList": { "Enable": false, "List": [] }, "MySQLSettingsList": { "Enable": false, "List": [] }, "ShadowProtectSettingsList": { "Enable": false, "List": [] }, "AdvancedSettingsList": { "Enable": false, "List": [] }, "CommandSettingsList": { "Enable": false, "List": [] }, "TemporaryDirectorySettingsList": { "Enable": false, "List": [] }, "OracleSettingsList": { "Enable": false, "List": [] }, "ReminderSettingsList": { "Enable": false, "List": [] }, "LotusNotesSettingsList": { "Enable": false, "List": [] }, "FilterSettingsList": { "Enable": false, "List": [] }, "MswindowsSystemSettingsList": { "Enable": false, "List": [] },
www.ahsay.com 66
"LotusDominoSettingsList": { "Enable": false, "List": [] }, "ScheduleSettingsList": { "Enable": false, "List": [] }, "ArchivedLogDeletionSettingsList": { "Enable": false, "List": [] }, "EncryptionSettingsList": { "Enable": false, "List": [] }, "CdpSettingsList": { "Enable": false, "List": [] } } }
Output {"Status":"OK"}
www.ahsay.com 67
4 User API
4.1 User
4.1.1 ListUsers
This API filters the user using different parameters and list all information related to the user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup User]
URL: http://BACKUP_SERVER/obs/api/json/ListUsers.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Criteria String “all”, “paid”, “trial”, “suspended”, “locked”, “inactive”, “A-B”, “B-C”… and “others”
searchBy String “Name”
searchStr String Only users with login name that contains searchStr are listed
reseller String Login name of a reseller. Only users under that reseller are listed.
UserGroupID String ID of a user group. Only users under that user group are listed.
PolicyGroupID String ID of a policy group. Only users under that policy group are listed.
Date String Number of days. Only users that are registered within that number of days are listed.
ClientType String “OBM” or “ACB”. Only that type of users are listed.
LoginNameOnly Boolean If it is true, only login name of users are returned.
ClientTypeOnly Boolean If it is true, only login name and client type of users are returned.
Return Values: Key Type Descriptions Status String “OK” or “Error”
User Array of UserLoginName or Array of UserClientType or Array of User
If ClientTypeOnly is true, an array of UserClientType is returned. If LoginNameOnly is true, an array of UserLoginName is returned. Otherwise, an array of User is returned.
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: UserClientType
Key Type Descriptions ID String
LoginName String Client user name
Owner String
UserId String Unique for each user
ClientType String ACB or OBM
QuotaUsed Integer User quota used by the user
UserLoginName
Key Type Descriptions ID String
LoginName String Client user name
Owner String
UserId String
ClientType String ACB or OBM
www.ahsay.com 68
QuotaUsed Integer User quota used by the user
User
Key Type Descriptions ID String
LoginName String Client user name
Owner String
UserId String
Alias String Display name
UserType String TRIAL or PAID. Default to TRIAL if not specified
ClientType String ACB or OBM
QuotaUsed Integer User quota used by the user
Quota Integer Maximum backup usage allowed
Online Boolean
Timezone String String of timezone, refer to Apendix for string
Language String
DataFile Long Number of files in data area (Exclude local destination)
DataSize Long Compressed size of data area (Exclude local destination)
RetainFile Long Number of files in retention area (Exclude local destination)
RetainSize Long Compressed size of retention area (Exclude local destination)
EnableMSSQL Boolean
EnableMSExchange Boolean
MsExchangeQuota Long
EnableOracle Boolean
EnableLotusNotes Boolean
EnableLotusDomino Boolean
EnableMySQL Boolean
EnableInFileDelta Boolean
EnableShadowCopy Boolean
EnableExchangeMailbox Boolean
ExchangeMailboxQuota Long
EnableNASClient Boolean
EnableDeltaMerge Boolean
EnableMsVm Boolean
EnableOpenDirect Boolean Supported from AhsayCBS v7.13.0.0 or above
OpenDirectQuota Long Supported from AhsayCBS v7.13.0.0 or above
MsVmQuota Long
EnableVMware Boolean
VMwareQuota Long Number of Guest VM allowed
Bandwidth Long
Notes String
Status String SUSPENDED or ENABLE
RegistrationDate Long
SuspendPaidUser Boolean
SuspendPaidUserDate String
LastBackupDate Long
EnableCDP Boolean
EnableShadowProtectBareMetal
Boolean
EnableWinServer2008BareMetal
Boolean Add-on module of Windows system backup
MsVmQuotaType String Value = "GUESTVM" or "SOCKET"
VMwareQuotaType String Value = "GUESTVM" or "SOCKET"
EnableMobile Boolean
MobileQuota Long
EnableOffice365Mail Boolean
Office365MailQuota Long
Hostname String
LdapUser String
LdapDeleteUser Long
LdapDisableUser Long
ExpiryDate Long
LatestClientVersion String
UserGroupIDList Array of UserGroup
Array of user group ID
UserHome String
Contact Array of Contact
UserGroup
www.ahsay.com 69
Key Type Descriptions UserGroupID String
UserGroupName String
ShowLink Boolean
Contact
Key Type Descriptions Name String
Email String
Example:
Input { "SysUser":"api_user", "SysPwd":"abc123$%" }
Output { "User": [ { "DataFile": 0, "LoginName": "Testscipt", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM", "LatestClientVersion": "", "LastBackupDate": -1, "EnableOffice365Mail": false, "Quota": 100, "EnableLotusNotes": false, "Timezone": "", "ID": "1497521191178", "UserHome": "/usr/local/cbs_7_12.4/user/Testscipt", "ExchangeMailboxQuota": 0, "EnableMsWinSysState": false, "EnableLotusDomino": true, "Bandwidth": 0, "UserType": "TRIAL", "Office365MailQuota": 0, "SuspendPaidUser": true, "EnableOpenDirect": false, "SuspendPaidUserDate": "20170715", "EnableNASClient": false, "Notes": "", "ExpiryDate": 29, "QuotaUsed": 1, "EnableShadowCopy": false, "RegistrationDate": 1497521191178, "EnableMySQL": false, "LdapDisableUser": 0, "DataSize": 0, "ClientType": "OBM", "MsVmQuotaType": "GUESTVM", "LdapDeleteUser": 0, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 0, "EnableMsVm": false, "EnableMSSQL": true, "LdapUser": false, "Hostname": "", "EnableInFileDelta": false, "EnableExchangeMailbox": false, "EnableCDP": false, "Owner": "", "EnableOracle": true, "MobileQuota": 0, "Contact": [ { "Name": "", "Email": "[email protected]" } ],
www.ahsay.com 70
"UserGroupIDList": [], "UserId": "Testscipt", "OpenDirectQuota": 0, "EnableWinServer2008BareMetal": false, "Status": "ENABLE", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "", "EnableMobile": false, "EnableMSExchange": true }, { "DataFile": 0, "LoginName": "test1", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM", "LatestClientVersion": "", "LastBackupDate": -1, "EnableOffice365Mail": false, "Quota": 34520, "EnableLotusNotes": false, "Timezone": "", "ID": "1497521191492", "UserHome": "/usr/local/cbs_7_12.4/user/test1", "ExchangeMailboxQuota": 452, "EnableMsWinSysState": false, "EnableLotusDomino": false, "Bandwidth": 0, "UserType": "PAID", "Office365MailQuota": 0, "SuspendPaidUser": false, "EnableOpenDirect": true, "SuspendPaidUserDate": "19700101", "EnableNASClient": false, "Notes": "", "ExpiryDate": 29, "QuotaUsed": 1, "EnableShadowCopy": false, "RegistrationDate": 1497521191492, "EnableMySQL": false, "LdapDisableUser": 0, "DataSize": 0, "ClientType": "OBM", "MsVmQuotaType": "GUESTVM", "LdapDeleteUser": 0, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 0, "EnableMsVm": false, "EnableMSSQL": false, "LdapUser": false, "Hostname": "", "EnableInFileDelta": false, "EnableExchangeMailbox": true, "EnableCDP": false, "Owner": "", "EnableOracle": false, "MobileQuota": 0, "Contact": [ { "Name": "", "Email": "[email protected]" } ], "UserGroupIDList": [], "UserId": "test1", "OpenDirectQuota": 3, "EnableWinServer2008BareMetal": false, "Status": "ENABLE", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "",
www.ahsay.com 71
"EnableMobile": false, "EnableMSExchange": false }, { "DataFile": 0, "LoginName": "test6", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM", "LatestClientVersion": "", "LastBackupDate": -1, "EnableOffice365Mail": false, "Quota": 42410, "EnableLotusNotes": true, "Timezone": "", "ID": "1497521191766", "UserHome": "/usr/local/cbs_7_12.4/user/test6", "ExchangeMailboxQuota": 223, "EnableMsWinSysState": false, "EnableLotusDomino": false, "Bandwidth": 0, "UserType": "PAID", "Office365MailQuota": 0, "SuspendPaidUser": false, "EnableOpenDirect": false, "SuspendPaidUserDate": "19700101", "EnableNASClient": false, "Notes": "", "ExpiryDate": 29, "QuotaUsed": 1, "EnableShadowCopy": false, "RegistrationDate": 1497521191766, "EnableMySQL": false, "LdapDisableUser": 0, "DataSize": 0, "ClientType": "OBM", "MsVmQuotaType": "GUESTVM", "LdapDeleteUser": 0, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 0, "EnableMsVm": false, "EnableMSSQL": false, "LdapUser": false, "Hostname": "", "EnableInFileDelta": false, "EnableExchangeMailbox": true, "EnableCDP": false, "Owner": "", "EnableOracle": false, "MobileQuota": 0, "Contact": [ { "Name": "", "Email": "[email protected]" } ], "UserGroupIDList": [], "UserId": "test6", "OpenDirectQuota": 0, "EnableWinServer2008BareMetal": false, "Status": "SUSPENDED", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "", "EnableMobile": false, "EnableMSExchange": false }, { "DataFile": 0, "LoginName": "test7", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM",
www.ahsay.com 72
"LatestClientVersion": "", "LastBackupDate": -1, "EnableOffice365Mail": false, "Quota": 1344, "EnableLotusNotes": false, "Timezone": "", "ID": "1497521191795", "UserHome": "/usr/local/cbs_7_12.4/user/test7", "ExchangeMailboxQuota": 0, "EnableMsWinSysState": false, "EnableLotusDomino": false, "Bandwidth": 0, "UserType": "PAID", "Office365MailQuota": 0, "SuspendPaidUser": false, "EnableOpenDirect": false, "SuspendPaidUserDate": "19700101", "EnableNASClient": false, "Notes": "", "ExpiryDate": 29, "QuotaUsed": 1, "EnableShadowCopy": false, "RegistrationDate": 1497521191795, "EnableMySQL": false, "LdapDisableUser": 0, "DataSize": 0, "ClientType": "OBM", "MsVmQuotaType": "GUESTVM", "LdapDeleteUser": 0, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 0, "EnableMsVm": false, "EnableMSSQL": false, "LdapUser": false, "Hostname": "", "EnableInFileDelta": false, "EnableExchangeMailbox": false, "EnableCDP": false, "Owner": "", "EnableOracle": false, "MobileQuota": 0, "Contact": [ { "Name": "", "Email": "[email protected]" } ], "UserGroupIDList": [], "UserId": "test7", "OpenDirectQuota": 0, "EnableWinServer2008BareMetal": false, "Status": "SUSPENDED", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "", "EnableMobile": false, "EnableMSExchange": false }, { "DataFile": 0, "LoginName": "test4", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM", "LatestClientVersion": "", "LastBackupDate": -1, "EnableOffice365Mail": false, "Quota": 34530, "EnableLotusNotes": true, "Timezone": "", "ID": "1497521191676", "UserHome": "/usr/local/cbs_7_12.4/user/test4", "ExchangeMailboxQuota": 0,
www.ahsay.com 73
"EnableMsWinSysState": false, "EnableLotusDomino": false, "Bandwidth": 0, "UserType": "PAID", "Office365MailQuota": 0, "SuspendPaidUser": false, "EnableOpenDirect": true, "SuspendPaidUserDate": "19700101", "EnableNASClient": false, "Notes": "", "ExpiryDate": 29, "QuotaUsed": 1, "EnableShadowCopy": false, "RegistrationDate": 1497521191676, "EnableMySQL": false, "LdapDisableUser": 0, "DataSize": 0, "ClientType": "OBM", "MsVmQuotaType": "GUESTVM", "LdapDeleteUser": 0, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 0, "EnableMsVm": false, "EnableMSSQL": true, "LdapUser": false, "Hostname": "", "EnableInFileDelta": false, "EnableExchangeMailbox": false, "EnableCDP": false, "Owner": "", "EnableOracle": true, "MobileQuota": 234, "Contact": [ { "Name": "", "Email": "[email protected]" } ], "UserGroupIDList": [], "UserId": "test4", "OpenDirectQuota": 6, "EnableWinServer2008BareMetal": false, "Status": "ENABLE", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "", "EnableMobile": true, "EnableMSExchange": true }, { "DataFile": 0, "LoginName": "test5", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM", "LatestClientVersion": "", "LastBackupDate": -1, "EnableOffice365Mail": false, "Quota": 45420, "EnableLotusNotes": true, "Timezone": "", "ID": "1497521191735", "UserHome": "/usr/local/cbs_7_12.4/user/test5", "ExchangeMailboxQuota": 0, "EnableMsWinSysState": false, "EnableLotusDomino": false, "Bandwidth": 0, "UserType": "PAID", "Office365MailQuota": 0, "SuspendPaidUser": false, "EnableOpenDirect": true, "SuspendPaidUserDate": "19700101", "EnableNASClient": false,
www.ahsay.com 74
"Notes": "", "ExpiryDate": 29, "QuotaUsed": 1, "EnableShadowCopy": false, "RegistrationDate": 1497521191735, "EnableMySQL": false, "LdapDisableUser": 0, "DataSize": 0, "ClientType": "OBM", "MsVmQuotaType": "GUESTVM", "LdapDeleteUser": 0, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 0, "EnableMsVm": false, "EnableMSSQL": false, "LdapUser": false, "Hostname": "", "EnableInFileDelta": false, "EnableExchangeMailbox": false, "EnableCDP": false, "Owner": "", "EnableOracle": false, "MobileQuota": 0, "Contact": [ { "Name": "", "Email": "[email protected]" } ], "UserGroupIDList": [], "UserId": "test5", "OpenDirectQuota": 7, "EnableWinServer2008BareMetal": false, "Status": "ENABLE", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "", "EnableMobile": false, "EnableMSExchange": false }, { "DataFile": 0, "LoginName": "test2", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM", "LatestClientVersion": "", "LastBackupDate": -1, "EnableOffice365Mail": false, "Quota": 34530, "EnableLotusNotes": false, "Timezone": "", "ID": "1497521191523", "UserHome": "/usr/local/cbs_7_12.4/user/test2", "ExchangeMailboxQuota": 0, "EnableMsWinSysState": false, "EnableLotusDomino": false, "Bandwidth": 0, "UserType": "PAID", "Office365MailQuota": 0, "SuspendPaidUser": false, "EnableOpenDirect": true, "SuspendPaidUserDate": "19700101", "EnableNASClient": false, "Notes": "", "ExpiryDate": 29, "QuotaUsed": 1, "EnableShadowCopy": false, "RegistrationDate": 1497521191524, "EnableMySQL": false, "LdapDisableUser": 0, "DataSize": 0, "ClientType": "OBM",
www.ahsay.com 75
"MsVmQuotaType": "GUESTVM", "LdapDeleteUser": 0, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 0, "EnableMsVm": false, "EnableMSSQL": false, "LdapUser": false, "Hostname": "", "EnableInFileDelta": false, "EnableExchangeMailbox": false, "EnableCDP": false, "Owner": "", "EnableOracle": false, "MobileQuota": 0, "Contact": [ { "Name": "", "Email": "[email protected]" } ], "UserGroupIDList": [], "UserId": "test2", "OpenDirectQuota": 4, "EnableWinServer2008BareMetal": false, "Status": "ENABLE", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "", "EnableMobile": false, "EnableMSExchange": false }, { "DataFile": 0, "LoginName": "test3", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM", "LatestClientVersion": "", "LastBackupDate": -1, "EnableOffice365Mail": false, "Quota": 33450, "EnableLotusNotes": true, "Timezone": "", "ID": "1497521191612", "UserHome": "/usr/local/cbs_7_12.4/user/test3", "ExchangeMailboxQuota": 0, "EnableMsWinSysState": false, "EnableLotusDomino": false, "Bandwidth": 0, "UserType": "TRIAL", "Office365MailQuota": 0, "SuspendPaidUser": true, "EnableOpenDirect": true, "SuspendPaidUserDate": "20170715", "EnableNASClient": true, "Notes": "", "ExpiryDate": 29, "QuotaUsed": 1, "EnableShadowCopy": true, "RegistrationDate": 1497521191612, "EnableMySQL": true, "LdapDisableUser": 0, "DataSize": 0, "ClientType": "OBM", "MsVmQuotaType": "GUESTVM", "LdapDeleteUser": 0, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 0, "EnableMsVm": false, "EnableMSSQL": false, "LdapUser": false, "Hostname": "",
www.ahsay.com 76
"EnableInFileDelta": true, "EnableExchangeMailbox": false, "EnableCDP": false, "Owner": "", "EnableOracle": false, "MobileQuota": 0, "Contact": [ { "Name": "", "Email": "[email protected]" } ], "UserGroupIDList": [], "UserId": "test3", "OpenDirectQuota": 5, "EnableWinServer2008BareMetal": false, "Status": "ENABLE", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "", "EnableMobile": false, "EnableMSExchange": false }, { "DataFile": 0, "LoginName": "Testscip123", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM", "LatestClientVersion": "", "LastBackupDate": -1, "EnableOffice365Mail": false, "Quota": 134500, "EnableLotusNotes": false, "Timezone": "", "ID": "1497521191326", "UserHome": "/usr/local/cbs_7_12.4/user/Testscip123", "ExchangeMailboxQuota": 0, "EnableMsWinSysState": false, "EnableLotusDomino": false, "Bandwidth": 0, "UserType": "PAID", "Office365MailQuota": 0, "SuspendPaidUser": false, "EnableOpenDirect": true, "SuspendPaidUserDate": "19700101", "EnableNASClient": false, "Notes": "", "ExpiryDate": 29, "QuotaUsed": 1, "EnableShadowCopy": false, "RegistrationDate": 1497521191326, "EnableMySQL": false, "LdapDisableUser": 0, "DataSize": 0, "ClientType": "OBM", "MsVmQuotaType": "GUESTVM", "LdapDeleteUser": 0, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 123, "EnableMsVm": true, "EnableMSSQL": false, "LdapUser": false, "Hostname": "", "EnableInFileDelta": false, "EnableExchangeMailbox": false, "EnableCDP": false, "Owner": "", "EnableOracle": false, "MobileQuota": 0, "Contact": [ { "Name": "",
www.ahsay.com 77
"Email": "[email protected]" } ], "UserGroupIDList": [], "UserId": "Testscip123", "OpenDirectQuota": 21, "EnableWinServer2008BareMetal": false, "Status": "SUSPENDED", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "", "EnableMobile": false, "EnableMSExchange": false }, { "DataFile": 23, "LoginName": "opendirect", "Online": false, "RetainSize": 0, "VMwareQuotaType": "GUESTVM", "LatestClientVersion": "7.12.4.0", "LastBackupDate": 1497596415069, "EnableOffice365Mail": false, "Quota": 1073741824, "EnableLotusNotes": false, "Timezone": "1097", "ID": "1497578979898", "UserHome": "/usr/local/cbs_7_12.4/user/opendirect", "ExchangeMailboxQuota": 0, "EnableMsWinSysState": false, "EnableLotusDomino": false, "Bandwidth": 0, "UserType": "TRIAL", "Office365MailQuota": 0, "SuspendPaidUser": true, "EnableOpenDirect": true, "SuspendPaidUserDate": "20170716", "EnableNASClient": false, "Notes": "", "ExpiryDate": 30, "QuotaUsed": 1, "EnableShadowCopy": false, "RegistrationDate": 1497578979897, "EnableMySQL": false, "LdapDisableUser": -1, "DataSize": 55920393, "ClientType": "OBM", "MsVmQuotaType": "GUESTVM", "LdapDeleteUser": -1, "EnableVMware": false, "EnableShadowProtectBareMetal": false, "MsVmQuota": 0, "EnableMsVm": false, "EnableMSSQL": false, "LdapUser": false, "Hostname": "", "EnableInFileDelta": false, "EnableExchangeMailbox": false, "EnableCDP": false, "Owner": "", "EnableOracle": false, "MobileQuota": 0, "Contact": [], "UserGroupIDList": [], "UserId": "opendirect", "OpenDirectQuota": 1, "EnableWinServer2008BareMetal": false, "Status": "ENABLE", "Alias": "", "VMwareQuota": 0, "RetainFile": 0, "Language": "en", "EnableMobile": false, "EnableMSExchange": false
www.ahsay.com 78
} ], "Status": "OK" }
4.1.2 AuthUser
This API checks wthether a user exits or not. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup User]
URL: http://BACKUP_SERVER/obs/api/json/AuthUser.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Owner String
Password
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example:
Input User found { “SysUser”:”api”, “SysPwd”:”pwd”, “LoginName”:”user” “Password”:”userpwd” }
Output {"Status":"OK"}
\
Example:
Input User does not exist { “SysUser”:”api”, “SysPwd”:”pwd”, “LoginName”:”dummyuser” “Password”:”dummypwd” }
Output { "Status": "Error", "Message": "[UserCacheManager.NoSuchUserExpt] User 'dummyuser' not found.", "ExptType": "com.ahsay.obs.core.dbs.Y" }
4.1.3 RunSingleUserRebuild
This API rebuilds a particular v6 legacy backupset of a user.
www.ahsay.com 79
The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup User]> Choose a user
>[Backup Set]>Choose a v6 backup set>[Destination]>[Standard Destination]>Rebuild
URL: http://BACKUP_SERVER/obs/api/json/RunSingleUserRebuild.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String User name
Owner String
BackupSetID String ID of the backupset. Obtainable in GetBackupset API.
CheckCrc Boolean Cyclic redundancy check
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: RebuildStatus
Key Type Descriptions LoginName String Client user name
BackupSetID String
Status String
StartTime Long
EndTime Long
Example:
Input { “SysUser”:”api”, “SysPwd”:”pwd”, “LoginName”:”user”, “BackupSetID”:” 497320488529”, }
Output {"Status":"OK"}
Output 2 Backupset not exist { "Status": "Error", "Message": "Backup Set for ID=”497320488529”not found", "ExptType": "com.ahsay.obs.core.dbs.c" }
4.1.4 GetSingleUserRebuildStatus
This API allows you to get the information of the recent v6 legacy backupset rebuild. The related settings can be found on the AhsayCBS web console:
www.ahsay.com 80
[Monitoring]>[Administration Logs]> [Audit Trails]
URL: http://BACKUP_SERVER/obs/api/json/GetSingleUserRebuildStatus.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBa’s system users password with admin role
LoginName String User name
Owner String
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data JSON Object RebuildStatus
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: RebuildStatus
Key Type Descriptions LoginName String Client user name
BackupSetID String
Status String
StartTime Long
EndTime Long
Example:
Input { “SysUser”:”api”, “SysPwd”:”pwd”, “LoginName”:”user” }
Output { "Status": "OK", "Data": { "Status": "Finished", "LoginName": "opendirect", "EndTime": 1497320785971, "StartTime": 1497320785835, "BackupSetID": "ALL" } }
Output 2 Not yet started { "Status": "OK", "Data": { "Status": "Not yet started", "LoginName": "opendirect", "EndTime": -1, "StartTime": -1, "BackupSetID": "" } }
www.ahsay.com 81
4.1.5 GetUserStorageStat
This API allows you to get the file statistic of a backup set of a user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]>Choose a user>[Statistics]
URL: http://BACKUP_SERVER/obs/api/json/GetUserStorageStat.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Owner String
YearMonth String In “yyyy-MM” format. For example, to get the storage statistics of January 2015, the parameter is “2015-01”
BackupSetID String “all” to get statistics of all backup sets, or the backup set ID of the backup set
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Array of AverageStat
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: AverageStat
Key Type Descriptions YearMonth String yyyy-MM
AvgDataSize String Average Compressed size of data area (Exclude local destination) of all backup set
AvgDataRawSize String Average uncompressed size of data area (Exclude local destination) of all backup set
AvgDataNo String
AvgRetainSize String Average Compressed size of retention area (Exclude local destination) of all backup set
AvgRetainRawSize String Average uncompressed size of retention area (Exclude local destination) of all backup set
AvgRetainNo String
AvgUploadSize String Average compressed size of upload area (Exclude local destination) of all backup set
AvgUploadRawSize String Average uncompressed size of upload area (Exclude local destination) of all backup set
AvgUploadNo String
AvgTotalStorageSize String Average total compressed storage size of all backup set
AvgTotalStorageRawSize String Average total uncompressed storage size of all backup set
AvgTotalStorageNo String
Storage Array of DetailStat
DetailStat
Key Type Descriptions Date String yyyy-MM-dd
DataSize String Compressed size of data area (Exclude local destination)
DataRawSize String Uncompressed size of data area (Exclude local destination)
DataNo String
RetainSize String Compressed size of retention area (Exclude local destination)
www.ahsay.com 82
RetainRawSize String Uncompressed size of retention are (Exclude local destination)
RetainNo String
UploadSize String Compressed size of upload area (Exclude local destination)
UploadRawSize String Uncompressed size of upload are (Exclude local destination
UploadNo String
TotalStorageSize String Total compressed storage size
TotalStorageRawSize String Total uncompressed storage size
TotalStorageNo String
DestinationID String Desintation storage ID
Example:
Input {“SysUser”:”api”, “SysPwd”:”pwd”, “LoginName”:”user”, “YearMonth”:”2017-06” }
Output { "Status": "OK", "Data": { "Storage": [ { "UploadNo": "0", "TotalStorageSize": "0", "DataRawSize": "0", "Date": "2017-06-10", "DestinationID": "", "TotalStorageNo": "0", "UploadRawSize": "0", "RetainSize": "0", "DataSize": "0", "TotalStorageRawSize": "0", "RetainNo": "0", "RetainRawSize": "0", "UploadSize": "0", "DataNo": "0" }, { "UploadNo": "0", "TotalStorageSize": "0", "DataRawSize": "0", "Date": "2017-06-11", "DestinationID": "", "TotalStorageNo": "0", "UploadRawSize": "0", "RetainSize": "0", "DataSize": "0", "TotalStorageRawSize": "0", "RetainNo": "0", "RetainRawSize": "0", "UploadSize": "0", "DataNo": "0" }, { "UploadNo": "0", "TotalStorageSize": "0", "DataRawSize": "0", "Date": "2017-06-12", "DestinationID": "", "TotalStorageNo": "0", "UploadRawSize": "0", "RetainSize": "0", "DataSize": "0", "TotalStorageRawSize": "0", "RetainNo": "0", "RetainRawSize": "0", "UploadSize": "0", "DataNo": "0" }, { "UploadNo": "0", "TotalStorageSize": "0", "DataRawSize": "0",
www.ahsay.com 83
"Date": "2017-06-13", "DestinationID": "", "TotalStorageNo": "0", "UploadRawSize": "0", "RetainSize": "0", "DataSize": "0", "TotalStorageRawSize": "0", "RetainNo": "0", "RetainRawSize": "0", "UploadSize": "0", "DataNo": "0" } ], "AvgUploadNo": "0", "AvgUploadRawSize": "0", "AvgTotalStorageNo": "0", "AvgTotalStorageSize": "0", "AvgDataNo": "0", "YearMonth": "2017-06", "AvgTotalStorageRawSize": "0", "AvgDataRawSize": "0", "AvgUploadSize": "0", "AvgRetainNo": "0", "AvgRetainRawSize": "0", "AvgRetainSize": "0", "AvgDataSize": "0" } }
Input No storage log found {“SysUser”:”api”, “SysPwd”:”pwd”, “LoginName”:”user”, “YearMonth”:”1999-06” }
Output { "Status": "Error", "Message": "No storage log found", "ExptType": "com.ahsay.obs.core.dbs.c" }
4.1.6 UpdateUserProfile
This API updates the information of a user profile. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]>Choose a user
URL: http://BACKUP_SERVER/obs/api/json/UpdateUserProfile.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Owner String
Alias String
Status String SUSPENDED Default: ENABLE
Type String TRIAL or PAID. Default to TRIAL if not specified
ClientType String ACB or OBM
Password String Password of the user account
www.ahsay.com 84
Language String Language used by the client user
Notes String
Quota Long Units in bytes.
HostQuotaEnabled Boolean Enable / Disable Client host
HostQuota Long Client host limit
RunDirectQuotaEnabled Boolean
RunDirectQuota Long
ModuleSettings JSON Object ModuleSettings
WindowsEventLogSettings WindowsEventLogSettings
Contact Array of Contact
If “AppendContact” is “Y”, all contacts in the array will be appended to the contacts.
AppendContact String “Y” or “N” to modify an existing contact (retrieve the corresponding keys required with the GetUser.do API)
ChangeContact String “Y” or “N” to change and overwrite an existing (retrieve the corresponding keys required with the GetUser.do API)
OldContact Array of Contact
Existing contacts. It is used if “ChangeContact” is “Y”
NewContact Array of Contact
If “ChangeContact” is “Y”, all contacts in OldContact will be updated with NewContact
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: ModuleSettings
Key Type Descriptions MSExchangeMailboxBackupE
nabled Boolean
MSExMailboxQuota Long
MSSQLBackupEnabled Boolean
MSExchangeBackupEnabled Boolean
OracleBackupEnabled Boolean
LotusDominoBackupEnabled Boolean
LotusNotesBackupEnabled Boolean
MySQLBackupEnabled Boolean
InFileDeltaEnabled Boolean
ShadowCopyEnabled Boolean
NasClientEnabled Boolean
DeltaMergeEnabled Boolean
MSHyperVBackupEnabled Boolean
MSHyperVVMQuota Long
MSHyperVVMQuotaType String
VMwareBackupEnabled Boolean
VMwareVMQuota Long
VMwareVMQuotaType String
CDPEnabled Boolean
ShadowProtectBackupEnabled
Boolean
MSWindowsSystemBackupEnabled
Boolean
MSWindowsSystemStateBackupEnabled
Boolean
EnableOffice365Mail Boolean
Office365MailQuota Long
EnableMobile Boolean
MobileQuota Long
EnableOpenDirect Boolean Supported from AhsayCBS v7.13.0.0 or above
OpenDirectQuota String Supported from AhsayCBS v7.13.0.0 or above
Contact
Key Type Descriptions Contact String
Email String
WindowsEventLogSettings
www.ahsay.com 85
Key Type Descriptions Enabled Boolean
LogError Boolean Log type
LogProfile Boolean Log option
LogServices Boolean Log option
LogUtilities Boolean Log option
LogBackup Boolean Log option
LogSoftwareUpdate Boolean Log option
LogReport Boolean Log option
LogLoginLogout Boolean Log option
LogInfo Boolean Log type
LogBuy Boolean
LogLicense Boolean
LogWarn Boolean Log type
LogRestore Boolean
Example: Input Update old contacts {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"test", "ChangeContact":"Y", "OldContact":[{ "ReadOnly":false, "Phone1":"", "EmailCertificate":"", "Website":"", "Phone2":"", "Name":"Name", "AllowMultiple":true, "Email":"[email protected]", "Address":"", "EncryptEmail":false, "Id":"1473221783291", "Company":"", "KeyName":"com.ahsay.obx.cxp.cloud.Contact"}], "NewContact":[{ "ReadOnly":false, "Phone1":"", "EmailCertificate":"", "Website":"", "Phone2":"", "Name":"NewName", "AllowMultiple":true, "Email":"[email protected]", "Address":"", "EncryptEmail":false, "Id":"1473221783291", "Company":"", "KeyName":"com.ahsay.obx.cxp.cloud.Contact"}] }
Output {"Status":"OK"}
Input Delete all contact {
"SysUser":" api_user ", "SysPwd":"abc123$%", "LoginName":"username", "AppendContact":"N", "Contact":[] }
Output {"Status":"OK"}
Input Change module settings {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user",
www.ahsay.com 86
"Password":"user_password", "ModuleSettings":{"MSExchangeBackupEnabled":"true"} }
Output {"Status":"OK"}
4.1.7 AddContact
This API add a new contact information to a user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]>Choose a user>[User Profile]>[Contact]
URL: http://BACKUP_SERVER/obs/api/json/AddContact.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Owner String
NewContact JSON Object Contact
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Contact
Key Type Descriptions Name String
Email String
Example:
Input { "SysUser":"SysUser", "SysPwd":"SysPwd", "LoginName":"User", "NewContact":{"Name":"Name1","Email":"[email protected]"} }
Output { "Status": "OK" }
Output 2 duplicate contact name { "Status": "Error", "Message": "Contact name is already in use.", "ExptType": "com.ahsay.obs.core.dbs.c" }
www.ahsay.com 87
4.1.8 AddUser
This API allows you to add new backup user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]
URL: http://BACKUP_SERVER/obs/api/json/AddUser.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Owner String
Password String
Email String Contact Email
Status String If this value is “SUSPENDED”, the user is suspended. Otherwise, the user is enabled.
ClientType String ACB or OBM
Type String TRIAL or PAID. Default to TRIAL if not specified
UserHome String Default to the first user home on your user home configuration if not specified. You can find the User home configuration in your CBS console: [Backup/Restore]>[Basic]> [User Home]
MobileQuota Long AhsayMOB quota
ExchangeMailboxQuota Long Exchange mail level backup quota Mandatory if the corresponding add on module is enabled (e.g. “ExchangeMailboxQuota” is mandatory if “EnableExchangeMailbox” is set to true)
MsVmQuota Long Hyper-V VM backup quota Mandatory if the corresponding add on module is enabled (e.g. “MsVmQuota” is mandatory if “EnableMsVm” is set to true)
MsVmQuotaType String Available for AhsayCBS version 7.7 or above The value can be any one of the following: GUESTVM SOCKET Default value is GUESTVM if not provided
VmwareQuota Long VMware VM backup quota Mandatory if the corresponding add on module is enabled (e.g. “VmwareQuota” is mandatory if “EnableVMware” is set to true)
VmwareQuotaType String Available for AhsayCBS version 7.7 or above The value can be any one of the following: GUESTVM SOCKET Default value is GUESTVM if not provided
RunDirectQuotaEnabled Boolean
RunDirectQuota Long Run Direct maximum VM quota Mandatory if the RunDirect is enabled (e.g. “RunDirectQuota” is mandatory if “RunDirectQuotaEnabled” is set to true)
EnableOffice365Mail Boolean
Office365MailQuota Long Office 365 mail backup quota
www.ahsay.com 88
Mandatory if the corresponding add on module is enabled (e.g.
“Office365MailQuota” is mandatory if “EnableOffice365Mail” is set to true)
Language String Language used by the user
DisplayName String Alias and Contact name. You are highly recommended to fill this.
Notes String
Quota String Unit in bytes.
HostQuotaEnabled Boolean Enable /Client host
HostQuota Long Client host limit
EnableMobile Boolean
EnableExchangeMailbox Boolean
EnableMSSQL Boolean
EnableMSExchange Boolean
EnableOracle Boolean
EnableLotusDomino Boolean
EnableLotusNotes Boolean
EnableMySQL Boolean
EnableInFileDelta Boolean
EnableShadowCopy Boolean
EnableNASClient Boolean
EnableMsVm Boolean
EnableVMware Boolean
EnableCDP Boolean
EnableShadowProtectBareMetal
Boolean
EnableWinServer2008BareMetal
Boolean Enable or disable Windows system back up
EnableMsWinSysState Boolean Enable or disable Windows system state back up
EnableOpenDirect Boolean Supported from AhsayCBS v7.13.0.0 or above
OpenDirectQuota String Supported from AhsayCBS v7.13.0.0 or above
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input Add OBM Paid user whose status is enabled {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "Password":"Xyz567*(", "Quota":"1073741824", "Email":”email_address@hostname”, “Type”:”Paid”, “Status”:”ENABLE”, “ClientType”:”OBM”, “DisplayName”:”David”, “EnableOracle”:”True”,
“EnableOffice365Mail”:”True”, “Office365MailQuota”:”5” }
Output {"Status":"OK"}
Output User name already in use {
"Status": "Error", "Message": "Login Name 'user' is used", "ExptType": "com.ahsay.obs.core.dbs.c" }
Input Add ACB Trial user whose status is suspended {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "Password":"Xyz567*(", "Quota":"1073741824", "Email":”email_address@hostname”,
www.ahsay.com 89
“Type”:”Trial”, “DisplayName”:”Peter”, “ClientType”:”ACB”, “Status”:”SUSPENDED”, “EnableOracle”:”True”,
“EnableOffice365Mail”:”True”, “Office365MailQuota”:”5” }
Output {"Status":"OK"}
Output User name already in use {
"Status": "Error", "Message": "Login Name 'user' is used", "ExptType": "com.ahsay.obs.core.dbs.c" }
4.1.9 GetUser
This API retrives the information of a backup user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]>Choose a user
URL: http://BACKUP_SERVER/obs/api/json/GetUser.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Owner String
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data JSON Object User
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: User
Key Type Descriptions LoginName String Client user name
Owner String
Password String Hashed password
Status String Suspended or enabled
Type String TRIAL or PAID. Default to TRIAL if not specified
ClientType String ACB or OBM
HomeDir String User home
WindowsEventLogSettings WindowsEventLogSettings
SuspendPaidUserDate String
HostQuota Long Client host limit
Language String
Timezone String String of timezone, refer to Apendix for string
Notes String
Quota Long
Bandwidth Long
www.ahsay.com 90
RegistrationDate Long Timestamp of registration date
ModuleSettings JSON Object ModuleSettings
ModuleSettings
Key Type Descriptions MsexchangeMailboxBackupE
nabled Boolean
MsexchangeDAGServerQuota Long
MssqlbackupEnabled Boolean
MsexchangeBackupEnabled Boolean
OracleBackupEnabled Boolean
LotusDominoBackupEnabled Boolean
LotusNotesBackupEnabled Boolean
MySQLBackupEnabled Boolean
InFileDeltaEnabled Boolean
ShadowCopyEnabled Boolean
NasClientEnabled Boolean
DeltaMergeEnabled Boolean
MshyperVBackupEnabled Boolean
OpenDirectEnbaled Boolean
MshyperVVMQuota Long
MshypervVMQuotaType String
VmwareBackupEnabled Boolean
VmwareVMQuota Long
VmwareVMQuotaType String
RunDirectQuota Long
Cdpenabled Boolean
ShadowProtectBackupEnabled
Boolean
MswindowsSystemBackupEnabled
Boolean
MswindowsSystemStateBackupEnabled
Boolean
EnableOffice365Mail Boolean
Office365MailQuota Long
MobileQuota Long
OpenDirectQuota String
WindowsEventLogSettings
Key Type Descriptions Enabled Boolean
LogError Boolean
LogProfile Boolean
LogServices Boolean
LogUtilities Boolean
LogBackup Boolean
LogError Boolean
LogSoftwareUpdate Boolean
LogReport Boolean
LogLoginLogout Boolean
LogInfo Boolean
LogBuy Boolean
LogLicense Boolean
LogWarn Boolean
LogRestore Boolean
Example:
Input { "SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user" }
Output { "Status": "OK", "Data": { "ReadOnly": false,
www.ahsay.com 91
"Updated": false, "ProxySettings": { "ReadOnly": false, "Enabled": false, "AllowMultiple": false, "Port": "", "Host": "", "Type": "", "Password": "", "Username": "", "Id": "", "KeyName": "com.ahsay.obx.cxp.cloud.ProxySettings" }, "ComputerNameDirList": [ "/usr/local/cbs_7_12.4/user/opendirect/db/ClientLogs/00-50-56-C0-00-01-Administrator" ], "PreV7": false, "HashedPassword": true, "Dagbset": [], "LdapSettings": { "ReadOnly": false, "LastDisableTime": -1, "AllowMultiple": false, "FirstAuthFailureTime": -1, "Id": "", "LdapUser": false, "LastDeleteTime": -1, "KeyName": "com.ahsay.obx.cxp.obs.LdapSettings" }, "BsetOwnerCount": 1, "Quota": 1073741824, "SavePassword": false, "DoubleEncodedName": "opendirect", "SimpleQuotaSize": 1073741824, "SecurityIdentifier": "S-1-5-21-2527513556-2540860317-3670937648-500", "Timezone": "1097", "NewBSetName": "BackupSet-1", "Bandwidth": 0, "Office365MailQuota": 0, "ImportDate": 0, "ForgotPasswordSettings": { "ReadOnly": false, "AllowMultiple": false, "Id": "", "Token": "", "RequestTime": -1, "KeyName": "com.ahsay.obx.cxp.obs.ForgotPasswordSettings", "ResetTime": -1 }, "AccessToken": "D4A0E4D832B74E9694C9B83012AB1243C842E0F4E6CC4947A7B7A7326FF509F6", "SuspendPaidUserDate": "20170716", "HostQuota": 1, "GroupPolicySettings": { "ReadOnly": false, "GroupQuota": 0, "AllowMultiple": false, "UsedGroupQuota": 0, "FileSizeLimit": 0, "Id": "", "UserGroupIDList": [ "1" ], "ExcludeNetworkShare": false, "KeyName": "com.ahsay.obx.cxp.obs.GroupPolicySettings" }, "Notes": "", "HostCount": 1, "RegistrationDate": 1497578979897, "ClientRunVersion": "7.12.4.0", "UserLockSettings": { "ReadOnly": false, "AllowMultiple": false, "LoginFailureCount": 0, "LastFailureTime": -1, "Id": "",
www.ahsay.com 92
"LockedTime": -1, "KeyName": "com.ahsay.obx.cxp.obs.UserLockSettings" }, "EmailReportSettings": { "ReadOnly": false, "Enabled": false, "SendMissedBkpRpt": false, "SmtpAuthPwd": "", "SmtpAuthUser": "", "ReportSenderEmail": "", "SmtpPort": "", "SendStorageAlert": false, "Usage": 0, "SendBkpRpt": false, "AllowMultiple": false, "Email": "", "SendBkpRptMode": "", "Id": "", "SmtpHostName": "", "MissedBkpInterval": 0, "KeyName": "com.ahsay.obx.cxp.cloud.EmailReportSettings" }, "DestinationQuotaList": [ { "ReadOnly": false, "Enabled": false, "Attributes": [], "ValueSize": 3, "AttributeSize": 0, "NestedValues": [], "SubKeySize": 0, "DestinationKey": "OBS", "Priority": -1, "Quota": 0, "AllowMultiple": true, "SubKeys": [], "InheritParentAttribs": false, "Content": "", "KeyName": "com.ahsay.obx.cxp.obs.DestinationQuotaBean" } ], "Id": "1497578979898", "Locked": false, "HostQuotaEnabled": false, "TotalStatistics": { "D": 0, "E": 0, "F": 0, "A": 55920393, "B": 55920392, "C": 23 }, "ClientType": "OBM", "V6File": "/usr/local/cbs_7_12.4/user/opendirect/db/Profile.xml", "MailboxUsage": 0, "Type": "TRIAL", "Password": "ANBTv6/OToWAu38et4QF7roFCESDUCkB9qXb+iyiayk=", "LongLoginName": "opendirect", "UploadEncryptionKey": true, "LastShowingLicViolationTime": -1, "LastLoginTime": 1497788107994, "HostInfo": "{\"Hosts\":[{\"CPUSocketNum\":2,\"Hostname\":\"VMwks10-w81\"}]}", "PasswordHistory": { "ReadOnly": false, "AllowMultiple": false, "HistoryList": [ { "ReadOnly": false, "Attributes": [], "ValueSize": 2, "AttributeSize": 0, "NestedValues": [], "SubKeySize": 0, "Password": "ANBTv6/OToWAu38et4QF7roFCESDUCkB9qXb+iyiayk=", "Priority": -1,
www.ahsay.com 93
"AllowMultiple": true, "SubKeys": [], "LastDisabledTime": -1, "InheritParentAttribs": false, "Content": "", "KeyName": "com.ahsay.obx.cxp.cloud.HistoryBean" } ], "PasswordLastModifiedTime": 1497578979897, "Id": "", "KeyName": "com.ahsay.obx.cxp.cloud.PasswordHistory" }, "FullName": null, "SoftwareUpdateSettings": { "ReadOnly": false, "Enabled": true, "AllowMultiple": false, "Id": "", "KeyName": "com.ahsay.obx.cxp.cloud.SoftwareUpdateSettings" }, "Hostname": "", "Office365MailEnabled": false, "HomeDir": "/usr/local/cbs_7_12.4/user/opendirect", "RoutineJobSettings": { "ReadOnly": false, "AllowMultiple": false, "QuotaRemindPercentage": 0, "InactiveReportLastSentTime": -1, "Id": "", "KeyName": "com.ahsay.obx.cxp.obs.RoutineJobSettings" }, "Owner": "", "ModuleSettings": { "ReadOnly": false, "VMwareBackupEnabled": false, "ShadowCopyEnabled": false, "MSHyperVVMQuota": 0, "LotusDominoBackupEnabled": false, "VMwareVMQuota": 0, "MSExchangeDAGServerQuota": 0, "Office365SharePointEnabled": false, "MSExMailboxQuota": 0, "MSHyperVBackupEnabled": false, "OracleBackupEnabled": false, "Office365MailEnabled": false, "Office365MailQuota": 0, "OpenDirectEnabled": true, "InFileDeltaEnabled": false, "VMwareVMQuotaType": "GUESTVM", "MobileQuota": 0, "MSSQLBackupEnabled": false, "MSWindowsSystemStateBackupEnabled": false, "OpenDirectQuota": 1, "MSExchangeMailboxBackupEnabled": false, "AllowMultiple": false, "LotusNotesBackupEnabled": false, "MySQLBackupEnabled": false, "ShadowProtectBackupEnabled": false, "MSHypervVMQuotaType": "GUESTVM", "Office365SharePointQuota": 0, "MSExchangeBackupEnabled": false, "Id": "", "CDPEnabled": false, "MobileEnabled": false, "MSWindowsSystemBackupEnabled": false, "NasClientEnabled": false, "KeyName": "com.ahsay.obx.cxp.cloud.ModuleSettings", "DeltaMergeEnabled": false }, "EncodedName": "opendirect", "File": "/usr/local/cbs_7_12.4/conf/users.xml", "ServerSettings": null, "RunDirectQuota": 1, "UserId": "opendirect", "HostSet": [
www.ahsay.com 94
"vmwks10-w81" ], "Name": "opendirect", "ContactList": [], "Status": "ENABLE", "TrialDays": 2592000000, "AllowMultiple": true, "UserSuspendSettings": { "ReadOnly": false, "Enabled": true, "AllowMultiple": false, "Date": 1500170979897, "Id": "", "KeyName": "com.ahsay.obx.cxp.obs.UserSuspendSettings" }, "Alias": "", "RunDirectQuotaEnabled": false, "AdGroups": [], "Language": "en", "AdGroup": "", "WindowsEventLogSettings": { "ReadOnly": false, "Enabled": false, "LogError": false, "LogProfile": false, "LogServices": false, "LogUtilities": false, "LogBackup": false, "LogReport": false, "LogSoftwareUpdate": false, "LogInfo": false, "LogLoginLogout": false, "LogBuy": false, "AllowMultiple": false, "LogLicense": false, "LogWarn": false, "Id": "", "LogRestore": false, "KeyName": "com.ahsay.obx.cxp.cloud.WindowsEventLogSettings" }, "LastModified": 1497578442000, "KeyName": "com.ahsay.obx.cxp.cloud.User" } }
4.1.10 1ModifyUserStatus
This API modifies the user account status, either enable or suspended. Does not apply to trial user accounts which are suspended after they have exceeded the trial period. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]>Choose a user>[User Profile]>[General]
URL: http://BACKUP_SERVER/obs/api/json/ModifyUserStatus.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
1
www.ahsay.com 95
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Owner String
Status String “ENABLE” or “SUSPENDED”
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String
Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user1", "Status":"SUSPENDED" }
Output {"Status":"OK"}
Output 2 User not exist {
"Status": "Error", "Message": "[UserCacheManager.NoSuchUserExpt] User 'user1' not found.", "ExptType": "com.ahsay.obs.core.dbs.Y" }
4.1.11 RemoveUser
This API removes a backup user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]
URL: http://BACKUP_SERVER/obs/api/json/RemoveUser.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String To remove multiple users, join their login names, separated with “*”, e.g. user1*user2*user3
Owner String To remove multiple users, join their owner, separated with “*”, e.g. owner1*owner2*owner3 If the owner is system admin, use a space as the owner name, e.g. “ * * “ This field is mandatory if multiple users are removed.
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user1*user2", "Owner":" * * "
www.ahsay.com 96
}
Output {"Status":"OK"}
4.1.12 SendForgotPwdEmail
This API will send a forgot password email to a backup user who has forgot their login password, to allow them to reset their login password.
URL: http://BACKUP_SERVER/obs/api/json/SendForgotPwdEmail.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String The value of this parameter can handle 1 user at a time.
Owner String The value of this parameter can handle 1 user at a time.
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user1", }
Output {"Status":"OK"}
Example: Login name incorrect Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user1", }
Output {"Status":"Error","Message":"[UserCacheManager.NoSuchUserExpt] User 'user1' not
found.","ExptType":"com.ahsay.obs.core.dbs.Y"}
4.1.13 GetUserStatus.do
This API gets detailed information of the current backup or restore job running.
The related settings can be found on the AhsayCBS web console:
[Monitoring]>[Live Activities]> [Backup user]>[Backup Status] OR [Restore Status]
URL: http://BACKUP_SERVER/c bs/api/json/GetUserStatus.do
Available since version: 7.9.0.13
www.ahsay.com 97
Parameters:
Key Type Descriptions SysUser String AhsayCBS's system users with admin role
SysPwd String AhsayCBS's system users password with admin role
Type String The value can be one of the followings: backup restore
Return Values:
Key Type Descriptions Status String "OK" or "Error"”
BkpStatus Array of BkpStatus
If input parameter type is "backup", array of BkpStatus is returned.
RestoreStatus Array of RestoreStatus
If input parameter type is "restore", array of RestoreStatus is returned.
Message String Error message, it exists only if status is "Error".
ExptType String The type of exception, it exists only if status is "Error".
JSON Objects:
BkpStatus/ RestoreStatus
Key Type Descriptions ID String
LoginName String Name of the backup account.
Owner String Owner of the backup account.
UserId String ID of the backup account.
Alias String Alias of the backup account.
UserType String User type. The value can be one of the following:
Trial Paid
ClientType String Backup client type. The value can be one of the following:
OBM ACB
Type String Backup set type. The value can be one of the following: FILE Cloud File Lotus Domino Lotus Notes Microsoft Exchange Server Microsoft Exchange Mail (MAPI) Microsoft SQL Server Microsoft Windows Virtualization Microsoft Windows System Backup MySQL Oracle Database Server ShadowProtect Bare Metal System State VMware Virtualization Office 365 Exchange Online
BackupSet String Name of the backup set.
BackupSetID String ID of the backup set.
DestinationID String ID of the backup destination.
DestinationName String Name of the backup destination.
DestinationType String Destination storage of the backup set. The value can be one of the following: Local / Mapped Drive / Removable Drive : Local
www.ahsay.com 98
Alibaba Cloud : Aliyun CTYun : CTYun Amazon Cloud Drive : CloudDrive Amazon S3 : S3 AWS S3 Compatible Cloud Storage : AWSCompatible Google Cloud Storage : GCS Google Drive : GDrive Microsoft Azure : Azure OneDrive : OneDrive OneDrive for Business : OneDrive4Biz Rackspace : Rackspace OpenStack : OpenStack Dropbox : Dropbox FTP : FTP SFTP : SFTP AhsayCBS : OBS
Destination pool : Pooled For backup job with version 6 backup client: %EMPTY%
OverallPercent String Progress of the backup job shown in percentage.
BackupStatus String Message type of the current stage of the backup job.
LastMessage String Last message reported during the backup job.
LastUpdateTime String Time of the last message reported during the backup job.
EstimatedTimeLeft String Estimated time to backup job completion.
SizeLeft String Data size left to be backed up.
UploadedSize String Data size of all uploaded data during the backup job.
TransferRate String Transfer rate measured at the moment.
CurrentFile String Current backup / restore file.
UploadedNumOfFiles String Total number of files uploaded for BkpStatus (e.g. input "Type":"backup")
or Total number of files downloaded for RestoreStatus (e.g. input "Type":"restore").
UploadedNumOfDirs String Total number of directories uploaded for BkpStatus (e.g. input "Type":"backup") or Total number of directories downloaded for RestoreStatus (e.g. input "Type":"restore").
UploadedNumOfLinks String Total number of links uploaded for BkpStatus (e.g. input "Type":"backup") or Total number of links downloaded for RestoreStatus (e.g. input "Type":"restore").
ElapsedTime String Elapsed time of the backup job.
CurrentFilePercent String Upload percentage of the current file being backed up / restored.
CurrentFileType String Current type. The value can be one of the following:
Full Incremental Differential
CurrentFileOperation String File operation list. The value can be one of the following:
new update delete move file permission
www.ahsay.com 99
DeltaFile String Delta file path.
DeltaFilePercent String Upload percentage of the current delta file.
DeltaType String Deltas type. The value can be one of the following:
Incremental Differential
BackupJobID or RestoreJobID
String Backup Job ID for BkpStatus (e.g. input "Type":"backup"), or Restore Job ID for RestoreStatus (e.g. input "Type":"restore"). ID in YYYY-MM-DD-hh-mm-ss format.
Example 1 ("Type": "backup"): Input {
"SysUser":"system", "SysPwd":"system", "Type":"backup" }
Output {
"Status":"OK", "BkpStatus":[ { "SizeLeft":"943.94M", "DestinationType":"OBS", "LoginName":"username", "Type":"FILE", "DeltaFile":"", "LastUpdateTime":"07/10/2016 18:07:41", "DestinationName":"CBS", "CurrentFilePercent":"100", "ElapsedTime":"3 min 14 sec", "ID":"0", "CurrentFileOperation":"new", "LastMessage":"[1475834453800] [New File]... 100% of \"C:\\cbs-win7700.exe\"", "TransferRate":"29Mibit/s", "UploadedNumOfLinks":"0", "UploadedNumOfDirs":"4", "UserType":"PAID", "Owner":"", "DeltaType":"", "UploadedNumOfFiles":"1", "DeltaFilePercent":"0", "UploadedSize":"907.37M", "EstimatedTimeLeft":"4 min 19 sec", "CurrentFile":"C:\\cbs-win7700.exe", "UserId":"1475834105960", "BackupSet":"Test", "OverallPercent":"49", "Alias":"", "DestinationID":"1475834453800", "BackupSetID":"1475834388686", "BackupJobID":"2016-10-07-18-04-25", "BackupStatus":"info", "ClientType":"OBM", "CurrentFileType":"New File"}] }
Example 2 ("Type": "restore"): Input {
"SysUser":"system", "SysPwd":"system", "Type":"restore" }
Output
www.ahsay.com 100
{ "Status":"OK", "RestoreStatus":[ { "SizeLeft":"1.67G", "DestinationType":"OBS", "LoginName":"username", "Type":"FILE", "DeltaFile":"", "LastUpdateTime":"07/10/2016 18:26:35", "DestinationName":"CBS", "CurrentFilePercent":"14", "ElapsedTime":"38 sec", "ID":"0", "CurrentFileOperation":"", "LastMessage":"Downloading... \"E:\\ Dest\\C_\\cbs-win7810.exe\" (Total 472.86M bytes)", "TransferRate":"54Mibit/s", "UploadedNumOfLinks":"0", "UploadedNumOfDirs":"0", "UserType":"PAID", "Owner":"", "DeltaType":"", "RestoreJobID":"2016-10-07-18-25-57", "UploadedNumOfFiles":"0", "DeltaFilePercent":"0", "UploadedSize":"131.25M", "EstimatedTimeLeft":"2 min 5 sec", "CurrentFile":"E:\\Dest\\C_\\cbs-win7500.exe", "UserId":"1475834105960", "BackupSet":"Test", "OverallPercent":"7", "Alias":"", "DestinationID":"1475834453800", "BackupSetID":"1475834388686", "BackupStatus":"info", "ClientType":"OBM", "CurrentFileType":""}] }
www.ahsay.com 101
4.2 Backup Set
4.2.1 UpdateBackupSet
This API updates information of a backup set. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set
URL: http://BACKUP_SERVER/obs/api/json/UpdateBackupSet.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String User name
BackupSetID String Obtainable in ListBackupsets API
ReadOnly Boolean
class String com.ahsay.obx.cxp.obs.BackupSet
Name String Backup set name
Type String The value can be any one of the following: FILE Cloud File Lotus Domino Lotus Notes Microsoft Exchange Server Microsoft Exchange Mail (MAPI) Microsoft SQL Server Microsoft Windows Virtualization Microsoft Windows System Backup MySQL Oracle Database Server ShadowProtect Bare Metal System State VMware Virtualization Office 365 Exchange Online
ShadowCopyEnabled Boolean Enable Windows' Volume Shadow Copy for open file backup
DeleteTempFile String Remove temporary files after backup
LogRetentionDays Integer Number of days to keep the backup set log
FollowLink Boolean Follow link of the backup files
CompressType String The value can be one of the following: "GzipBestSpeedCompression" (Fast), "GzipDefaultCompression" (Normal), Default to No Compression if not provided
LanDomain String Windows User Authentication domain/host name
LanUsername String Windows User Authentication user name
LanPassword String Windows User Authentication user passowrd
WorkingDir String Temporary Driectory for storing backup files
UploadPermission Boolean Enable to backup permission attribute of files
ReminderSettings ReminderSettings
InFileDeltaSettings InFileDeltaSettings
LocalCopySettings LocalCopySettings
RetentionPolicySettings RetentionPolicySettings
CdpSettingsV6 CdpSettings
www.ahsay.com 102
CdpSettings7 CdpSettings
BandwidthControlSettings BandwidthControlSettings
FilterSettings FilterSettings
ScheduleSettings ScheduleSettings
DestinationSettings DestinationSettings
SelectedSourceList Array of String
DeselectedSourceList Array of String
PreCommandList Array of Command
PostCommandList Array of Command
AllowedIPList Array of AllowedIP
ApplicationSettings
DestinationList Array of Destination
(optional)
EnableOpenDirect Boolean Supported from AhsayCBS v7.13.0.0 or above Note: Cannot be changed once set
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: ReminderSettings
Key Type Descriptions ReadOnly Boolean
BackupIntervalHour Integer This setting only applicable for v6 legacy backup users.
OfflineNotificationDay Integer This setting only applicable for v6 legacy backup users.
OfflineBackupEnabled Boolean This setting only applicable for v6 legacy backup users.
BackupIntervalDay Integer This setting only applicable for v6 legacy backup users.
ShowOfflineBackupReminder Boolean This setting only applicable for v6 legacy backup users.
LogoutBackupReminderEnabled
Boolean Enable/Disable backup reminder when windows log off or shut down.
InfileDeltaSettings
Key Type Descriptions Enabled Boolean
ReadOnly Boolean
MinDeltaFileSize Long Only apply In-File Delta to files larger than this size.
MaxNumOfDelta Long Upload full file when number of deltas are over this number Highly recommended to choose one of the following value: 10 20 30 50 100
MaxDeltaRatio Long Upload full file when delta file size / full file size is over this ratio. It can only be multiple of 5 of maximum 100.
DefaultDeltaType String The value can be one of the following: I D
WeeklyInFileDeltaSchedule WeeklyInFileDeltaSchedule
Weekly variations for overriding default type
MonthlyInFileDeltaSchedule MonthlyInFileDeltaSchedule
Yearly variations for overriding default type and weekly variations
WeeklyInFileDeltaSchedule
Key Type Descriptions ReadOnly Boolean
www.ahsay.com 103
Day Array of String
The array contains 7 Strings, which corresponds to the delta type from Sunday to Saturday. “I” for incremental delta on that day, “D” for differential delta on that day, and “” for full backup on that day.
MonthlyInFileDeltaSchedule
Key Type Descriptions ReadOnly Boolean
Month Array of String
The array contains 12 Strings, which corresponds to the delta type from January to December. “I” for incremental delta on that month, “D” for differential delta on that month, and “” for full backup on that month.
Date Integer Day of selected months in yearly variations
Criteria String The value can be one of the following: Weekday Weekend Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Occurrence String The value can be one of the following: First Second Third Fourth Last
LocalCopySettings
Key Type Descriptions ReadOnly Boolean
Enabled Boolean This setting only applicable for v6 legacy backup users.
DestinationPath String This setting only applicable for v6 legacy backup users.
SetPermission Boolean This setting only applicable for v6 legacy backup users.
SkipOffsiteBackup Boolean This setting only applicable for v6 legacy backup users.
LocalCopyRetentionPolicySettings
LocalCopyRetentionPolicySetting
This setting only applicable for v6 legacy backup users.
Zip Boolean This setting only applicable for v6 legacy backup users.
LocalCopyRetentionPolicySetting
Key Type Descriptions ReadOnly Boolean
Enabled Boolean This setting only applicable for v6 legacy backup users.
Period Integer This setting only applicable for v6 legacy backup users.
Unit String This setting only applicable for v6 legacy backup users. The value can be one of the following: DAYS JOBS
RetentionPolicySettings
Key Type Descriptions ReadOnly Boolean
Period Integer Keep the deleted files for this number of days
OverlapSensitive Boolean
Type String The value can be one of the following: SIMPLE ADVANCED
Unit String The value can be one of the following: DAYS JOBS
www.ahsay.com 104
AdvancedRetentionPolicyList Array of AdvancedRetentionPolicy
AdvancedRetentionPolicy
Key Type Descriptions ReadOnly Boolean
Id Long ID of the retention policy to update
Type String The value can be one of the following: DAILY WEEKLY MONTHLY QUARTERLY YEARLY CUSTOM
NumbersToKeep Integer Available to change when you choose the following Type: DAILY WEEKLY MONTHLY QUARTERLY YEARLY
Day Integer Available to change when you choose the following Type: MONTHLY QUARTERLY YEARLY CUSTOM
Week Integer Available to change when you choose the following Type: QUARTERLY YEARLY CUSTOM
Month Integer Available to change when you choose the following Type: QUARTERLY YEARLY CUSTOM
Year Integer Available to change when you choose the following Type: CUSTOM
DateType String It can be empty for daily or weekly retention policy, or one of the following: WEEK_OF_MONTH WEEK_OF_YEAR EXACT
Sun, Mon, Tue, Wed, Thu, Fri, Sat
Boolean For weekly custom retention policy
CdpSettings
Key Type Descriptions ReadOnly Boolean
Enable Boolean
Type String For CdpSettingsV6, the value can be one of the following: all-volume backup-source custom-source For CdpSettings7, the value is all-volume
BackupType String The value can be empty, or one of the following: DATABASE DIFFERENTIAL LOG SKIP POWEROFF For Oracle and Lotus Domino backup sets, the value must be DATABASE or LOG For MS SQL Server backup sets, the value must be DATABASE or DIFFERENTIAL
www.ahsay.com 105
For MS Exchange Server before 2007 and Shadow Protect backup sets, the value must be DATABASE, DIFFERENTIAL, or LOG For MS Exchange Server 2007 or above, the value must be DATABASE or LOG For VMware backup sets, if version is VMware Server 1 or VMware Player, the value must be SKIP or POWEROFF
MinUpdateInterval Integer
TimeMarkInterval Integer
MaxFileSize Integer Only apply to files smaller than 20 50 100 500 1000 unlimited
ComputerName String Run CDP on computers named
ExcludeSystemFiles Boolean
FilterList Array
Version String For CdpSettingsV6, the value is v6 For CdpSettings7, the value is 7
CdpBackupControlSettings CdpBackupControlSetting
This setting only applicable for v6 legacy backup users.
SelectedSourceList Array of String
CdpBackupControlSettings
Key Type Descriptions ReadOnly Boolean This setting only applicable for v6 legacy backup users.
ConsiderCpuUsage Boolean This setting only applicable for v6 legacy backup users.
CpuUsage Integer This setting only applicable for v6 legacy backup users.
ConsiderInput Boolean This setting only applicable for v6 legacy backup users.
ObserveInputForSecond Integer This setting only applicable for v6 legacy backup users.
ConsiderNetworkTraffic Boolean This setting only applicable for v6 legacy backup users.
NetworkTraffic Long This setting only applicable for v6 legacy backup users.
BandwidthControlSettings
Key Type Descriptions ReadOnly Boolean
Enabled Boolean
BandwidthControlList Array of BandwithControl
Mode String The value can be one of the following: independent share
BandwithControl
Key Type Descriptions ReadOnly Boolean
Name String
Id Long
MaxTransferRateInBitsPerSec Long
StartDay Integer
StartHour Integer
StartMinute Integer
EndDay Integer
EndHour Integer
EndMinute Integer
FilterSettings
Key Type Descriptions ReadOnly Boolean
Enabled Boolean
FilterList Array of Filter
www.ahsay.com 106
Filter
Key Type Descriptions ReadOnly Boolean
Name String Name of the filter
Id Long Id of the filter, obtainable in GetBacupSet API
TopDir String Apply fileter to a specific directory only
@class String com.ahsay.obx.cxp.obs.Filter
ApplyToDir Boolean Apply filters to directory
Type String The value can be one of the following: START_WITH END_WITH CONTAIN CUSTOM
Include Boolean For each of the matched files/folders under top directory: Exclude or include them
Only Boolean If it is set to true, it will not include all unmatched files/folders If it is set to false, it will include all unmatched files/folders
PatternList Array of Pattern
MatchPatternAgainstFullPathOnly
Boolean
Pattern
Key Type Descriptions ReadOnly Boolean
Pattern String
ApplicationSettings
Key Type Descriptions ReadOnly Boolean
AllowMultiple Boolean
@class String The value can be one of the following: com.ahsay.obx.cxp.cloud.FileSettings com.ahsay.obx.cxp.cloud.LotusDominoSettings com.ahsay.obx.cxp.cloud.LotusNotesSettings com.ahsay.obx.cxp.cloud.MSExchangeSettings com.ahsay.obx.cxp.cloud.MSExMailboxSettings com.ahsay.obx.cxp.cloud.MSSQLSettings com.ahsay.obx.cxp.cloud.MSHypervSettings com.ahsay.obx.cxp.cloud.MSWindowsSystemSettings com.ahsay.obx.cxp.cloud.MySQLSettings com.ahsay.obx.cxp.cloud.OracleSettings com.ahsay.obx.cxp.cloud.ShadowProtectSettings com.ahsay.obx.cxp.cloud.MSWindowsSystemStateSettings com.ahsay.obx.cxp.cloud.VMwareSettings com.ahsay.obx.cxp.cloud.Office365ExchangeOnlineSettings com.ahsay.obx.cxp.cloud.CloudFileSettings
Id
Version
KeyName The value can be one of the following: com.ahsay.obx.cxp.cloud.FileSettings com.ahsay.obx.cxp.cloud.LotusDominoSettings com.ahsay.obx.cxp.cloud.LotusNotesSettings com.ahsay.obx.cxp.cloud.MSExchangeSettings com.ahsay.obx.cxp.cloud.MSExMailboxSettings com.ahsay.obx.cxp.cloud.MSSQLSettings com.ahsay.obx.cxp.cloud.MSHypervSettings com.ahsay.obx.cxp.cloud.MSWindowsSystemSettings com.ahsay.obx.cxp.cloud.MySQLSettings com.ahsay.obx.cxp.cloud.OracleSettings com.ahsay.obx.cxp.cloud.ShadowProtectSettings com.ahsay.obx.cxp.cloud.MSWindowsSystemStateSettings com.ahsay.obx.cxp.cloud.VMwareSettings com.ahsay.obx.cxp.cloud.Office365ExchangeOnlineSettings com.ahsay.obx.cxp.cloud.CloudFileSettings
www.ahsay.com 107
WindowsOutlook Boolean Backup source shortcut to Outlook Applicable for File backup set only
WindowsDesktop Boolean Backup source shortcut to Desktop Applicable for File backup set only
WindowsOutlookExpress Boolean Backup source shortcut for Outlook Express Applicable for File backup set only
WindowsMail Boolean Backup source shortcut to Windows Mail Applicable for File backup set only
WindowsFavourites Boolean Backup source shortcut to Favourites Applicable for File backup set only
WindowsMyDocuments Boolean Backup source shortcut to My Document Applicable for File backup set only
NotesIniPath String Path to notes.ini Applicable for IBM Lotus Domino / IBM Lotus Notes backup set only
BackupSystemState Boolean Applicable for MS Exchange Server backup set only
LoginID String Login ID of sa / system account Applicable for MS SQL Server / Oracle Database Server backup set only
Password String Password of sa / system / root account Applicable for MS SQL Server / MySQL / Oracle Database Server / VMware backup set only
Server String SQL Server instance Applicable for MS SQL Server backup set only
BackupTarget String Temporary storage location of the MS Windows System / System State backup set Applicable for MS Windows System / System State backup set only
Port Integer Listening port of the MySQL / Oracle Database Server Port to the VMware hypervisor Applicable for MySQL / Oracle Database Server / VMware backup set only
Host String Hostname or IP to the MySQL / Oracle Database Server, or VMware hypervisor Applicable for MySQL / Oracle Database Server / VMware backup set only
Username String Username of root account Applicable for MySQL / VMware backup set only
MysqldumpPath String Applicable for MySQL backup set only
LastArchivedLogName String Applicable for Oracle Database Server backup set only
Sid String Oracle SID Applicable for Oracle Database Server backup set only
EncryptionAlgorithm String Applicable for ShadowProtect System backup set only
EncryptionPassword String Applicable for ShadowProtect System backup set only
InstallLocation String Applicable for ShadowProtect System backup set only
Sshport Integer Applicable for VMware backup set only
AutoEnableCBT Boolean Applicable for VMware backup set only
ScheduleSettings
Key Type Descriptions ReadOnly Boolean
Enable Boolean
ComputerName String
DailyScheduleList Array of DailySchedule
WeeklyScheduleList Array of WeeklySchedule
www.ahsay.com 108
MonthlyScheduleList Array of MonthlySchedule
CustomScheduleList Array of CustomSchedule
DailySchedule
Key Type Descriptions ReadOnly Boolean
Name String Name of the schedule
Id Long ID of the schedule, obtainable in GetbackupSets API
Hour Integer Refer to HH. The schedule will start backup at HH:MM
Minute Integer Refer to MM. The schedule will start backup at HH:MM
Duration Integer (optional) If no value is specified default value = -1 The value can be one of the following: until full backup completed = -1 stop backup after xx hours = 1 to 24
BackupType String The value can be empty, or one of the following: DATABASE DIFFERENTIAL LOG SKIP POWEROFF For Oracle and Lotus Domino backup sets, the value must be DATABASE or LOG For MS SQL Server backup sets, the value must be DATABASE or DIFFERENTIAL For MS Exchange Server before 2007 and Shadow Protect backup sets, the value must be DATABASE, DIFFERENTIAL, or LOG For MS Exchange Server 2007 or above, the value must be DATABASE or LOG For VMware backup sets, if version is VMware Server 1 or VMware Player, the value must be SKIP or POWEROFF
SpaceFreeUpEnabled Boolean Remove obsolete files from backup destination according to retention policy
LastUpdateTime Long
@class String com.ahsay.obx.cxp.obs.DailySchedule
WeeklySchedule
Key Type Descriptions ReadOnly Boolean
Name String Name of the schedule
Id Long Id of the schedule, obtainable in GetBackupSet API
Hour Integer Refer to HH. The schedule will start backup at HH:MM
Minute Integer Refer to MM. The schedule will start backup at HH:MM
Duration Integer (optional) If no value is specified default value = -1 The value can be one of the following: until full backup completed = -1 stop backup after xx hours = 1 to 24
BackupType String Refer to “BackupType” of DailySchedule
Days Array of Boolean
The array contains 7 boolean values that correspond to Sunday to Saturday. If the boolean value is true, backup will be run on that day.
SpaceFreeUpEnabled Boolean Remove obsolete files according to retention policy from backup
www.ahsay.com 109
destination according to retention policy
LastUpdateTime Long
@class String com.ahsay.obx.cxp.obs.WeeklySchedule
MonthlySchedule
Key Type Descriptions ReadOnly Boolean
Name String
Id Long Id of the schedule, obtainable in GetBackupSet API
Hour Integer Refer to HH. The schedule will start backup at HH:MM
Minute Integer Refer to MM. The schedule will start backup at HH:MM
BackupType String Refer to “BackupType” of DailySchedule
Duration Integer
Occurrence String The value can be one of the following: First Second Third Fourth Last
Criteria String The value can be one of the following: Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday Weekend
SpaceFreeUpEnabled Boolean Remove obsolete files according to retention policy from backup destination according to retention policy
LastUpdateTime Long
@class String com.ahsay.obx.cxp.obs.MonthlySchedule
CustomSchedule
Key Type Descriptions ReadOnly Boolean
Name String
Id Long ID of the schedule, obtainable in GetBackupset API
Hour Integer Refer to HH. The schedule will start backup at HH:MM
Minute Integer Refer to MM. The schedule will start backup at HH:MM
Duration Integer (optional) If no value is specified default value = -1 The value can be one of the following: until full backup completed = -1 stop backup after xx hours = 1 to 24
Date String In yyyy-MM-dd format Backup on this day once
BackupType String Refer to “BackupType” of DailySchedule
SpaceFreeUpEnabled Boolean Remove obsolete files according to retention policy from backup destination according to retention policy
LastUpdateTime Long
@class String com.ahsay.obx.cxp.obs.CustomSchedule
Command
Key Type Descriptions ReadOnly Boolean
Name String
Command String
Type String The value can be one of the following: Pre Post
www.ahsay.com 110
Id Long Id of the command, obtainable in GetBackupSet API
WorkingDir String
AllowedIP
Key Type Descriptions ReadOnly Boolean
Id Long Id of the command, obtainable in GetBackupSet API
StartIP String
EndIP String
DestinationSettings
Key Type Descriptions ReadOnly Boolean
DestinationList Array of Destination
Destination
Key Type Descriptions ReadOnly Boolean
Id Long Id of the destination, obtainable in GetBackupSet API
Name String
TopDir String
@class String The value can be one of the following: com.ahsay.obx.cxp.obs.LocalDestination com.ahsay.obx.cxp.obs.AmazonCloudDriveDestination com.ahsay.obx.cxp.obs.AmazonS3Destination com.ahsay.obx.cxp.obs.AWSCompatibleDestination com.ahsay.obx.cxp.obs.GoogleCloudStorageDestination com.ahsay.obx.cxp.obs.GoogleDriveDestination com.ahsay.obx.cxp.obs.WindowsAzureDestination com.ahsay.obx.cxp.obs.OneDriveDestination com.ahsay.obx.cxp.obs.OpenStackDestination com.ahsay.obx.cxp.obs.RackspaceDestination com.ahsay.obx.cxp.obs.DropboxDestination com.ahsay.obx.cxp.obs.FtpDestination com.ahsay.obx.cxp.obs.SftpDestination com.ahsay.obx.cxp.obs.ObsDestination com.ahsay.obx.cxp.obs.PooledDestination com.ahsay.obx.cxp.obs.AliyunDestination
Type String *OBS & Local destination types support both update & add new desintation (Available for AhsayCBS on 7.9.2.8 or above . ** All other destinations types do not support update or add new destination. The value can be one of the following: Local CloudDrive S3 AWSCompatible GCS GDrive Azure OneDrive OpenStack Rackspace Dropbox FTP SFTP OBS Pooled Aliyun Exchange
UserName String
Password String
HostName String
Port String
AccessKey String
www.ahsay.com 111
Location String
DestinationKey String
Secret String
UserID String
Token String
ClientId String
UserDisplayName String
ClientSecret String
Region String
TenantID String
AppFolderName String
UsingSSL Boolean
UsingProxy Boolean
DestinationList Array of Destination
KeyName String com.ahsay.obx.cxp.obs.FtpDestination com.ahsay.obx.cxp.obs.SftpDestination FTP and SFTP cloud file backup set are supported using this API from AhsayCBS v7.9.0.94 or above.
Example: Input Update local and obs destination {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383821", "DestinationSettings":{ "DestinationList": [ { "Name":"dest_OBS", "Type":"OBS", }, { "Name":"dest_Local", "Type":"Local", "TopDir":"D:\\test" } ] } }
Input Update Office 365 online destination {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383123", "ApplicationSettings": { "@class": "com.ahsay.obx.cxp.cloud.Office365ExchangeOnlineSettings", "RunOnServer": true, "Destination": { "@class": "com.ahsay.obx.cxp.obs.Office365ExchangeOnlineDestination", "Type": "Exchange", "Password": "QgsSo/AkSjvTlOOVjcF/W9dcqxQKiFnVqI/A9Le/N0ujmNADgWipLghpjS0ZzIcm", "DataMigrationMappingMergedToIndex": false, "MultiAccounts": true, "UserName": "[email protected]", "DestinationKey": "Exchange#[email protected]", "Id": "1472441724123", "KeyName": "com.ahsay.obx.cxp.obs.Office365ExchangeOnlineDestination" }, "KeyName": "com.ahsay.obx.cxp.cloud.Office365ExchangeOnlineSettings" }
Input CBS destination {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383821", "DestinationSettings":{
www.ahsay.com 112
"DestinationList":[ { "Name":"CBS", "@class":"com.ahsay.obx.cxp.obs.ObsDestination", "Type":"OBS" } ] } }
Input Weekly In file delta settings {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "InFileDeltaSettings":{ "Enabled":true, "MinDeltaFileSize":"30", "MaxNumOfDelta":"200", "MaxDeltaRatio":"55", "DefaultDeltaType":"I", "WeeklyInFileDeltaSchedule":{ "Day":["D","D","D","D","","D","I"] } } }
Input Monthly In file delta settings {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "InFileDeltaSettings":{ "Enabled":true, "MinDeltaFileSize":"30", "MaxNumOfDelta":"200", "MaxDeltaRatio":"55", "DefaultDeltaType":"I", "MonthlyInFileDeltaSchedule":{ "Month":["D","D","D","D","","D","I","D","D","D","","D","I"], "Date":"3" } } }
Input Simple retention policy {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "RetentionPolicySettings":{ "Period":"3", "Type":"SIMPLE", "Unit":"JOBS" } }
Input Advanced weekly retention policy {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "RetentionPolicySettings":{ "Period":"3", "Type":"ADVANCED", "Unit":"JOBS", "AdvancedRetentionPolicyList":[{
www.ahsay.com 113
"Id":"1498792367943", "Type":"WEEKLY", "NumbersToKeep":"3", "Mon":"true" }] } }
Input Advanced daily retention policy {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "RetentionPolicySettings":{ "Type":"ADVANCED", "AdvancedRetentionPolicyList":[{ "Id":"1498792738486", "Type":"DAILY", "NumbersToKeep":"3", }] } }
Input Advanced weekly retention policy
Input Advanced weekly retention policy {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "RetentionPolicySettings":{ "Period":"3", "Type":"ADVANCED", "Unit":"JOBS", "AdvancedRetentionPolicyList":[{ "Id":"1498792367943", "Type":"WEEKLY", "NumbersToKeep":"3", "Mon":"true" }] } }
Input Advanced monthly retention policy {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "RetentionPolicySettings":{ "Type":"ADVANCED", "AdvancedRetentionPolicyList":[{ "Id":"1498792747423", "Type":"MONTHLY", "Day":"12", "NumbersToKeep":"3", }] } }
Input Advanced custom retention policy {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "RetentionPolicySettings":{ "Type":"ADVANCED", "AdvancedRetentionPolicyList":[{
www.ahsay.com 114
"Id":"1498792796814", "Type":"CUSTOM", "Month":5, "Day":1, "Year":2016, }] } }
Input Bandwidth Control Settings {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "BandwidthControlSettings":{ "Enabled":true, "Mode":"Share", "BandwidthControlList":[ { "Name":"ban1", "Id":"1498795406838", "MaxTransferRateInBitsPerSec":"25600000", } ] } }
Input FilterSettings {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "FilterSettings":{ "Enabled":true, "FilterList":[ { "Name":"update", "Id":"1498795942916", "TopDir":"C:\\test", "ApplyToDir":"false", "PatternList":[ {"Pattern":".txt"}, {"Pattern":".png"} ] } ] } }
Input Daily schedule and custom schdelue settings {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "ScheduleSettings":{ "Enable":true, "DailyScheduleList":[{ "Id":"1498800708798", "Hour":12, "Minute":30 }], "CustomScheduleList":[{ "Id":"1498801790021", "Hour":12, "Minute":30, "Date":"2017-07-01"
www.ahsay.com 115
}] } }
Output {"Status":"OK"}
Input Try to update opendirect setting {
"SysUser":"system", "SysPwd":"system", "LoginName":"test", "BackupSetID":"1498728005287", "EnableOpenDirect":false }
Output OK but nothing changed {"Status":"OK"}
Note: Once opendirect setting is configured when creating backupset, it cannot be changed . If you want to change this setting, the only to way is to create a whole new backup set.
4.2.2 AddSelectSrc
This API allows you to add additional source to a backupset.
The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Source]
URL: http://BACKUP_SERVER/obs/api/json/AddSelectSrc.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String User name
BackupSetID String Obtainable in ListBackupsets API
NewSelectedSrc Array of SourceBean
Special characters for JAVA must be escaped, for example, “\” must be replaced with “\\”
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: SourceBean
Key Type Descriptions Src String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383821",
www.ahsay.com 116
"NewSelectedSrc":{"Src":"C:\\New1" } }
Output {"Status":"OK"}
Input Do not escape special characters { "SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383821", "NewSelectedSrc":{"Src":"C:\New1" } }
Output { "Status": "Error", "Message": "java.lang.NullPointerException", "ExptType": "java.lang.NullPointerException" }
4.2.3 RemoveSelectSrc
This API allows you to remove selected source from a backupset. Running that backup set again will no longer backup those file from the removed source. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Source]
URL: http://BACKUP_SERVER/obs/api/json/RemoveSelectSrc.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
Src Array of String
Special characters for JAVA must be escaped, for example, “\” must be replaced with “\\”
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "Src": "C:\\New1" }
Output {"Status":"OK"}
www.ahsay.com 117
4.2.4 AddDeselectSrc
This API allows you to add deselected source to a backupset. Running that backupset will no longer backup files from deselected source. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Source]
URL: http://BACKUP_SERVER/obs/api/json/AddDeselectSrc.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
NewDeselectedSrc Array of SourceBean
Special characters for JAVA must be escaped, for example, “\” must be replaced with “\\”
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: SourceBean
Key Type Descriptions Src String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383821", "NewDeselectedSrc":{"Src":"C:\\New2" } }
Output {"Status":"OK"}
www.ahsay.com 118
4.2.5 RemoveDeselectSrc
This API allows you remove deselected source from a backupset. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Source]
URL: http://BACKUP_SERVER/obs/api/json/RemoveDeselectSrc.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupset API
Src Array of String
Special characters for JAVA must be escaped, for example, “\” must be replaced with “\\”
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "Src": "C:\\New2" }
Output {"Status":"OK"}
4.2.6 AddSchedule
This API creates new backup schedule settings on a backup set. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Backup Schedule]
URL: http://BACKUP_SERVER/obs/api/json/AddSchedule.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
www.ahsay.com 119
Name String Schedule name
Type String The value can be one of the following: DAILY WEEKLY MONTHLY CUSTOM
BackupType String The value can be empty, or one of the following: DATABASE DIFFERENTIAL LOG SKIP POWEROFF For Oracle and Lotus Domino backup set, the value must be DATABASE or LOG For MS SQL Server backup set, the value must be DATABASE or DIFFERENTIAL For Exchange Server (Exchange 2003) backup set and Shadow Protect backup set, the value must be DATABASE, DIFFERENTIAL, or LOG For Exchange Server backup set (Exchange 2007 or above), the value must be DATABASE or LOG For VMware backup sets, if version is VMware Server 1 or VMware Player, the value must be SKIP or POWEROFF
Time TimeBean
FullBackup Boolean If it is true, the schedule backup will run until full backup completed. Otherwise, it will be stopped after the duration specified in key “Duration” of the TimeBean in key “Time”
BackupInterval Integer
SpaceFreeUpEnabled Boolean Remove obsolete files according to retention policy from backup destination according to retention policy
SkipBackupEnabled Boolean
WeekSchedule WeekSchedule Mandatory for weekly schedule
MonthSchedule MonthSchedule Mandatory for monthly schedule
CustomSchedule CustomSchedule Mandatory for custom schedule
MonthlyDateType String Mandatory for monthly schedule. The value can be one of the following: DATE CRITERIA
Period String (Optional) The following values can be set: AM PM If the parameter “Period” is specified as AM or PM then the parameter “Hour” is in 12-hour format. “1”, “2”,...“12” can be set. If the parameter ”Period” is not specified, then the parameter “Hour” will default to 24-hour format. “0”, “1”... “23” can be set.
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: TimeBean
Key Type Descriptions Hour Integer
Minute Integer
www.ahsay.com 120
Duration Integer (optional) If no value is specified default value = -1 The value can be one of the following: until full backup completed = -1 stop backup after xx hours = 1 to 24
WeekSchedule
Key Type Descriptions Sun Boolean
Mon Boolean
Tue Boolean
Wed Boolean
Thu Boolean
Fri Boolean
Sat Boolean
MonthSchedule
Key Type Descriptions Occurrence String The value can be one of the following:
First Second Third Fourth Last
Criteria The value can be one of the following: Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday Weekend
Date Integer
CustomSchedule
Key Type Descriptions Year Integer In yyyy format
Month Integer In MM format
Day Integer In dd format
Example: Input Daily schedule {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462500845713", "Name":"DAILYTEST", "Type":"DAILY", "FullBackup":true, "Time" : { "Hour":21, "Minute":30 }, "SpaceFreeUpEnabled":true, "SkipBackupEnabled":true }
Output {"Status":"OK"}
Input Weekly schedule {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user",
www.ahsay.com 121
"BackupSetID": "1462500845713", "Name":"WEEKLYTEST", "Type":"WEEKLY", "FullBackup":true, "Time" : { "Hour":08, "Minute":00 }, "SpaceFreeUpEnabled":true, "SkipBackupEnabled":true, "WeekSchedule": { "Sun":true, "Mon":true, "Tue":true, "Wed":false, "Thu":false, "Fri":true, "Sat":true } }
Output {"Status":"OK"}
Input Monthly schedule {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462500845713", "Name":"MONTHLYTEST", "Type":"MONTHLY", "FullBackup":true, "Time" : { "Hour":19, "Minute":15 }, "SpaceFreeUpEnabled":true, "SkipBackupEnabled":true, "MonthSchedule": { "Occurrence":"First", "Criteria":"Friday" }, "MonthlyDateType":"CRITERIA" }
Output {"Status":"OK"}
Input Custom schedule {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462500845713", "Name":"CUSTOMTEST", "Type":"CUSTOM", "FullBackup":true, "Time" : { "Hour":22, "Minute":45 }, "SpaceFreeUpEnabled":true, "SkipBackupEnabled":true, "CustomSchedule": { "Year":2016, "Month":06, "Day":12 } }
Output {"Status":"OK"}
www.ahsay.com 122
4.2.7 UpdateSchedule
This API updates the backup schedule settings on a backup set. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Backup Schedule]
URL: http://BACKUP_SERVER/obs/api/json/UpdateSchedule.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
ID String Schedule ID Obtainable in GetBackupset API
Name String Schedule name
Type String The value can be one of the following: DAILY WEEKLY MONTHLY CUSTOM
BackupType String The value can be empty, or one of the following: DATABASE DIFFERENTIAL LOG SKIP POWEROFF For Oracle and Lotus Domino backup set, the value must be DATABASE or LOG For MS SQL Server backup set, the value must be DATABASE or DIFFERENTIAL For Exchange Server (Exchange 2003) backup set and Shadow Protect backup set, the value must be DATABASE, DIFFERENTIAL, or LOG For Exchange Server backup set (Exchange 2007 or above), the value must be DATABASE or LOG For VMware backup sets, if version is VMware Server 1 or VMware Player, the value must be SKIP or POWEROFF
Time TimeBean If it is true, the schedule backup will run until full backup completed. Otherwise, it will be stopped after the duration specified in key “Duration” of the TimeBean in key “Time”.
FullBackup Boolean Enable to backup all files
BackupInterval Integer
SpaceFreeUpEnabled Boolean Remove obsolete files according to retention policy from backup destination according to retention policy
SkipBackupEnabled Boolean
WeekSchedule WeekSchedule
Mandatory for weekly schedule
MonthSchedule MonthSchedule
Mandatory for monthly schedule
www.ahsay.com 123
CustomSchedule CustomSchedule
Mandatory for custom schedule
MonthlyDateType String Mandatory for monthly schedule. The value can be one of the following: DATE CRITERIA
Period String (Optional) The following values can be set: AM PM If the parameter “Period” is specified as AM or PM then the parameter “Hour” is in 12-hour format. “1”, “2”,...“12” can be set. If the parameter ”Period” is not specified, then the parameter “Hour” will default to 24-hour format. “0”, “1”... “23” can be set.
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: TimeBean
Key Type Descriptions Hour Integer
Minute Integer
Duration Integer (optional) If no value is specified default value = -1 The value can be one of the following: until full backup completed = -1 stop backup after xx hours = 1 to 24
WeekSchedule
Key Type Descriptions Sun Boolean
Mon Boolean
Tue Boolean
Wed Boolean
Thu Boolean
Fri Boolean
Sat Boolean
MonthSchedule
Key Type Descriptions Occurrence String The value can be one of the following:
First Second Third Fourth Last
Criteria The value can be one of the following: Sunday Monday Tuesday Wednesday Thursday Friday Saturday Weekday Weekend
Date Integer
CustomSchedule
www.ahsay.com 124
Key Type Descriptions Year Integer In yyyy format
Month Integer In MM format
Day Integer In dd format
Example: Input Daily schedule {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462500845713", "ID":"1500412193490", "Name":"DAILYTEST", "Type":"DAILY", "FullBackup":true, "Time" : { "Hour":21, "Minute":30 }, "SpaceFreeUpEnabled":true, "SkipBackupEnabled":true }
Output {"Status":"OK"}
Input Weekly schedule {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462500845713", "ID":"1500412193490", "Name":"WEEKLYTEST", "Type":"WEEKLY", "FullBackup":true, "Time" : { "Hour":08, "Minute":00 }, "SpaceFreeUpEnabled":true, "SkipBackupEnabled":true, "WeekSchedule": { "Sun":true, "Mon":true, "Tue":true, "Wed":false, "Thu":false, "Fri":true, "Sat":true } }
Output {"Status":"OK"}
Input Monthly schedule {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462500845713", "Name":"MONTHLYTEST", "Type":"MONTHLY", "FullBackup":true, "Time" : { "Hour":19, "Minute":15 }, "SpaceFreeUpEnabled":true, "SkipBackupEnabled":true, "MonthSchedule": {
www.ahsay.com 125
"Occurrence":"First", "Criteria":"Friday" }, "MonthlyDateType":"CRITERIA" }
Output {"Status":"OK"}
Input Custom schedule {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462500845713", "ID":"1500412193490", "Name":"CUSTOMTEST", "Type":"CUSTOM", "FullBackup":true, "Time" : { "Hour":22, "Minute":45 }, "SpaceFreeUpEnabled":true, "SkipBackupEnabled":true, "CustomSchedule": { "Year":2016, "Month":06, "Day":12 } }
Output {"Status":"OK"}
www.ahsay.com 126
4.2.8 RemoveSchedule
This API removes a schedule from a backupset. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Backup Schedule]
URL: http://BACKUP_SERVER/obs/api/json/RemoveSchedule.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
ID String Schedule ID Obtainable in GetBackupset API
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462500845713", "ID":"1462954693866" }
Output {"Status":"OK"}
www.ahsay.com 127
4.2.9 AddFilter
This API allows you to add filter to the bakcup source of a backupset. You can choose to include or exclude files which match a specific pattern.
The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Source] > Enable Apply filter to the backup source
URL: http://BACKUP_SERVER/obs/api/json/AddFilter.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupset API
Name String Filter name
TopDir String Appying the filter to this specific folder
Type String The value can be one of the following: DEFAULT CUSTOM
Include Boolean For each of the matched files/folders under top directory: Exclude or include them
Only Boolean If it is set to true, it will not include all unmatched files/folders If it is set to false, it will include all unmatched files/folders
Apply2Dir Boolean Apply filter to files
Apply2File Boolean Apply filter to folders
Patterns Array of PatternBean
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: PatternBean
Key Type Descriptions Pattern String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "Name": "filter1", "TopDir": "C:\\test", "Type": "DEFAULT", "Include": false, "Only": true, "Apply2Dir": true, "Apply2File": true, "Patterns": [ { "Pattern": ".txt" }, { "Pattern": ".png"
www.ahsay.com 128
} ] }
Output {"Status":"OK"}
4.2.10 UpdateFilter
This API update setting of a filter from a backup set. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Backup Schedule]
URL: http://BACKUP_SERVER/obs/api/json/UpdateFilter.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
ID String Filter ID, Obtainable in GetBackupset API
Name String Filter name
TopDir String Appying the filter to this specific folder
Type String The value can be one of the following: DEFAULT CUSTOM
Include Boolean For each of the matched files/folders under top directory: Exclude or include them
Only Boolean If it is set to true, it will not include all unmatched files/folders If it is set to false, it will include all unmatched files/folders
Apply2Dir Boolean Apply filter to files
Apply2File Boolean Apply filter to folders
Patterns Array of PatternBean
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: PatternBean
Key Type Descriptions Pattern String
Example: Input Update the name {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "ID": "1462435805951", "Name": "filter2updated", }
Output {"Status":"OK"}
www.ahsay.com 129
Input Update the pattern {
"SysUser":"system", "SysPwd":"system", "LoginName":"opendirect", "BackupSetID": "1497925931498", "ID": "1497945864738", "Name": "testupdated", "Patterns": [ { "Pattern": ".txt123" }, { "Pattern": ".png123" } ] }
Output {
"Status": "OK" }
4.2.11 RemoveFilter
This API removes a filter from a backup set The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set> [Backup Schedule]
URL: http://BACKUP_SERVER/obs/api/json/RemoveFilter.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
ID String Filter Obtainable in GetBackupset API
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "ID": "1462435805951" }
Output {"Status":"OK"}
www.ahsay.com 130
4.2.12 AddBackupSet
This API allows you to create a new backupset in a user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set]
URL: http://BACKUP_SERVER/obs/api/json/AddBackupSet.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetName String Name of the new backup set
BackupSetType String Backup type of the new backup set The value can be set to one of the following: FILE Cloud File Lotus Domino Lotus Notes Microsoft Exchange Server Microsoft Exchange Mail (MAPI) Microsoft SQL Server Microsoft Windows Virtualization Microsoft Windows System Backup MySQL Oracle Database Server ShadowProtect Bare Metal System State VMware Virtualization Office 365 Exchange Online Default value is FILE if BackupSetType is not specified
BackupMode String Mandatory for BackupSetType = “Microsoft SQL Server”
Backup mode of MSSQL backup set 0: VSS 1: ODBC (for v7.11.0.0 or above)
VmVersion String Mandatory for BackupSetType = “VMware Virtualization” The value for be set to one of the following APPVERSION_ESX_V2 (VMware ESX 4) APPVERSION_ESXI_V2 (VMware ESXi 4 or above) APPVERSION_VMSERVER1 (VMware Server 1) APPVERSION_VMSERVER2 (VMware Server 2) APPVERSION_WORKSTATION ( VMware Workstation 6 / 6.5 / 7) APPVERSION_WORKSTATION8 (VMware Workstation 8 or above) APPVERSION_PLAYER (VMware Player 3 / 4 / 5 / 6 / 7 / VMware Workstation Player 12) APPVERSION_FUSION (VMware Fusion 3 / 4) APPVERSION_FUSION5 (VMware Fusion 5 / 6 / 7 / 8) APPVERSION_VCENTER_V2 (VMware vCenter 4 or above)
MsVmVersion String Mandatory for BackupSetType = "Microsoft Windows
Virtualization” The value can be set to one of the following: Microsoft Hyper-V Server
www.ahsay.com 131
Microsoft Hyper-V Server R2 Microsoft Hyper-V Server R2 (Failover Cluster) Microsoft Hyper-V Server 2012 Microsoft Hyper-V Server 2012 (Failover Cluster) Microsoft Hyper-V Server 2012 R2 Microsoft Hyper-V Server 2012 R2 (Failover Cluster) Microsoft Hyper-V Server 2016 R2 (for 7.11.0.0 or above) Microsoft Hyper-V Server 2016 R2 (Failover Cluster) (for 7.11.0.0 or above)
Version String Mandatory for BackupSetType = “Microsoft Exchange Server” The value can be set to one of the following: 8 (MS Exchange Server 2007) 14 (MS Exchange Server 2010) 15 (MS Exchange Server 2013) 15.1 (MS Exchange Server 2016) DAG (MS Exchange Server 2010 (DAG)) (for 7.7.0.0 or above) DAG13 (MS Exchange Server 2013 (DAG)) DAG16 (MS Exchange Server 2016 (DAG)) (for 7.7.0.0 or above)
MsMAPIExVersion String Mandatory for BackupSetType = “Microsoft Exchange Mail (MAPI)” The value can be set to one of the following: 8 (MS Exchange Server 2007) 14 (MS Exchange Server 2010) 15 (MS Exchange Server 2013) 15.1 (MS Exchange Server 2016) (for v7.15.0.0 or above) DAG (MS Exchange Server 2010 (DAG)) DAG13 (MS Exchange Server 2013 (DAG)) DAG16 (MS Exchange Server 2016 (DAG)) (for v7.15.0.0 or above)
EncryptionType String Available for AhsayCBS on 7.7.2.24 or above Encryption type of a new backup set The value can be set to one of the following: 1. “DEFAULT” 2. “PASSWORD” (for AhsayCBS & AhsayOBM/AhsayACB on 7.11.0.0 or above) 3. “CUSTOM” 4. “” = No Encryption If the Encryption Type is not provided to the API = Encryption type not defined, This require the end user to define the Encryption type in the AhsayOBM/AhsayACB client for the backup set. If the EncryptionType = PASSWORD the BackupUserPassword must be specified.
BackupUserPassword String Available for AhsayCBS & AhsayOBM/AhsayACB on 7.11.0.0 or above Used when EncryptionType = PASSWORD The BackupUserPassword must match with the existing user login password on the AhsayOBM/AhsayACB user account. Otherwise return error "The Backup User Password does not match with the existing user password"
Algorithm String Available for AhsayCBS on 7.7.2.24 or above Encryption algorithm of the new backup set The value can be set to one of the following: Twofish DESede AES
www.ahsay.com 132
Default to AES if not provided
Method String Available for AhsayCBS on 7.7.2.24 or above Encryption method of the new backup set The value can be set to one of the following ECB CBC Default to CBC if not provided
Length String Available for AhsayCBS on 7.7.2.24 or above Encryption key length (128-bit / 256-bit) The value can be set to one of the following: 128 256 Default to 256 if not provided
Key String Available for AhsayCBS on 7.7.2.24 or above Encryption key of the backup set The value cannot be empty
RunOnServer Boolean Run on Server setting for Cloud File and Office 365 mail backup set If this setting is set to “True”, “EncryptionType” cannot be set to empty.
DestinationList Array of Destination
Available for AhsayCBS on 7.9.2.8 or above (Optional)
EnableOpenDirect Boolean Enable the feature of open direct. Note: Once it is enabled or disabled , it cannot be changed later on.
Return Values: Key Type Descriptions Status String “OK” or “Error”
BackupSetID String Backup Set ID of the created backup set
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects:
Destination Key Type Descriptions Type String The value can be one of the following:
OBS
Local
Name String (optional) If blank and the Type=OBS” the default value for the Name is “CBS”. If blank and the Type=”Local” ” the default value for the Name is “Local”.
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetName":"Test_Name", "BackupSetType":"FILE", "EncryptionType":"CUSTOM", "Algorithm":"AES", "Method":"ECB", "Length":"256", "Key":"123456", "DestinationList": [
www.ahsay.com 133
{ "Name":"dest_CBS", "Type":"OBS", }, { "Name":"dest_Local", "Type":"Local", "TopDir":"D:\\test" } ] }
Output {
"Status": "OK","BackupSetID": "1487661755456" }
4.2.13 AddAllowedIP
This API allows you to add a range of IP of users which are allowed to perform restore in their computers. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] > Choose a backup set >[IP Allowed for Restore]
URL: http://BACKUP_SERVER/obs/api/json/AddAllowedIP.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
NewAllowedIP AllowedIPBean
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: AllowedIPBean
Key Type Descriptions StartIP String
EndIP String
Example: Input
www.ahsay.com 134
{ "SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "NewAllowedIP": { "StartIP": "1.1.1.1", "EndIP": "255.255.255.255" } }
Output {"Status":"OK"}
4.2.14 RemoveAllowedIP
This API allows you to remove a IP range from the allowed IP list. Users whose ip is not in the allowed ip list are not able to perform restore in their computers. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] > Choose a backup set >[IP Allowed for Restore]
URL: http://BACKUP_SERVER/obs/api/json/RemoveAllowedIP.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
AllowedIP String ID of allowed IP to remove
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "AllowedIP": "1462437395739" }
Output {"Status":"OK"}
4.2.15 DeleteBackupData
This API only works for backups from version 6 or older backup clients.
www.ahsay.com 135
URL: http://BACKUP_SERVER/obs/api/json/DeleteBackupData.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Either backup set ID or backup set name should be provided
BackupSetName String Either backup set ID or backup set name should be provided
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
4.2.16 DeleteBackupFile
This API only works for backups from version 6 or older backup clients.
URL: http://BACKUP_SERVER/obs/api/json/DeleteBackupFile.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetName String Backup set name
InBackupJob String Backup Job ID
Path String Path to the backup files
Type String The value can be one of the following: F D I
BackupByJob String Backup Job ID
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
4.2.17 DeleteBackupSet
This API allows you to delete a backup set of a user.
www.ahsay.com 136
URL: http://BACKUP_SERVER/obs/api/json/DeleteBackupSet.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Backup set ID
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example 1: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1462500608140" }
Output {"Status":"OK"}
Example 2: Backup Set contains non-AhsayCBS destination Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user1", "BackupSetID":"146251678140" }
Output {"Status":"Error","Message":"Cannot delete the backup set 'default-backup-set-name-1(1497858269570)' because the
standard destination 'DestinationPool-1' is used. Please delete the backup set via backup client console.","ExptType":"com.ahsay.obs.core.dbs.c"}
Example 3: Login name does not exist or incorrect Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user12", "BackupSetID":"146251678140" }
Output {"Status":"Error","Message":"[UserCacheManager.NoSuchUserExpt] User 'user12' not
found.","ExptType":"com.ahsay.obs.core.dbs.Y"}
Example 4: Backup Set ID is in correct Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user12", "BackupSetID":"146251678140" }
Output {"Status":"Error","Message":"Backup set '1497858261234' not found","ExptType":"com.ahsay.obs.core.dbs.c"}
www.ahsay.com 137
4.2.18 GetBackupJobProgress
This API allows you to get the information of a backup job. The related settings can be found on the AhsayCBS web console:
[Monitoring]>[Backup/Restore Logs]> [Backup Jobs]
URL: http://BACKUP_SERVER/obs/api/json/GetBackupJobProgress.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListbackupSets API
DestinationID String Obtainable in GetbackupSets API
BackupJobID String Obtainable in GetbackupSets API
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Record
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Record
Key Type Descriptions ID String
LoginName String Client user name
Owner String
UserId String
StartTime String In yyyy-MM-dd HH:mm:ss format
EndTime String In yyyy-MM-dd HH:mm:ss format
BackupSetID String
BackupSetName String
CurrentFilename String
FileUploadTime String In yyyy-MM-dd HH:mm:ss format
CurrentFileCount String
TotalFileCount String
UploadedFileSize String
TotalFileSize String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "DestinationID": "1462437395739", “BackupJobID”:” 2017-06-16-13-59-40” }
Output {
"Status": "OK", "Data": { "TotalFileCount": "35", "CurrentFilename": "", "Owner": "", "UploadedFileSize": "55920392", "TotalFileSize": "55920392", "LoginName": "opendirect", "ID": "2017-06-16-13-59-40",
www.ahsay.com 138
"BackupSetName": "default-backup-set-name-1", "EndTime": "2017-06-16 14:00:24", "BackupSetID": "1497592595428", "StartTime": "2017-06-16 13:59:41", "UserId": "opendirect", "CurrentFileCount": "0", "FileUploadTime": "" } }
4.2.19 GetBackupSet
This API allows you to get the settings of a backup set.
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set] >Choose a backup set
URL: http://BACKUP_SERVER/obs/api/json/GetBackupSet.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Backup Set
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Backup Set Refer to the input parameters of UpdateBackupSet API
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383821" }
Output {
"Status": "OK", "Data": { "CloudName": "", "ProxySettings": null, "ReminderSettings": { "ReadOnly": false, "BackupIntervalHour": 0, "OfflineNotificationDay": 7, "AllowMultiple": false, "OfflineBackupEnabled": false, "OfflineBackupReminderComputerName": "", "Id": "", "BackupIntervalDay": 1, "ShowOfflineBackupReminder": true, "LogoutBackupReminderEnabled": false, "KeyName": "com.ahsay.obx.cxp.obs.ReminderSettings", "LogoutBackupReminderComputerName": "" },
www.ahsay.com 139
"InFileDeltaSettings": { "ReadOnly": false, "WeeklyInFileDeltaSchedule": { "Day": [ "", "", "", "", "", "", "" ] }, "Enabled": true, "MinDeltaFileSize": 26214400, "MaxNumOfDelta": 100, "MaxDeltaRatio": 50, "AllowMultiple": false, "MonthlyInFileDeltaSchedule": { "Date": 0, "Criteria": "Friday", "Month": [ "", "", "", "", "", "", "", "", "", "", "", "" ], "Occurrence": "First" }, "UploadFullIfGenDeltaFailed": true, "Id": "", "DeltaBlockSize": -1, "DeltaMergeEnabled": false, "DefaultDeltaType": "I", "KeyName": "com.ahsay.obx.cxp.cloud.InFileDeltaSettings" }, "CompressType": "", "EnsureTopDirExistenceInLogin": true, "UploadPermission": true, "ApplicationSupportOpenDirect": true, "AllowedIPList": [ { "ReadOnly": false, "AllowMultiple": true, "Id": "1434946034908", "StartIP": "0.0.0.0", "KeyName": "com.ahsay.obx.cxp.obs.AllowedIP", "EndIP": "255.255.255.255" } ], "Delete": false, "EncryptionKey": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", "RunBackupSettings": { "ReadOnly": false, "Enabled": false, "AllowMultiple": false, "BackupType": "", "DestinationIDList": [], "Id": "", "BackupJobID": "", "KeyName": "com.ahsay.obx.cxp.cloud.RunBackupSettings" }, "OpenDirectEnabled": true, "ApplicationSupportHyperVRunDirect": false, "DeltaType": "I", "CdpSettingsV6": { "ReadOnly": false,
www.ahsay.com 140
"Attributes": [], "ValueSize": 9, "SubKeySize": 1, "NestedValues": [], "AttributeSize": 0, "BackupType": "", "Type": "all-volume", "MinUpdateInterval": 10, "TimeMarkInterval": 60, "Priority": -1, "MaxFileSize": -1, "ComputerName": "", "AllowMultiple": true, "SubKeys": [ { "ConsiderCpuUsage": false, "ObserveInputForSecond": 60, "CpuUsage": 5, "ConsiderNetworkTraffic": false, "NetworkTraffic": 131072, "ConsiderInput": false } ], "Enable": false, "ExcludeSystemFiles": true, "FilterList": [], "InheritParentAttribs": false, "Content": "", "CdpBackupControlSettings": { "ConsiderCpuUsage": false, "ObserveInputForSecond": 60, "CpuUsage": 5, "ConsiderNetworkTraffic": false, "NetworkTraffic": 131072, "ConsiderInput": false }, "Version": "v6", "SelectedSourceList": [], "KeyName": "com.ahsay.obx.cxp.obs.CdpSettings" }, "CdpSettingsV7": { "ReadOnly": false, "Attributes": [], "ValueSize": 9, "SubKeySize": 1, "NestedValues": [], "AttributeSize": 0, "BackupType": "", "Type": "all-volume", "MinUpdateInterval": 10, "TimeMarkInterval": 60, "Priority": -1, "MaxFileSize": -1, "ComputerName": "", "AllowMultiple": true, "SubKeys": [ { "ConsiderCpuUsage": false, "ObserveInputForSecond": 60, "CpuUsage": 5, "ConsiderNetworkTraffic": false, "NetworkTraffic": 131072, "ConsiderInput": false } ], "Enable": false, "ExcludeSystemFiles": true, "FilterList": [], "InheritParentAttribs": false, "Content": "", "CdpBackupControlSettings": { "ConsiderCpuUsage": false, "ObserveInputForSecond": 60, "CpuUsage": 5, "ConsiderNetworkTraffic": false,
www.ahsay.com 141
"NetworkTraffic": 131072, "ConsiderInput": false }, "Version": "v7", "SelectedSourceList": [], "KeyName": "com.ahsay.obx.cxp.obs.CdpSettings" }, "Version7Checked": true, "ApplicationSettings": { "ReadOnly": false, "AllowMultiple": false, "WindowsOutlook": false, "@class": "com.ahsay.obx.cxp.cloud.FileSettings", "WindowsOutlookExpress": false, "WindowsDesktop": false, "Id": "", "Version": "", "WindowsMyDocuments": false, "WindowsMail": false, "WindowsFavourites": false, "WindowsLiveMail": false, "KeyName": "com.ahsay.obx.cxp.cloud.FileSettings" }, "class": "com.ahsay.obx.cxp.obs.BackupSet", "ReadOnlySourceList": [], "FilterSettings": { "ReadOnly": false, "Enabled": false, "AllowMultiple": false, "FilterList": [], "Id": "", "KeyName": "com.ahsay.obx.cxp.obs.FilterSettings" }, "ScheduleSettings": { "ReadOnly": false, "ComputerName": "", "CustomScheduleList": [], "AllowMultiple": false, "Enable": false, "WeeklyScheduleList": [], "MonthlyScheduleList": [], "DailyScheduleList": [ { "ReadOnly": false, "Exact": true, "@class": "com.ahsay.obx.cxp.obs.DailySchedule", "BackupInterval": -1, "BackupType": "", "V6BackupType": "", "LastUpdateTime": 1496974288546, "SkipBackupEnabled": false, "Name": "Backup Schedule", "AllowMultiple": true, "Hour": 21, "SpaceFreeUpEnabled": false, "Duration": -1, "Minute": 0, "Id": "1496974288546", "KeyName": "com.ahsay.obx.cxp.obs.DailySchedule" } ], "Id": "", "KeyName": "com.ahsay.obx.cxp.obs.ScheduleSettings" }, "EncryptionSettings": { "ReadOnly": false, "KeyType": "hash", "AllowMultiple": false, "KeyLength": 128, "Key": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", "Type": "DEFAULT", "Id": "", "Algorithm": "", "Mode": "", "KeyName": "com.ahsay.obx.cxp.cloud.EncryptionSettings"
www.ahsay.com 142
}, "Os": "", "DestinationSettings": { "ReadOnly": false, "AllowMultiple": false, "MaxDestination": 1, "ConcurrencyLevel": 1, "Id": "", "DestinationList": [], "KeyName": "com.ahsay.obx.cxp.obs.DestinationSettings" }, "Id": "1497251840402", "ReadOnlySelectedSourceKeyList": [], "BackupJobName": "2017-06-12-15-23-00", "LogoutType": "", "EnableBackupEFSFile": true, "DeleteTempFile": true, "ShadowCopyEnabled": true, "EffectiveFilterList": [], "TotalQuota": 0, "LanPassword": "", "Type": "FILE", "LogRetentionDays": 60, "NoBackupSourceSelected": false, "TotalUploaded": 0, "ApplicationSupportVMwareRunDirect": false, "ClientVersion": "", "WorkingDir": "${sys.user.home}/.temp", "AllHostClientVersion": null, "LanUsername": "", "RunOnServer": false, "PreCommandList": [], "SettingsMigrated": true, "TimeZone": "Asia/Hong_Kong", "SelectedSourceList": [ "${sys.user.home}" ], "DisplayedDestination": null, "LocalCopySettings": { "ReadOnly": false, "Enabled": false, "DestinationPath": "/LocalBackup", "AllowMultiple": false, "SetPermission": false, "Id": "", "SkipOffsiteBackup": false, "Zip": false, "LocalCopyRetentionPolicySettings": { "ReadOnly": false, "Period": 7, "Enabled": true, "AllowMultiple": false, "Id": "", "Unit": "DAYS", "KeyName": "com.ahsay.obx.cxp.obs.LocalCopyRetentionPolicySettings" }, "KeyName": "com.ahsay.obx.cxp.obs.LocalCopySettings" }, "VerifyBucketLocationInLogin": true, "RetentionPolicySettings": { "ReadOnly": false, "Period": 7, "AllowMultiple": false, "OverlapSensitive": false, "Type": "SIMPLE", "Id": "", "AdvancedRetentionPolicyList": [], "Unit": "DAYS", "KeyName": "com.ahsay.obx.cxp.cloud.RetentionPolicySettings" }, "DefaultBSetSettings": { "ReadOnly": false, "Owner": "", "EnfBSet": false, "AllowMultiple": false,
www.ahsay.com 143
"Category": "", "DefBSet": false, "Id": "", "KeyName": "com.ahsay.obx.cxp.obs.DefaultBSetSettings" }, "Owner": null, "PostCommandList": [], "LocalFilesBackup": true, "TransferSize": 131072, "BandwidthControlSettings": { "ReadOnly": false, "Enabled": false, "AllowMultiple": false, "BandwidthControlList": [], "Id": "", "Mode": "independent", "KeyName": "com.ahsay.obx.cxp.cloud.BandwidthControlSettings" }, "V6Passwords": { "ReadOnly": false, "AllowMultiple": false, "WinUserAuthPassword": "", "ApplicationPassword": "", "Id": "", "KeyName": "com.ahsay.obx.cxp.obs.V6Passwords" }, "LanDomain": "", "ApplicationSupportRunDirect": false, "FollowLink": true, "DataMigrationSettings": { "ReadOnly": false, "SpaceFreeUpLastAccess": 0, "AllowMultiple": false, "MigrationProgress": { "ReadOnly": false, "NumOfCompletedFiles": 0, "AllowMultiple": false, "TotalNumOfFiles": 0, "Id": "", "CurrentMigratingFilePath": "", "KeyName": "com.ahsay.obx.cxp.obs.MigrationProgressBean" }, "Id": "", "IntegrityCheckLastAccess": 0, "DataMigrationMappingStart": false, "KeyName": "com.ahsay.obx.cxp.obs.DataMigrationSettings" }, "Name": "opendirect - Run on Server - Default", "BackupTypes": [], "ReadOnlyDeselectedSourceKeyList": [], "ResolvedFromDefaultBset": false, "DeselectedSourceList": [], "EffectiveOwner": "-", "UsedQuota": 0 } }
4.2.20 ListBackupFiles
This API only works for backups from version 6 or older backup clients.
URL: http://BACKUP_SERVER/obs/api/json/ListBackupFiles.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
www.ahsay.com 144
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
BackupJobID String Obtainable in GettBackupsets API
Path String Path to the backup files
ListAll Boolean If it is true, all files are listed, starting from root directory
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Array of Backup File
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Backup File
Key Type Descriptions Type String D is for directory, and F is for file
Name String
FullPath String Path to the file
OriginalFileSize Long
FileSize Long
BackupedByJob String
InBackupJob String
LastModified Long
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":”legacyuser01" }
Output {
"Status": "OK", "Data": [ { "Name": "b1", "Type": "FILE", "ID": "1493865532152" } ] }
4.2.21 ListBackupJobMode
This API list all backup jobs information at a date specified. The related settings can be found on the AhsayCBS web console:
[Monitoring]>[Backup/Restore Logs]> [Backup Jobs]
URL: http://BACKUP_SERVER/obs/api/json/ListBackupJobMode.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
www.ahsay.com 145
BackupDate String In yyyy-MM-dd format
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Array of Record
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Record
Key Type Descriptions ID String
LoginName String Client user name
Owner String
UserId String
StartTime String In yyyy-MM-dd HH:mm:ss format
EndTime String In yyyy-MM-dd HH:mm:ss format
BackupSetID String
BacupSetName String
BackupJobMode String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupDate": "2016-05-05" }
Output {"Status":"OK","Data":[{"Owner":"","LoginName":"user","ID":"2016-05-05-13-51-
27","BackupJobMode":"M","BackupSetName":"default-backup-set-name-1","EndTime":"2016-05-05 13:51:58","BackupSetID":"1462427376949","StartTime":"2016-05-05 13:51:28","UserId":"user"}]}
4.2.22 ListBackupJobs
This API shows a basic information of all backup jobs of a user. The related settings can be found on the AhsayCBS web console:
[Monitoring]>[Backup/Restore Logs]> [Backup Jobs]
URL: http://BACKUP_SERVER/obs/api/json/ListBackupJobs.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
SkipEmpty Boolean If it is true, backup set with no files is skipped
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Array of Backup Set
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Backup Set
www.ahsay.com 146
Key Type Descriptions BackupSetID String
Removed Boolean Shows whether the backup set is removed
BackupJob Array of String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user" }
Output {"Status":"OK","Data":[{"BackupJob":["2016-05-05-13-51-27"],"BackupSetID":"1462427376949","Removed":false}]}
4.2.23 ListBackupJobStatus
This API shows detailed information such like destination ID and job status of all backup job at a specific date. The related settings can be found on the AhsayCBS web console:
[Monitoring]>[Backup/Restore Logs]> [Backup Jobs]
URL: http://BACKUP_SERVER/obs/api/json/ListBackupJobStatus.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupDate String In yyyy-MM-dd format
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Array of Record
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Record
Key Type Descriptions ID String
LoginName String Client user name
Owner String
www.ahsay.com 147
UserId String
StartTime String In yyyy-MM-dd HH:mm:ss format
EndTime String In yyyy-MM-dd HH:mm:ss format
BackupJobStatus String Job status. BS_STOP_SUCCESS if successful backup. It varies with the errors found if failed the bacup.
BackupSetID String
BackupSetName String
UploadSize String
RunVersion String
SuccessDatabase String
MissedDatabase String
SuccessVirtualMachine String If backup is VM type, SuccessPublicFolder is returned instead.
MissedVirtualMachine String If backup is VM type, MissedPublicFolder is returned instead.
SuccessPublicFolder String Only returned if backup is VM type
MissedPublicFolder String Only returned if backup is VM type
DestinationID String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupDate": "2016-05-05" }
Output {
"Status":"OK", "Data":[ { "Owner":"", "RunVersion":"7.6.6.0", "MissedPublicFolder":"", "LoginName":"user", "BackupSetName":"default-backup-set-name-1", "MissedDatabase":"", "UserId":"user", "BackupJobStatus":"BS_STOP_SUCCESS", "UploadSize":2815658, "SuccessDatabase":"", "DestinationID":"1462427482126", "ID":"2016-05-05-13-51-27", "EndTime":"2016-05-05 13:51:58", "StartTime":"2016-05-05 13:51:28", "BackupSetID":"1462427376949", "SuccessPublicFolder":"" } ] }
4.2.24 ListBackupSets
This API shows name,type and ID of all backup sets of a user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set]
URL: http://BACKUP_SERVER/obs/api/json/ListBackupSets.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
www.ahsay.com 148
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Array of Backup Set
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Backup Set
Key Type Descriptions ID String
Name String
Type String The value can be one of the following: FILE Cloud File Lotus Domino Lotus Notes Microsoft Exchange Server Microsoft Exchange Mail (MAPI) Microsoft SQL Server Microsoft Windows Virtualization Microsoft Windows System Backup MySQL Oracle Database Server ShadowProtect Bare Metal System State VMware Virtualization Office 365 Exchange Online
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user" }
Output {
"Status":"OK", "Data":[ { "Name":"backupset-test", "Type":"FILE", "ID":"1447039383821" } ] }
4.2.25 RunBackup
This API allows you to run or cancel running a backup set of a user.
URL: http://BACKUP_SERVER/obs/api/json/RunBackup.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
www.ahsay.com 149
BackupSetID String Obtainable in ListBackupsets API
CancelBackup Boolean The default value is false
BackupType String It must be empty for File, MySQL, Lotus Notes, System State, MS Exchange Mail, MS Windows Server 2008, MS VM, VMware, Cloud File, and Office 365 Exchange Online backup sets. It can be one of the following values: DATABASE LOG COPY DIFFERENTIAL INCREMENTAL
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Array of Backup Set
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", “LoginName”:”username”, “BackupSetID”:”1462518403716” }
Output {"Status":"OK"}
4.2.26 AddPreCommand
This API allows you to add pre-backup command to a bakcup set. Added command will run before the backup takes action. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set]> Choose a backup set >[Command Line Tool]
URL: http://BACKUP_SERVER/obs/api/json/AddPreCommand.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
Name String Command Name
WorkingDir String Directory where the command takes place
Command String
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
www.ahsay.com 150
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383821", "Name":"test", "WorkingDir":"test", "Command":"test" }
Output {"Status":"OK"}
4.2.27 UpdatePreCommand
This API updates a precommand from a backup set of a user The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set]> Choose a backup set >[Command Line Tool]
URL: http://BACKUP_SERVER/obs/api/json/UpdatePreCommand.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
ID Long Command ID, Obtainable in GetBackupset API
Name String Command Name
WorkingDir String Directory where the command takes place
Command String
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input Update name {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user",
www.ahsay.com 151
"BackupSetID":"1497925931498", “ID”:” 1497950369669”, "Name":"newname" }
Output {"Status":"OK"}
Example: Input Update command content {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1497925931498", “ID”:” 1497950369669”, "Command":"newcommand" }
Output {"Status":"OK"}
Example: Input Update working directory {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1497925931498", “ID”:” 1497950369669”, "WorkingDir":"newworkingdir" }
Output {"Status":"OK"}
4.2.28 RemovePreCommand
This API removes a precommand from a backup set of a user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set]> Choose a backup set >[Command Line Tool]
URL: http://BACKUP_SERVER/obs/api/json/RemovePreCommand.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
ID String ID of precommand. Obtainable in GetBackupSet API.
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user",
www.ahsay.com 152
"BackupSetID":"1447039383821", "ID":"1447039523357" }
Output {"Status":"OK"}
4.2.29 AddPostCommand
This API adds a post command for a backup set of a user.
The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set]> Choose a backup set >[Command Line Tool]
URL: http://BACKUP_SERVER/obs/api/json/AddPostCommand.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
Name String Command Name
WorkingDir String Directory where the command takes place
Command String
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input
www.ahsay.com 153
{ "SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383821", "Name":"test2", "WorkingDir":"test2", "Command":"test2" }
Output {"Status":"OK"}
www.ahsay.com 154
4.2.30 UpdatePostCommand
This API updates a post command for a backupset of a user. The related settings can be found on the AhsayCBS web console:
[Backup/Restore]>[User, Groups & Policies]> [Backup user]> Choose a user >[Backup Set]> Choose a backup set >[Command Line Tool]
URL: http://BACKUP_SERVER/obs/api/json/UpdatePostCommand.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
ID Long Command ID, Obtainable in GetBackupset API
Name String Command Name
WorkingDir String Directory where the command takes place
Command String
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example:
Input Update name { "SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1497925931498", “ID”:” 1497950369669”, "Name":"newname" }
Output {"Status":"OK"}
Example:
Input Update command content { "SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1497925931498", “ID”:” 1497950369669”, "Command":"newcommand" }
Output {"Status":"OK"}
Example:
Input Update working directory { "SysUser":"api_user", "SysPwd":"abc123$%",
www.ahsay.com 155
"LoginName":"user", "BackupSetID":"1497925931498", “ID”:” 1497950369669”, "WorkingDir":"newworkingdir" }
Output {"Status":"OK"}
4.2.31 RemovePostCommand
This API removes a post command in a backup set of a user
URL: http://BACKUP_SERVER/obs/api/json/RemovePostCommand.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
BackupSetID String Obtainable in ListBackupsets API
ID Long Command ID, Obtainable in GetBackupset API
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID":"1447039383821", "ID":"1447039761786" }
Output {"Status":"OK"}
www.ahsay.com 156
4.3 Report
4.3.1 GetBackupJobReport
This API retrives a detailed report of a particular backup job. The related settings can be found on the AhsayCBS web console:
[Monitoring]>[Backup/Restore Logs]> [Backup Jobs]
URL: http://BACKUP_SERVER/obs/api/json/GetBackupJobReport.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name . To remove multiple users, join their login names, separated with “*”
Owner String To remove multiple users, join their owner, separated with “*”
BackupSetID String Obtainable in GetBackupset API
DestinationID String For backup run by OBM v6 or older, this parameter can be omitted. For backup run by OBM 7, this parameter must be provided to get correct result.
BackupJobID String Obtainable in GetBackupset API
Cdp Boolean
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Report
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Report
Key Type Descriptions ID String
StartTime String In yyyy-MM-dd HH:mm:ss format
EndTime String In yyyy-MM-dd HH:mm:ss format
BackupJobStatus String Job status. BS_STOP_SUCCESS if successful backup. It varies with the errors found if failed the bacup.
NumOfWarnEntries Long
NumOfErrorEntries Long
NumOfNewFiles Long
TotalNewFilesSize Long
TotalUnzipNewFilesSize Long
NewFilesZipRatio Long
NumOfUpdatedFiles Long
TotalUpdatedFilesSize Long
TotalUnzipUpdatedFilesSize Long
UpdatedFilesZipRatio Long
NumOfUpdatedPermissionFiles
Long
TotalUpdatedPermissionFileSize
Long
TotalUnzipUpdatedPermissionFilesSize
Long
UpdatedPermissionFilesZipRatio
Long
NumOfDeletedFiles Long
TotalDeletedFilesSize Long
TotalUnzipDeletedFilesSize Long
DeletedFilesZipRatio Long
www.ahsay.com 157
NumOfMovedFiles Long
TotalMovedFilesSize Long
TotalUnzipMovedFilesSize Long
MovedFilesZipRatio Long
SuccessDatabase Long This key does not exist in VM backup
MissedDatabase Long This key does not exist in VM backup
SuccessVirtualMachine Long This key exists in VM backup only
MissedVirtualMachine Long This key exists in VM backup only
SuccessPublicFolder Long
MissedPublicFolder Long
info Array of InfoLog
new Array of FileLog
upd Array of FileLog
pmt Array of FileLog
del Array of FileLog
mov Array of MoveLog
cpy Array of FileLog
InfoLog
Key Type Descriptions Type String
LogType String
Timestamp String In yyyy/MM/dd HH:mm:ss format
Message String
FileLog
Key Type Descriptions Type String
LastModified String In yyyy/MM/dd HH:mm:ss format
Name String
FileSize Long
UnzipFilesSize Long
Ratio String
MoveLog
Key Type Descriptions Type String
LastModified String In yyyy/MM/dd HH:mm:ss format
FromFile String
ToFile String
FileSize Long
UnzipFilesSize Long
Ratio String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "BackupJobID": "2016-05-05-13-51-27", "DestinationID": "1462427482126" }
Output {
"Status": "OK", "Data": { "TotalUnzipCopiedFilesSize": 0, "TotalUnzipMovedFilesSize": 0, "Logs": [ { "Message": "Saving encrypted backup set encryption keys to server...",
www.ahsay.com 158
"Type": "info", "LogType": "info", "Timestamp": "2016/05/05 13:51:28" }, { "Message": "Start running pre-commands", "Type": "info", "LogType": "info", "Timestamp": "2016/05/05 13:51:29" }, { "Message": "Finished running pre-commands", "Type": "info", "LogType": "info", "Timestamp": "2016/05/05 13:51:29" }, { "Message": "Contact your service provider to enable [Volume Shadow Copy] support", "Type": "info", "LogType": "info", "Timestamp": "2016/05/05 13:51:31" }, { "Message": "Start running post-commands", "Type": "info", "LogType": "info", "Timestamp": "2016/05/05 13:51:58" }, { "Message": "Finished running post-commands", "Type": "info", "LogType": "info", "Timestamp": "2016/05/05 13:51:58" }, { "FileSize": 8192, "Name": "C:\\", "Type": "new", "Ratio": "0%", "UnzipFilesSize": 8192, "LastModified": "2016-04-13 14:08:24" }, { "FileSize": 4096, "Name": "C:\\Users", "Type": "new", "Ratio": "0%", "UnzipFilesSize": 4096, "LastModified": "2016-04-13 14:21:26" }, { "FileSize": 8192, "Name": "C:\\Users\\Administrator", "Type": "new", "Ratio": "0%", "UnzipFilesSize": 8192, "LastModified": "2016-05-05 13:51:29" }, { "FileSize": 4096, "Name": "C:\\Users\\Administrator\\Documents", "Type": "new", "Ratio": "0%", "UnzipFilesSize": 4096, "LastModified": "2016-05-05 13:50:16" }, { "FileSize": 0, "Name": "C:\\Users\\Administrator\\Music", "Type": "new", "Ratio": "0%", "UnzipFilesSize": 0, "LastModified": "2013-02-08 15:14:45" }, {
www.ahsay.com 159
"FileSize": 0, "Name": "C:\\Users\\Administrator\\Pictures", "Type": "new", "Ratio": "0%", "UnzipFilesSize": 0, "LastModified": "2013-02-08 15:14:45" }, { "FileSize": 0, "Name": "C:\\Users\\Administrator\\Videos", "Type": "new", "Ratio": "0%", "UnzipFilesSize": 0, "LastModified": "2013-02-08 15:14:45" }, { "FileSize": 2814829, "Name": "C:\\Users\\Administrator\\Documents\\obm-win-60443-10.0.0.78-https.exe", "Type": "new", "Ratio": "5%", "UnzipFilesSize": 2968432, "LastModified": "2016-04-29 15:23:44" }, { "FileSize": 195, "Name": "C:\\Users\\Administrator\\Documents\\desktop.ini", "Type": "new", "Ratio": "51%", "UnzipFilesSize": 402, "LastModified": "2013-02-08 15:14:45" }, { "FileSize": 211, "Name": "C:\\Users\\Administrator\\Music\\desktop.ini", "Type": "new", "Ratio": "58%", "UnzipFilesSize": 504, "LastModified": "2013-02-08 15:14:45" }, { "FileSize": 210, "Name": "C:\\Users\\Administrator\\Pictures\\desktop.ini", "Type": "new", "Ratio": "58%", "UnzipFilesSize": 504, "LastModified": "2013-02-08 15:14:45" }, { "FileSize": 0, "Name": "C:\\Users\\Administrator\\Documents\\My Music", "Type": "new", "Ratio": "0%", "UnzipFilesSize": 0, "LastModified": "2013-02-08 15:14:40" }, { "FileSize": 213, "Name": "C:\\Users\\Administrator\\Videos\\desktop.ini", "Type": "new", "Ratio": "57%", "UnzipFilesSize": 504, "LastModified": "2013-02-08 15:14:45" }, { "FileSize": 0, "Name": "C:\\Users\\Administrator\\Documents\\My Pictures", "Type": "new", "Ratio": "0%", "UnzipFilesSize": 0, "LastModified": "2013-02-08 15:14:40" }, { "FileSize": 0, "Name": "C:\\Users\\Administrator\\Documents\\My Videos", "Type": "new",
www.ahsay.com 160
"Ratio": "0%", "UnzipFilesSize": 0, "LastModified": "2013-02-08 15:14:40" } ], "MissedPublicFolder": "", "NumOfCopiedFiles": 0, "NumOfNewFiles": 5, "BackupJobStatus": "BS_STOP_SUCCESS", "TotalMovedFilesSize": 0, "FromIp": "10.10.0.1", "NumOfErrorEntries": 0, "NumOfDeletedFiles": 0, "NumOfDeletedLinkDirCount": 0, "TotalDeletedFilesSize": 0, "MovedFilesZipRatio": "0%", "TotalUpdatedPermissionFileSize": 0, "ID": "2016-05-05-13-51-27", "NumOfWarnEntries": 0, "NumOfMovedFiles": 0, "StartTime": "2016-05-05 13:51:28", "SuccessPublicFolder": "", "TotalCopiedSize": 0, "DeletedFilesZipRatio": "0%", "NumOfUpdatedPermissionFiles": 0, "NumOfDeletedLinkFileCount": 0, "NumOfUpdatedFiles": 0, "TotalUnzipUpdatedPermissionFilesSize": 0, "UpdatedPermissionFilesZipRatio": "0%", "NumOfNewLinkFileCount": 0, "MissedDatabase": "", "NewFilesZipRatio": "5%", "TotalUnzipUpdatedFilesSize": 0, "UpdatedFilesZipRatio": "0%", "NumOfNewLinkDirCount": 3, "CopiedFilesZipRatio": "0%", "TotalUpdatedFilesSize": 0, "SuccessDatabase": "", "NumOfNewDirCount": 7, "NumOfDeletedDirCount": 0, "EndTime": "2016-05-05 13:51:58", "TotalUnzipDeletedFilesSize": 0, "TotalNewFilesSize": 2815658, "TotalUnzipNewFilesSize": 2970346 } }
4.3.2 GetBackupJobReportSummary
This API retrives a summary report of a backup job. The related settings can be found on the AhsayCBS web console:
[Monitoring]>[Backup/Restore Logs]> [Backup Jobs]
URL: http://BACKUP_SERVER/obs/api/json/GetBackupJobReportSummary.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Owner String
www.ahsay.com 161
BackupSetID String Obtainable in GetBackupset API
DestinationID String For backup run by OBM v6 or older, this parameter can be omitted. For backup run by OBM 7, this parameter must be provided to get correct result.
BackupJobID String Obtainable in GetBackupset API
Cdp Boolean Continuous Data Protection
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Report
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Report
Key Type Descriptions ID String ID of the report
StartTime String In yyyy-MM-dd HH:mm:ss format
EndTime String In yyyy-MM-dd HH:mm:ss format
BackupJobStatus String Job status. BS_STOP_SUCCESS if successful backup. It varies with the errors found if failed the bacup.
NumOfWarnEntries Long Number of warning during backup
NumOfErrorEntries Long Number of error during backup
NumOfNewFiles Long Number of new files backup
TotalNewFilesSize Long Total size of new files backup
NumOfUpdatedFiles Long Number of files updated
TotalUpdatedFilesSize Long Total size of updated files.
NumOfDeletedFiles Long Number of files deleted
TotalDeletedFilesSize Long Total size of deleted files
NumOfMovedFiles Long Number of files moved
TotalMovedFilesSize Long Total size of moved files
NumOfUpdatedPermissionFiles
Long Number of files permission updated
TotalUpdatedPermissionFileSize
Long Total size of files permission updated
SuccessDatabase Long This key does not exist in VM backup
MissedDatabase Long This key does not exist in VM backup
SuccessVirtualMachine Long This key exists in VM backup only
MissedVirtualMachine Long This key exists in VM backup only
SuccessPublicFolder Long
MissedPublicFolder Long
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LoginName":"user", "BackupSetID": "1462427376949", "BackupJobID": "2016-05-05-13-51-27", "DestinationID": "1462427482126" }
Output {
"Status": "OK", "Data": { "NumOfUpdatedPermissionFiles": 0, "NumOfUpdatedFiles": 0, "MissedPublicFolder": "", "NumOfCopiedFiles": 0, "NumOfNewFiles": 5, "MissedDatabase": "", "BackupJobStatus": "BS_STOP_SUCCESS", "TotalMovedFilesSize": 0, "NumOfErrorEntries": 0, "NumOfDeletedFiles": 0, "TotalDeletedFilesSize": 0, "TotalUpdatedFilesSize": 0, "SuccessDatabase": "", "TotalUpdatedPermissionFilesSize": 0, "ID": "2016-05-05-13-51-27",
www.ahsay.com 162
"NumOfMovedFiles": 0, "NumOfWarnEntries": 0, "EndTime": "2016-05-05 13:51:58", "StartTime": "2016-05-05 13:51:28", "TotalNewFilesSize": 2815658, "SuccessPublicFolder": "", "TotalCopiedSize": 0 } }
4.3.3 GetRestoreJobReport
This API retrives a detailed report of a restore job. The related settings can be found on the AhsayCBS web console:
[Monitoring]>[Backup/Restore Logs]> [Restore Jobs]
URL: http://BACKUP_SERVER/obs/api/json/GetRestoreJobReport.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LoginName String Client user name
Owner String
BackupSetID String Obtainable in GetBackupset API
JobID String ID of restore job. Obtainable in GetBackupset API
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Report
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Report
Key Type Descriptions ID String
StartTime Long
EndTime Long
FromIp String Restore from Ip
DestinationID String Restore to ID
Status String This key exists if restore is run by 7 client only The value can be one of the following: RESTORE_STOP_SUCCESS_WITH_ERROR RESTORE_STOP_SUCCESS_WITH_WARNING RESTORE_STOP_SUCCESS RESTORE_STOP_BY_USER RESTORE_STOP_BY_ERROR
TotalFileCount Long Total file restored
TotalFileSize Long Totral files size restroed
Logs Array of Log
Log
Key Type Descriptions Type String The value can be one of the following:
file info
www.ahsay.com 163
StartTime Long
EndTime Long
Name String
FileSize Long
UncompressedSize Long
LastModified Long
Message String This key exists only if “Type” is “info”.
LogType String This key exists only if “Type” is “info”.
Timestamp String This key exists only if “Type” is “info”. It is in yyyy/MM/dd hh:mm:ss format
www.ahsay.com 164
5 RPS API
5.1 RPS Receiver
5.1.1 ListReceiver
This API lists all the receiver and their settings in replication. The related settings can be found on the AhsayCBS web console:
[Replication]>[Accepting Data]> [Receiver]
URL: http://BACKUP_SERVER/rps/api/json/ListReceiver.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Return Values: Key Type Descriptions Status String “OK” or “Error”
Data Report
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: Receiver
Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Id Long If this value is 0, a new receiver is created. If a new receiver is created, all parameters are mandatory
ReplicationEnabled Boolean Enable replication of the receiver
LoginName String The login name of the replication receiver
Password String The password of the replication receiver
Alias String
ListenPort Integer Listen port of the source backup server
SystemHome String The system home for this replication receiver.
RestoreRunning Boolean Restore the replication snapshot.
TrafficLimits Array of TrafficLimit
Limit the usage of network bandwidth by the replication service.
UserHomeMappings Array of UserHomeMapping
The source backup server user home location.
RestoringPath String
IPRestrictions Array of IPRestriction
This is to restrict the range of IP to access this receiver.
RestoreStatus String
ObsVersion Integer
ObsHost String
ObsProtocol String
ObsSysUser String The system user login of the backup server
ObsSysPwd String The system user password login of the backup server
ObsPort Integer
RestorePointInterval Integer
CrcEnabled Boolean Cyclic Redundancy Check (CRC) Checking
CrcHour Integer Monthly at HH:MM
Boolean
TrafficLimit
www.ahsay.com 165
Key Type Descriptions Id Long
Name String
Always Boolean
FromDayOfWeek Integer
FromHour Integer
FromMin Integer
ToDayOfWeek Integer
ToHour Integer
ToMin Integer
MaxTransferRate Long
UserHomeMapping
Key Type Descriptions RPSDir String
OBSHome String
IPRestriction
Key Type Descriptions Id Long
From String
To String
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%" }
Output {
"Status": "OK", "Data": [ { "CrcHour": 0, "ListenHost": "0.0.0.0", "LoginName": "test", "Update": false, "Password": "abc123$%", "V6ReplicationEnabled": false, "CrcMinute": 0, "RestoringPath": "", "ListenPort": 9444, "TrafficLimit": {}, "RestoreRunning": false, "UserHomeMappings": [], "RestoreDir": "", "RestoreStatus": "", "IPRestrictions": [], "ObsVersion": 1, "LatestSnapshot": "", "ObsHost": "10.120.30.11", "ObsProtocol": "http", "MigrateFromV6": false, "ObsSysUser": "system", "ReplicationEnabled": false, "RestorePointInterval": 30, "BlockCount": 0, "ObsPort": 80, "Alias": "", "RestoreDisableStop": false, "CrcEnabled": false, "Id": 1, "RetentionCustomizationPolicy": 60, "TrafficLimits": [], "ObsSysPwd": "system", "SystemHome": "/usr/local/cbs_7_12.4/system/rps/rcvshome/test" } ] }
www.ahsay.com 166
5.1.2 UpdateReceivers
This API updates the setting of a receiver in replication. The related settings can be found on the AhsayCBS web console:
[Replication]>[Accepting Data]> [Receiver]
URL: http://BACKUP_SERVER/rps/api/json/UpdateReceivers.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Id Long If this value is 0, a new receiver is created. If a new receiver is created, all parameters are mandatory
ReplicationEnabled Boolean Enable replication of the receiver
LoginName String The login name of the replication receiver
Password String The password of the replication receiver
Alias String
ListenPort Integer Listen port of the source backup server
SystemHome String The system home for this replication receiver.
RestoreRunning Boolean Restore the replication snapshot.
TrafficLimits Array of TrafficLimit
Limit the usage of network bandwidth by the replication service.
UserHomeMappings Array of UserHomeMapping
The source backup server user home location.
RestoringPath String
IPRestrictions Array of IPRestriction
This is to restrict the range of IP to access this receiver.
RestoreStatus String
ObsVersion Integer
ObsHost String
ObsProtocol String
ObsSysUser String The system user login of the backup server
ObsSysPwd String The system user password login of the backup server
ObsPort Integer
RestorePointInterval Integer
CrcEnabled Boolean Cyclic Redundancy Check (CRC) Checking
CrcHour Integer Monthly at HH:MM
CrcMinute Integer Monthly atHH:MM
MigrateFromV6 Boolean
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: TrafficLimit
Key Type Descriptions Id Long Id of the trafficlimit
Name String
Always Boolean Always apply the settings
FromDayOfWeek Integer Only applicable when Always set to false
FromHour Integer Only applicable when Always set to false
FromMin Integer Only applicable when Always set to false
ToDayOfWeek Integer Only applicable when Always set to false
ToHour Integer Only applicable when Always set to false
ToMin Integer Only applicable when Always set to false
MaxTransferRate Long
Boolean
UserHomeMapping
www.ahsay.com 167
Key Type Descriptions RPSDir String
OBSHome String
Boolean
IPRestriction
Key Type Descriptions Id Long
From String
To String
Example:
Input { “SysUser":”api_user”, "SysPwd":”abc123$%”, "Id":"1", "ReplicationEnabled":true, "LoginName":”dummyUser”, "Password":”dummyPassword”, "Alias":"test", "SystemHome":"C:\\", "ObsVersion":0, "RestorePointInterval":30, "RetentionCustomizationPolicy":40, "CrcEnabled":false, "CrcHour":0, "CrcMinute":0, "ListenHost":"0.0.0.0", "ListenPort":"9444", "obsHost":"test", "ObsSysUser":”api_user”, "ObsSysPwd":”abc123$%”, "TrafficLimits":[{"Id":1, "Name":"4096","ToDayOfWeek":1,"ToHour":0,"MaxTransferRate":4096,"FromHour":0,"TransferRateUnit":0,"FromMin":0,"Always":false,"ToMin":0,"FromDayOfWeek":1,"Class": "com.ahsay.cbs.rps.config.receiver.EditTrafficLimitBean"}], "V6ReplicationEnabled":false }
Output { "Status": "OK" }
Input Disable replication { “SysUser":”api_user”, "SysPwd":”abc123$%”, "Id":"1", "ReplicationEnabled":false, "LoginName":”dummyUser”, "Password":”dummyPassword”, "Alias":"test", "SystemHome":"C:\\", "ObsVersion":0, "RestorePointInterval":30, "RetentionCustomizationPolicy":40, "CrcEnabled":false, "CrcHour":0, "CrcMinute":0, "ListenHost":"0.0.0.0", "ListenPort":"9444", "obsHost":"test", "ObsSysUser":”api_user”, "ObsSysPwd":”abc123$%”, "TrafficLimits":[{"Id":1, "Name":"4096","ToDayOfWeek":1,"ToHour":0,"MaxTransferRate":4096,"FromHour":0,"TransferRateUnit":0,"FromMin":0,"Always":false,"ToMin":0,"FromDayOfWeek":1,"Class": "com.ahsay.cbs.rps.config.receiver.EditTrafficLimitBean"}], "V6ReplicationEnabled":false }
Output { "Status": "OK" }
www.ahsay.com 168
5.1.3 RemoveReceiver
This API removes a receiver in replication. The related settings can be found on the AhsayCBS web console:
[Replication]>[Accepting Data]> [Receiver]
URL: http://BACKUP_SERVER/rps/api/json/RemoveReceiver.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
Id Long
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example:
Input { "SysUser":"api_user", "SysPwd":"abc123$%", "Id":"1", }
Output {"Status":"OK"}
www.ahsay.com 169
6 RDR API
6.1 RDR License
6.1.1 UpdateLicense
This API updates the licensee name and license key on the AhsayCBS server for the redirector.
The related settings can be found on the AhsayCBS web console:
[System Settings]>[License]> [Redirector]
URL: http://BACKUP_SERVER/rdr/api/json/UpdateLicense.do
Available since version: 7.3
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
LicenseeName String Licensee name of redirector key
LicenseKey String Product Key for redirector
UseProxy Boolean Enable / Disable the use of proxy defined in the AhsayCBS to connect the internet.
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
Example: Input {
"SysUser":"api_user", "SysPwd":"abc123$%", "LicenseeName": "ABC_Backup", "LicenseKey": "XyZ98-AbcDE-fGhIJ-98bcd-YZ" }
Output 1 {
"Status":"OK", "Key":"XyZ98-AbcDE-fGhIJ-98bcd-YZ", "Deactivated":false, "Licensee":"ABC_Backup" }
Output 2 {
"Status":"OK","Key":"XyZ98-AbcDE-fGhIJ-98bcd-YZ","Deactivated":false,"Info": "Internal Error 1012. Please press the [Update] button in license page to correct this problem. If the problem persists, please contact our technical support team to resolve this problem.","Licensee": "ABC_Backup" }
Output 3 {
"Status":"Error","Message":"License key incorrect. Please try again." }
Output 4 {
"Status":"OK","Key":"XyZ98-AbcDE-fGhIJ-98bcd-YZ","Deactivated":false,"Info":"[OEM License.checkLicTime] License expired on 1970-01-01. Backup server is stopped.","Licensee":"ABC_Backup"
www.ahsay.com 170
}
6.2 Server Config
6.2.1 UpdateServerConfig
This API updates a RDR sever configuration. The related settings can be found on the AhsayCBS web console:
[Redirection]>[Hosting a redirector]> [Server Configuration]
URL: http://BACKUP_SERVER/rdr/api/json/UpdateServerConfig.do
Available since version: 7.5
Parameters: Key Type Descriptions SysUser String AhsayCBS’s system users with admin role
SysPwd String AhsayCBS’s system users password with admin role
SkipDuplicateUserCheck Boolean Do not check duplicate users
BackupServers Array of BackupServer
Redirector will redirect user to these backup servers
EnableRdrFreeTrial Boolean
FreeTrialServer Integer ID of the backup server for free trial registration
Return Values: Key Type Descriptions Status String “OK” or “Error”
Message String Error message, it exists only if status is “Error”
ExptType String The type of exception, it exists only if status is “Error”
JSON Objects: BackupServer
Key Type Descriptions Id Long
Enabled Boolean
HttpEnabled Boolean
SslEnabled Boolean
LoginName String
Password String
Hostname String
HttpPort Integer
SslPort Integer
Class String The value must be “com.ahsay.cbs.rdr.config.system.EditServerConfigBean$BackupServerBean”
Example:
Input { "SysUser":"system", "SysPwd":"system", "BackupServer":[ { "Id":"1", "Enabled":true, "HttpEnabled":true, "SslEnabled":false, "LoginName":"system", "Password":"system", "Hostname":"10.16.30.11", "HttpPort":80,
www.ahsay.com 171
"SslPort":443, "Class":"com.ahsay.cbs.rdr.config.system.EditServerConfigBean$BackupServerBean" } ], "SkipDuplicateUserCheck":false, "EnableRdrFreeTrial":false }
Output {"Status":"OK"}
www.ahsay.com 172
7 Further Information
If you have any question or suggestion about this document, please send an email to our support team via our forum.
www.ahsay.com 173
Appendix
Appendix A Supported Language Code
Please refer to Appendix A of our AhsayCBS Administrator’s Guide for details.
www.ahsay.com 174
Appendix B Supported Time zones Timezone String Timezone Name GMT-11:00 (NUT) Niue Time
GMT-11:00 (SST) Samoa Standard Time
GMT-10:00 (CKT) Cook Islands Time
GMT-10:00 (HADT) Hawaii-Aleutian Daylight Time
GMT-10:00 (HST) Hawaiian Standard Time
GMT-10:00 (TAHT) Tahiti Time
GMT-09:00 (AKDT) Alaska Standard Time
GMT-09:00 (GAMT) Gambier Time
GMT-08:00 (PDT) Pacific Daylight Time (North America)
GMT-08:00 (PST) Pacific Standard Time (North America)
GMT-07:00 (MDT) Mountain Daylight Time
GMT-07:00 (MST) Mountain Standard Time
GMT-06:00 (CST) Central Standard Time
GMT-06:00 (EAST) Easter Island Time
GMT-06:00 (GALT) Galapagos Time
GMT-05:00 (CDT) Central Daylight Time (North America)
GMT-05:00 (COT) Colombia Time
GMT-05:00 (ECT) Ecuador Time
GMT-05:00 (EST) Eastern Standard Time (North America)
GMT-05:00 (PET) Peru Time
GMT-04:00 (ACT) Acre Time
GMT-04:00 (ADT) Acre Daylight Time Atlantic Standard Time
GMT-04:00 (AMT) Armenia Time
GMT-04:00 (AST) Atlantic Standard Time
GMT-04:00 (BOT) Bolivia Time
GMT-04:00 (CLT) Chile Time
GMT-04:00 (EDT) Eastern Daylight Time
GMT-04:00 (GYT) Guyana Time
GMT-04:00 (PYT) Paraguay Time
GMT-03:00 (ART) Argentina Time
GMT-03:00 (BET) Brazil Eastern Time
GMT-03:00 (BRT) Brasilia Time
GMT-03:00 (FKT) Falkland Islands
GMT-03:00 (GFT) Guiana Time
GMT-03:00 (PMDT) Pierre & Miquelon Daylight Time
GMT-03:00 (SRT) Suriname Time
GMT-03:00 (UYT) Uruguay Time
GMT-03:00 (WGST) West Greenland Summer Time
GMT-02:00 (FNT) Fernando de Noronha Time
GMT-02:00 (GST) Gulf Standard Time
GMT-01:00 (AZOST) Azores Summer Time
GMT-01:00 (CVT) Cape Verde Time
GMT-01:00 (EGST) East Greenland Summer Time
GMT-01:00 (EGT) East Greenland Time
GMT+00:00 (BST) Brazil Standard Time
GMT+00:00 (GMT) Greenwich Mean Time
GMT+00:00 (IST) Israel Standard Time
GMT+00:00 (UTC) Coordinate Universal Time
GMT+00:00 (WEST) Western European Summer Time
GMT+00:00 (WET) Western European Time
GMT+01:00 (CET) Central European Time
GMT+01:00 (WAT) West Africa Time
GMT+02:00 (CAT) Central Africa Time
GMT+02:00 (CEST) Central European Summer Time
GMT+02:00 (EEST) Eastern European Summer Time
GMT+02:00 (EET) Eastern European Time
GMT+02:00 (IDT) Israel Daylight Time
GMT+02:00 (SAST) South Africa Standard Time
GMT+03:00 (ADT) Acre Daylight Time
GMT+03:00 (AST) Acre Standard Time
GMT+03:00 (EAT) East Africa Time
GMT+04:00 (AMST) Armenia Summer Time
GMT+04:00 (AZST) Azerbaijan Summer Time
GMT+04:00 (GEST) Georgia Time
GMT+04:00 (GST) Gulf Standard Time
GMT+04:00 (MSD) Moscow Daylight Time
GMT+04:00 (MUT) Mauritius Time
GMT+04:00 (RET) Reunion Time
www.ahsay.com 175
GMT+04:00 (SAMST) Samara Time
GMT+04:00 (SCT) Seychelles Time
GMT+05:00 (AQTST) Aqtau Summer Time
GMT+05:00 (MAWT) Mawson Time
GMT+05:00 (MVT) Maldives Time
GMT+05:00 (PKT) Pakistan Time
GMT+05:00 (TFT) French Southern & Antarctic Lands Time
GMT+05:00 (TJT) Tajikistan Time
GMT+05:00 (TMT) Turkmenistan Time
GMT+05:00 (UZT) Uzbekistan Time
GMT+06:00 (ALMST) Almaty Summer Time
GMT+06:00 (BDT) Bangladesh Time
GMT+06:00 (BTT) Bhutan Time
GMT+06:00 (IOT) Indian Ocean Territory Time
GMT+06:00 (KGST) Kyrgyzstan Summer Time
GMT+06:00 (YEKST) Yekaterinburg Summer Time
GMT+07:00 (CXT) Christmas Island Time
GMT+07:00 (ICT) Indochina Time
GMT+07:00 (JAVT) Java Time, Indonesia Time
GMT+07:00 (NOVT) Novosibirsk Time
GMT+08:00 (BNT) Brunei Darussalam Time
GMT+08:00 (BORT) Borneo Time
GMT+08:00 (CST) Cuba Standard Time
GMT+08:00 (HKT) Hong Kong Time
GMT+08:00 (KRAT) Krasnoyarsk Time
GMT+08:00 (MYT) Malaysia Time
GMT+08:00 (PHT) Philippine Time
GMT+08:00 (SGT) Singapore Time
GMT+08:00 (ULAT) Ulan Bator Time
GMT+08:00 (WST) West Samoa Time
GMT+09:00 (IRKST) Irkutsk Summer Time
GMT+09:00 (JAYT) Jayapura Time
GMT+09:00 (JST) Japan Standard Time
GMT+09:00 (KST) Korean Standard Time
GMT+09:00 (PWT) Palau Time
GMT+10:00 (ChST) Chamorro Standard Time
GMT+10:00 (DDUT) Dumont-d’Urville Time
GMT+10:00 (EST) Australia Eastern Standard Time
GMT+10:00 (PGT) Papua New Guinea Time
GMT+10:00 (YAKT) Yakutsk Time
GMT+11:00 (KOST) Kosrae Time
GMT+11:00 (NCT) New Caledonia Time
GMT+11:00 (PONT) Ponape Time
GMT+11:00 (SBT) Solomon Islands Time
GMT+11:00 (VLAT) Vladivostok Time
GMT+11:00 (VUT) Vanuatu Time
GMT+12:00 (ANAST) Anadyr Time
GMT+12:00 (FJT) Fiji Time
GMT+12:00 (GILT) Gilbert Island Time
GMT+12:00 (MAGT) Magadan Time
GMT+12:00 (MHT) (TVT) Marshall Islands Time Tuvalu Time
GMT+12:00 (NRT) Nauru Time
GMT+12:00 (NZST) New Zealand Standard Time
GMT+12:00 (PETST) Petropavlovsk-Kamchatski Time
GMT+12:00 (TVT) Tuvalu Time
GMT+12:00 (WAKT) Wake Time
GMT+12:00 (WFT) Wallis and Futuna Time
GMT+13:00 (WST) West Samoa Time
www.ahsay.com 176
Appendix C Product Documentation Please visit this link for the documentation on all Ahsay Products.