Backup User
This subcategory focuses on retrieving information regarding the backup user as well as allowing creating, modifying and deleting user accounts. There is also an API for getting job status of server run backup jobs and also for updating the AUA of a user.
- ListUsers (v1,v2)
- AuthUser
- RunSingleUserRebuild
- GetSingleUserRebuildStatus
- GetUserStorageStat
- UpdateUserProfile (v1), UpdateUser (v2)
- AddContact
- AddUser (v1,v2)
- GetUser (v1,v2)
- ModifyUserStatus
- RemoveUser
- SendForgotPwdEmail
- GetUserStatus
- GetServerRunJobStatus
- UpdateAUA
ListUsers (v1,v2)
This API can be used to retrieve user’s information, with various filter options.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User
v1 ListUsers.do
URL
https://CBS.EXAMPLE.COM/obs/api/json/ListUsers.do
Deprecated Since Version: 7.15.6.38
v2 ListUsers.do
v2 ListUsers.do API was introduced for handling of features related to Quota Management.
URL
https://CBS.EXAMPLE.COM/obs/api/json/2/ListUsers.do
Available Since Version: 9.7
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
Criteria | String | Different criteria for searching. |
searchBy | String | Criteria to use for searching. |
searchStr | String | Only users with login name that contains searchStr are listed. |
reseller | String | Login name of a reseller. Only users under 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 registered within that number of days are listed. |
ClientType | String | OBM / ACB. Only that type of users are listed. |
LoginNameOnly | Boolean | If true, only login name of users are returned. |
ClientTypeOnly | Boolean | If true, only login name and client type of users are returned. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
User | Array | 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 only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
JSON Objects
UserClientType
Key | Type | Description |
---|---|---|
ID | String | ID of the backup user. |
LoginName | String | Client user name. |
Owner | String | Owner of the user. |
UserId | String | Unique ID for each user. |
ClientType | String | ACB / OBM. |
QuotaUsed | Integer | User quota used by the user. |
UserLoginName
Key | Type | Description |
---|---|---|
ID | String | ID of the backup user. |
LoginName | String | Client user name. |
Owner | String | Owner of the user. |
UserId | String | Unique ID for each user. |
ClientType | String | ACB / OBM. |
QuotaUsed | Integer | User quota used by the user. |
User
Key | Type | Description |
---|---|---|
ID | String | ID of the backup user. |
LoginName | String | Client user name. |
Owner | String | Owner of the user. |
UserId | String | Unique ID for each user. |
Alias | String | Display name. |
UserType | String | TRIAL / PAID. Default to TRIAL if not specified. |
ClientType | String | ACB / OBM. |
QuotaUsed | Integer | User quota used by the user. |
DestinationQuotaList | Array | Array list of Destination Quota settings. |
DestinationName | String | Name of target destination. |
DestinationKey | Long | Encryption key for the destination. |
Online | Boolean | True / False. |
Timezone | String | Timezone of the user. |
Language | Language used. | ACB / OBM. |
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 | Add-on module of MS SQL backup. |
EnableMSExchange | Boolean | Add-on module of MS Exchange backup. |
MsExchangeQuota | Long | Quota of MS Exchange. |
EnableMsWinSysState | Boolean | Add-on module of Windows System State backup. |
EnableOracle | Boolean | Add-on module of Oracle backup. |
EnableLotusNotes | Boolean | Add-on module of Lotus Notes backup. |
EnableLotusDomino | Boolean | Add-on module of Lotus Domino backup. |
EnableMySQL | Boolean | Add-on module of MySQL backup. |
EnableInFileDelta | Boolean | Add-on module of In-File Delta feature. |
EnableShadowCopy | Boolean | Add-on module of Volume Shadow Copy feature. |
EnableExchangeMailbox | Boolean | Add-on module of Exchange Mailbox backup. |
ExchangeMailboxQuota | Long | Quota of Exchange Mailbox. |
EnableNASClient | Boolean | Add-on module of Synology NAS backup. |
EnableQNAP | Boolean | Add-on module of QNAP NAS backup. |
EnableDeltaMerge | Boolean | Add-on module of Delta Merge. |
EnableMsVm | Boolean | Add-on module of Hyper-V backup. |
EnableOpenDirect | Boolean | Add-on module of OpenDirect feature. |
OpenDirectQuota | Long | OpenDirect quota. Parameter only works on pre-v9.13 AhsayCBS. |
MsVmQuota | Long | Quota of Hyper-V module. |
EnableVMware | Boolean | Add-on module of VMware backup. |
VMwareQuota | Long | Number of Guest VM allowed. |
Bandwidth | Long | Bandwidth lmitation of user. |
Notes | String | Backup user notes. |
Status | String | Status of the user, either SUSPENDED or ENABLE. |
RegistrationDate | Long | Date of backup user registration. |
SuspendPaidUser | Boolean | True / False |
SuspendPaidUserDate | String | Date when backup user will be suspended. |
LastBackupDate | Long | Latest date when backup job was run. |
EnableCDP | Boolean | Add-on module of Continuouos Data Protection. |
EnableShadowProtectBareMetal | Boolean | Add-on module of ShadowProtect backup. |
EnableWinServer2008BareMetal | Boolean | Add-on module of Windows system backup. |
MsVmQuotaType | String | Quota type which can ba GUESTVM or SOCKET. |
VMwareQuotaType | String | Quota type which can ba GUESTVM or SOCKET. |
EnableMobile | Boolean | Add-on module of Mobile backup. |
MobileQuota | Long | Quota for mobile. |
EnableOffice365Mail | Boolean | Add-on module of Microsoft 365 backup. |
Office365MailQuota | Long | Quota for Microsoft 365. |
Hostname | String | URL or hostname used to access AhsayCBS. |
LdapUser | String | LDAP user account. |
LdapDeleteUser | Long | Date LDAP account was deleted. |
LdapDisableUser | Long | Date LDAP account was disabled. |
ExpiryDate | Long | Expiry date of backup user account. |
LatestClientVersion | String | Latest version used by the client. |
UserGroupIDList | Array | Array of user group ID. |
UserHome | String | Path of the User Home directory. |
Contact | Array | Array list of contacts. |
QuotaList | Array | Array of backup quota for backup destination. |
QuotaType | String | Type of quota, either TOTAL_QUOTA or PER_DESTINATION_QUOTA. |
StorageQuota | Long | Total quota in GB. Value validity examined when used by TOTAL_QUOTA. |
EnableDeduplication | Boolean | Add-on module of Deduplication. |
EnableTibero | Boolean | Add-on module of Tibero backup. |
EnableLinuxBareMetal | Boolean | Add-on module of Linux Bare Metal backup. |
EnablePostgreSQL | Boolean | Add-on module of PostgreSQL backup. |
QuotaList
Key | Type | Description |
---|---|---|
Enabled | Boolean | True / False |
DestinationName | String | Name of the backup destination. |
DestinationKey | String | ID of the backup destination, or OBS for quota on AhsayCBS. |
Quota | Integer | Unit in bytes. Value validity examined when used by PER_DESTINATION_QUOTA. |
UserGroup
Key | Type | Description |
---|---|---|
UserGroupID | String | ID of the user group. |
UserGroupName | String | Name of the user group. |
ShowLink | Boolean | True / False |
Contact
Key | Type | Description |
---|---|---|
Name | String | Name of the contact. |
String | Email address of the contact. |
ModuleUsage
Key | Type | Description |
---|---|---|
MSExMailbox | Long | Usage of MSExMailbox module license. |
MSHyperVVM | Long | Usage of MSHyper-V VM module license. |
VMwareVM | Long | Usage of VMware VM module license. |
Office365Mail | Long | Usage of Microsoft 365 module license. |
HostCount | Long | Usage of OBM / ACB license. |
Example
INPUT
{
"SysUser":"system",
"SysPwd":system1",
"searchStr":"obm"
}
OUTPUT
{
"Status":"OK",
"User":[
{
"Timezone":"1098",
"MobileQuota":0,
"LoginName":"38367_new",
"Owner":"",
"ExpiryDate":25,
"UserGroupIDList":[
{
"ShowLink":false,
"UserGroupID":"1",
"UserGroupName":"All Users"
}
],
"EnableNASClient":false,
"EnableMariaDB":false,
"EnableOpenDirect":false,
"DataFile":0,
"MsVmQuotaType":"GUESTVM",
"EnableShadowProtectBareMetal":false,
"LdapUser":false,
"EnableMobile":false,
"DataSize":0,
"EnableLotusDomino":false,
"UserHome":"C:\\Users\username\Documents\cbase\user\38367_new",
"ID":"1703141283712",
"MsVmQuota":0,
"Status":"ENABLE",
"EnableVMware":false,
"Office365MailQuota":0,
"Hostname":"",
"EnableDeduplication":true,
"EnableMobileV2":false,
"LdapDisableUser":-1,
"LatestClientVersion":"",
"EnableMSSQL":false,
"VMwareQuotaType":"GUESTVM",
"EnableLinuxBareMetal":false,
"EnableLotusNotes":false,
"VMwareQuota":0,
"UserType":"PAID",
"MobileAuthenticationSettings":{
"MobileDeviceList":[],
"Enable":false
},
"ClientType":"OBM",
"EnableOracle":false,
"RegistrationDate":1703141283712,
"RecycleBinCompressed":0,
"EnableExchangeMailbox":false,
"QuotaList":[
{
"DestinationKey":"OBS",
"Quota":52428800,
"DestinationName":"AhsayCBS",
"Enabled":true
},
{
"DestinationKey":"-1700008764400",",
"Quota":0,
"DestinationName":"OneDrive-1",
"Enabled":false
},
{
"DestinationKey":"-1700025457535",
"Quota":0,
"DestinationName":"OneDrive-3",
"Enabled":false
}
],
"EnableCDP":false,
"EnableInFileDelta":false,
"SuspendPaidUserDate":"20241221",
"MobileBackupSettings":{
"DeviceList":[]
},
"MobileQuotaV2":0,
"MobileUsage":{
"MSExMailbox":0,
"HostCount":1,
"MSHyperVVM":0
"VMwareCM":0
},
"EnableShadowCopy":false,
"Language":"en",
"Bandwidth":0,
"StorageQuota":0,
"LdapDeleteUser":-1,
"EnableMySQL":false,
"EnableOffice365Mail":false,
"Notes":"",
"OpenDirectQuota":0,
"QuotaUsed":1,
"EnableWinServer2008BareMetal":false,
"RetainFile":0,
"EnableQnatp":false,
"QuotaType":"PER_DESTINATION_QUOTA",
"EnableMsVm":false,
"RetainSize":0,
"RecycleBinFileNo":0,
"LastBackupDate":0,
"Contact":[],
"EnableTibero":true,
"AzureDestinationList":[],
"UserId":"39367_new",
"Alias":"",
"ExchangeMailboxQuota":0,
"EnableMsWinSysState":false,
"SuspendPaidUser":false,
"Online":false,
"EnableMSExchange":false,
"EnablePostgreSQL":false
}
]
}
AuthUser
This API checks whether a user exists or not.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User
URL
https://CBS.EXAMPLE.COM/obs/api/json/AuthUser.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Name of the backup user. |
Owner | String | The owner of backup user (if applicable). |
Password | String | Password used to login. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, it appears only if status is "Error". |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"SampleUser",
"Password":"SamplePassword"
}
OUTPUT 1
{
"Status":"OK"
}
OUTPUT 2: User does not exist
{
"Status":"Error",
"Message":"[UserCacheManager.NoSuchUserExpt] User ‘NonExistentUser’ not found.",
"ExptType":"com.ahsay.obs.core.dbs.ai"
}
RunSingleUserRebuild
This API rebuilds a particular v6 legacy backup set of a user.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User > %User Name% > Backup Set > %v6 Backup Set Name% > Destination > Standard Destination > Rebuild
URL
https://CBS.EXAMPLE.COM/obs/api/json/RunSingleUserRebuild.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Name of the backup user. |
Owner | String | The owner of backup user (if applicable). |
BackupSetID | String | ID of the backupset. Obtainable in GetBackupset API. |
CheckCrc | Boolean | Cyclic redundancy check. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, it appears only if status is "Error". |
JSON Objects
Rebuild Status
Key | Type | Description |
---|---|---|
LoginName | String | Name of backup user. |
BackupSetID | String | ID of the backup set. |
Status | String | Status of the rebuild. |
StartTime | Long | Time when rebuild started. |
EndTime | Long | Time when rebuild ended. |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"BackupSetID":"1686639360356"
}
OUTPUT
{
"Status":"OK"
}
OUTPUT 2: Backupset does not exist
{
"Status":"OK",
"Message":"Backup Set for ID='1686639360356' not found",
"ExptType":"com.ahsay.obs.core.dbs.DbsException"
}
GetSingleUserRebuildStatus
This API allows you to get the information of the recent v6 legacy backup set rebuild.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Administration Logs > Audit Trails
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetSingleUserRebuildStatus.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Name of the backup user. |
Owner | String | The owner of backup user (if applicable). |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Data | JSON Object RebuildStatus | Refer to JSON Objects - Rebuild Status. |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, it appears only if status is "Error". |
JSON Objects
RebuildStatus
Key | Type | Description |
---|---|---|
LoginName | String | Name of backup user. |
BackupSetID | String | ID of the backup set. |
Status | String | Status of the rebuild. |
StartTime | Long | Time when rebuild started. |
EndTime | Long | Time when rebuild ended. |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"BackupSetID":"1686639360356"
}
OUTPUT 1
{
"Status":"OK",
"Data":{
"Status":"Finished",
"LoginName":"obm",
"EndTime":1686640128382,
"StartTime":1686640127867,
"BackupSetID":"1686639360356"
}
}
OUTPUT 2: Not yet started
{
"Status":"OK",
"Data":{
"Status":"Not yet started",
"LoginName":"obm",
"EndTime":-1,
"StartTime":-1,
"BackupSetID":""
}
}
GetUserStorageStat
This API allows you to get the file statistic of a backup set of a user.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User > %User Name% > Statistics
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetUserStorageStat.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Name of the backup user. |
Owner | String | The owner of backup user (if applicable). |
YearMonth | String | In "yyyy-MM" format. For example, to get the storage statistics of January 2024, the parameter is "2024-01". |
BackupSetID | String | "all" to get statistics of all backup sets or the backup set ID for a specific backup set. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Data | Array of AverageStat | Array list of AverageStat settings. |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, it appears only if status is "Error". |
JSON Objects
AverageStat
Key | Type | Description |
---|---|---|
YearMonth | String | The year and month in yyyy-MM format. |
AvgDataSize | String | Average data size in k/M/G format of all backup sets. |
AvgDataRawSize | String | Average data size in raw byte format of all backup sets. |
AvgDataNo | String | Average data number. |
AvgRetainSize | String | Average retained data size in k/M/G format of all backup sets. |
AvgRetainRawSize | String | Average retained data size in raw byte format of all backup sets. |
AvgRetainNo | String | Average retain number. |
AvgUploadSize | String | Average uploaded data size in k/M/G format of all backup sets. |
AvgUploadRawSize | String | Average uploaded data size in raw byte format of all backup sets. |
AvgUploadNo | String | Average upload number. |
AvgTotalStorageSize | String | Average total storage size in k/M/G format of all backup sets. |
AvgTotalStorageRawSize | String | Average total storage size in raw byte format of all backup sets. |
AvgTotalStorageNo | String | Average total storage number. |
Storage | Array of DetailStat | Refer to DetailStat. |
DetailStat
Key | Type | Description |
---|---|---|
Date | String | The date in yyyy-MM-dd format. |
DataSize | String | Data size in k/M/G format. |
DataRawSize | String | Data size in raw byte format. |
DataUncompressed | Long | Uncompressed data size in k/M/G format. |
DataRawUncompressed | Long | Uncompressed data size in raw byte format. |
DataNo | String | Data number. |
RetainSize | String | Retained data size in k/M/G format. |
RetainRawSize | String | Retained data size in raw byte format. |
RetainUncompressed | String | Uncompressed retained data size in k/M/G format. |
RetainRawUncompressed | String | Uncompressed retained data size in raw byte format. |
RetainNo | String | Retain number. |
UploadSize | String | Uploaded data size in k/M/G format. |
UploadRawSize | String | Uploaded data size in raw byte format. |
UploadUncompressed | String | Uncompressed uploaded data size in k/M/G format. |
UploadRawUncompressed | String | Uncompressed uploaded data size in raw byte format. |
UploadNo | String | Upload number. |
TotalStorageSize | String | Total storage size in k/M/G format. |
TotalStorageRawSize | String | Total storage size in raw byte format. |
TotalStorageUncompressed | String | Uncompressed total storage size in k/M/G format. |
TotalStorageRawUncompressed | String | Uncompressed total storage size in raw byte format. |
TotalStorageNo | String | Total storage number. |
DestinationID | String | Destination storage ID. |
Examples
Example 1
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"YearMonth":"2024-06"
}
OUTPUT
{
"Status":"OK",
"Data":{
"AvgDataRawSize":"5504624",
"AvgUploadRawSize":"5504624",
"AvgRetainRawSize":"0",
"AvgRetainUncompressed":"0",
"AvgTotalStorageUncompressed":"0",
"AvgUploadSize":"5.25 M",
"AvgDataRawUncompresed":"5.9 M",
"AvgDataUncompressed":"5.9 M",
"AvgRetainSize":"0",
"AvgTotalStorageSize":"5.25 M",
"AvgTotalStorageRawUncompressed":"6183694",
"AvgUploadUncompressed":"5.9 M",
"AvgUploadNo":"53",
"AvgTotalStorageNo":"39",
"Storage":[
{
"UploadRawSize":"5504624",
"TotalRestoreSize":0,
"DataRawUncompressed":"6183694",
"DataUncompressed":"5.9 M",
"UploadRawUncompressed":"6183694",
"TotalStorageNo":"39",
"UploadNo":"39",
"UploadSize":"5.25 M",
"DataSize":"5.25 M",
"TotalStorageRawSize":"5504624",
"RetailRawUncompressed":"0",
"TotalRestoreFileNo":"0",
"TotalBackupSize":"5.25 M",
"RetainUncompressed":"0",
"TotalStorageUncompressed":"5.9 M",
"RetainSize":"0",
"RetainRawSize":"0",
"DestinationID":"",
"Date":"2024-06-14",
"TotalStorageSize":"5.25 M",
"RetainNo":"0",
"UploadUncompressed":"5.9 M",
"TotalStorageRawUncompressed":"6183694",
"DataNo":"39",
"TotalBackupFileNo":"39",
"DataRawSize":"5504624"
}
],
"YearMonth":"2024-06",
"AvgUploadRawUncompressed":"6183694",
"AvgRetainRawUncompressed":"0",
"AvgRetainNo":"0",
"AvgTotalStorageRawSize":"5504624",
"AvgDataNo":"39"
}
}
Example 2: No storage log found
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"YearMonth":"2024-01"
}
OUTPUT
{
"Status":"Error",
"Message":"No storage log found",
"ExptType":"com.ahsay.obs.core.dbs.DbsException"
}
UpdateUserProfile (v1), UpdateUser (v2)
This API updates the information of a user profile.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User > %User Name%
v1 UpdateUserProfile.do
URL
https://CBS.EXAMPLE.COM/obs/api/json/UpdateUserProfile.do
Deprecated Since Version: 7.15.6.38
v2 UpdateUser.do
To facilitate the Quota Management feature, a new version of the UpdateUserProfile.do API (v2 UpdateUser.do) was introduced.
URL
https://CBS.EXAMPLE.COM/obs/api/json/2/UpdateUser.do
Available Since Version: 9.5
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Name of the backup user. |
Owner | String | The owner of backup user (if applicable). |
Alias | String | Backup user alias (if applicable). |
Status | String | Status of the backup user, either SUSPENDED or ENABLE. |
Type | String | Type of backup user, either TRIAL or PAID. Default to TRIAL if not specified. |
ClientType | String | Type of backup client, either OBM or ACB. |
Password | String | Password of the user account. |
Language | String | Language used by the backup user. |
Notes | String | User notes. |
QuotaList | JSON object | Refer to QuotaList. |
HostQuotaEnabled | Boolean | Enable or disable the client host. |
HostQuota | Long | Client host limit. |
RunDirectQuotaEnabled | Boolean | Enable or disable Run Direct. |
RunDirectQuota | Long | Run Direct limit. |
ModuleSettings | JSON object | Used to assign modules. |
WindowsEventLogSettings | WindowsEventLogSettings | Log |
Contact | Array | 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 contact (retrieve the corresponding keys required with the GetUser.do API). |
OldContact | Array | Existing contacts. It is used if "ChangeContact" is "Y". |
NewContact | Array | If "ChangeContact" is "Y", all contacts in OldContact will be updated with NewContact. |
SecuritySettings | JSON object | Parameter available only if global MFA Setting is ON. Update to PhoneList array is by replacement of whole list. If modifying the PhoneList, most recent phone number (based on LastSuccessfulLoginInfo “PhoneNumber”) cannot be removed by API, due to API validation check. That phone number must be included when updating PhoneList. |
QuotaType | String | Quota type, either TOTAL_QUOTA or PER_DESTINATION_QUOTA. |
StorageQuota | Long | Total quota in GB. Value validity examined when used by TOTAL_QUOTA. |
EnableAUA | Boolean | Auto Update Agent setting. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, it appears only if status is "Error". |
JSON Objects
ModuleSettings
Key | Type | Description |
---|---|---|
MSExchangeMailboxBackupEnabled | Boolean | Defines whether module MS Exchange Mailbox backup will be enabled. |
MSExMailboxQuota | Long | Quota for MSExchangeMailBox. |
MSSQLBackupEnabled | Boolean | Defines whether module MS SQL backup will be enabled. |
MSExchangeBackupEnabled | Boolean | Defines whether module MS Exchange backup will be enabled. |
OracleBackupEnabled | Boolean | Defines whether module Oracle backup will be enabled. |
LotusDominoBackupEnabled | Boolean | Defines whether module Lotus Domino backup will be enabled. |
LotusNotesBackupEnabled | Boolean | Defines whether module Lotus Notes backup will be enabled. |
MySQLBackupEnabled | Boolean | Defines whether module MySQL backup will be enabled. |
InFileDeltaEnabled | Boolean | Defines whether module In-File Delta will be enabled. |
ShadowCopyEnabled | Boolean | Defines whether module Volume Shadow Copy will be enabled. |
NasClientEnabled | Boolean | Defines whether module Synology NAS Client will be enabled. |
QnapEnabled | Boolean | Defines whether module QNAP NAS Client will be enabled. |
DeltaMergeEnabled | Boolean | True / False |
MSHyperVBackupEnabled | Boolean | Defines whether module MS Hyper-V backup will be enabled. |
MSHyperVVMQuota | Long | Defines module MS Hyper-V VM quota. |
MSHyperVVMQuotaType | String | MS Hyper-V VM quota type, either GUESTVM or SOCKET. |
VMwareBackupEnabled | Boolean | Defines whether module VMware backup will be enabled. |
VMwareVMQuota | Long | Defines module VMware VM quota. |
VMwareVMQuotaType | String | VMware VM quota type, either GUESTVM or SOCKET. |
CDPEnabled | Boolean | Defines whether module CDP will be enabled. |
ShadowProtectBackupEnabled | Boolean | Defines whether module ShadowProtect backup will be enabled. |
MSWindowsSystemBackupEnabled | Boolean | Defines whether module MS Windows System backup will be enabled. |
MSWindowsSystemStateBackupEnabled | Boolean | Defines whether module MS Windows System State backup will be enabled. |
Office365MailEnabled | Boolean | Defines whether module Microsoft 365 Mail backup will be enabled. |
Office365MailQuota | Long | Defines module Microsoft 365 quota. |
MobileEnabled | Boolean | Deprecated from v8.5; no new mobile v1 modules can be Enabled for users. |
MobileV2Enabled | Boolean | Defines whether module MobileV2 will be enabled. |
MobileQuota | Long | Deprecated from 8.5. |
MobileQuotaV2 | Long | Fixed at 10. |
OpenDirectEnabled | Boolean | Defines whether module OpenDirect will be enabled. |
OpenDirectQuota | String | Defines module OpenDirect quota. Only works on pre-v9.13 AhsayCBS. |
MariaDBBackupEnabled | Boolean | Defines whether module MariaDB backup will be enabled. |
DeduplicationEnabled | Boolean | Defines whether module Deduplication will be enabled. |
TiberoBackupEnabled | Boolean | Defines whether module Tibero Database Server backup will be enabled. |
LinuxBareMetalBackupEnabled | Boolean | Defines whether module Linux Bare Metal backup will be enabled. |
PostgreSQLBackupEnabled | Boolean | Defines whether module PostgreSQL Server backup will be enabled. |
Contact
Key | Type | Description |
---|---|---|
Company | String | Company where contact is from. |
String | Contact email address. | |
Address | String | Address of contact. |
Website | String | Website of contact. |
Name | String | Contact name. |
Phone1 | String | Contact phone number. |
Phone2 | String | Contact alternate phone number. |
WindowsEventLogSettings
Key | Type | Description |
---|---|---|
Enabled | Boolean | True / False |
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 | Log option |
LogLicense | Boolean | Log type |
LogWarn | Boolean | Log type |
LogRestore | Boolean | Log option |
QuotaList
Key | Type | Description |
---|---|---|
Enabled | Boolean | True / False |
Quota | Long | Quota of the backup destination, unit in byte. Value validity examined when used by PER_DESTINATION_QUOTA. |
DestinationKey | String | Key of the backup destination. |
UserSuspendSettings
Key | Type | Description |
---|---|---|
Enabled | Boolean | True / False |
Date | String | Date in Unix time. |
SystemSettings
Key | Type | Description |
---|---|---|
Enabled | Boolean | True / False |
PhoneList | Array | Array list of phone numbers. |
CountryCode | Long | Country code. |
PhoneNumber | String | SMS phone number. |
Verified | Boolean | Not applicable by API. Default value is "False". |
VerifiedTime | Long | Not applicable by API. |
Id | Long | Not applicable by API. |
Examples
Example 1
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"QuotaList":[
{
"Enabled":true,
"DestinationKey":"OBM",
"Quota":73400320
}
]
}
OUTPUT
{
"Status":"OK"
}
Example 2: Add contacts (ChangeContact (Y))
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"ChangeContact":"Y",
"NewContact":[
{
"Company":"Ahsay",
"Email":"newcontact1@example.com",
"Address":"newcontact1",
"Website":"www.ahsay.com",
"Name":"newcontact1",
"Phone1":"1234",
"Phone2":"1234"
},
{
"Company":"Ahsay",
"Email":"newcontact2@example.com",
"Address":"newcontact2",
"Website":"www.ahsay.com",
"Name":"newcontact2",
"Phone1":"1234",
"Phone2":"1234"
}
]
}
OUTPUT
{
"Status":"OK"
}
Example 3: Update contact (ChangeContact (Y))
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"ChangeContact":"Y",
"OldContact":[
{
"Company":"Ahsay",
"Email":"oldcontact1@example.com",
"Address":"oldcontact1",
"Website":"www.ahsay.com",
"Name":"oldcontact1",
"Phone1":"1234",
"Phone2":"1234"
},
{
"Company":"Ahsay",
"Email":"oldcontact2@example.com",
"Address":"oldcontact2",
"Website":"www.ahsay.com",
"Name":"oldcontact2",
"Phone1":"1234",
"Phone2":"1234"
}
],
"NewContact":[
{
"Company":"Ahsay",
"Email":"newcontact1@example.com",
"Address":"newcontact1",
"Website":"www.ahsay.com",
"Name":"newcontact1",
"Phone1":"1234",
"Phone2":"1234"
},
{
"Company":"Ahsay",
"Email":"newcontact2@example.com",
"Address":"newcontact2",
"Website":"www.ahsay.com",
"Name":"newcontact2",
"Phone1":"1234",
"Phone2":"1234"
}
]
}
OUTPUT: 'oldcontact1' and "oldcontact2' have been updated to 'newcontact1' and 'newcontact2'
{
"Status":"OK"
}
Example 4 - Delete contact (ChangeContact (Y))
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"ChangeContact":"Y",
"OldContact":[
{
"Company":"Ahsay",
"Email":"oldcontact1@example.com",
"Address":"oldcontact1",
"Website":"www.ahsay.com",
"Name":"oldcontact1",
"Phone1":"1234",
"Phone2":"1234"
},
{
"Company":"Ahsay",
"Email":"oldcontact2@example.com",
"Address":"oldcontact2",
"Website":"www.ahsay.com",
"Name":"oldcontact2",
"Phone1":"1234",
"Phone2":"1234"
},
{
"Company":"Ahsay",
"Email":"newcontact1@example.com",
"Address":"newcontact1",
"Website":"www.ahsay.com",
"Name":"newcontact1",
"Phone1":"1234",
"Phone2":"1234"
},
{
"Company":"Ahsay",
"Email":"newcontact2@example.com",
"Address":"newcontact2",
"Website":"www.ahsay.com",
"Name":"newcontact2",
"Phone1":"1234",
"Phone2":"1234"
}
],
"NewContact":[
{
"Company":"Ahsay",
"Email":"oldcontact1@example.com",
"Address":"oldcontact1",
"Website":"www.ahsay.com",
"Name":"oldcontact1",
"Phone1":"1234",
"Phone2":"1234"
},
{
"Company":"Ahsay",
"Email":"oldcontact2@example.com",
"Address":"oldcontact2",
"Website":"www.ahsay.com",
"Name":"oldcontact2",
"Phone1":"1234",
"Phone2":"1234"
},
{
"Company":"Ahsay",
"Email":"newcontact2@example.com",
"Address":"newcontact2",
"Website":"www.ahsay.com",
"Name":"newcontact2",
"Phone1":"1234",
"Phone2":"1234"
}
]
}
OUTPUT
{
"Status":"Error"
}
Example 5: Append contacts with duplication (AppendContact (Y))
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"AppendContact":"Y",
"Contact":[
{
"Company":"Ahsay",
"Email":"oldcontact1@example.com",
"Address":"oldcontact1",
"Website":"www.ahsay.com",
"Name":"oldcontact1",
"Phone1":"1234",
"Phone2":"1234"
}
]
}
OUTPUT
{
"Status":"Error",
"Message":"[UpdateUserProfile.checkDuplicatedEmail] Contact already exists <oldcontact1@example.com>",
"ExptType":"com.ahsay.obs.core.dbs.DbsException"
}
Example 6: Append contacts without duplication (AppendContact (Y))
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"AppendContact":"Y",
"Contact":[
{
"Company":"None",
"Email":"oldcontact@example.com",
"Address":"oldcontact",
"Website":"www.ahsay.com",
"Name":"oldcontact",
"Phone1":"1234",
"Phone2":"1234"
}
]
}
OUTPUT
{
"Status":"OK"
}
Example 7: Delete all contacts (AppendContact (N))
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"AppendContact":"N",
"Contact":[
{
"Company":"None",
"Email":"oldcontact@example.com",
"Address":"oldcontact",
"Website":"www.ahsay.com",
"Name":"oldcontact",
"Phone1":"1234",
"Phone2":"1234"
}
]
}
OUTPUT
{
"Status":"OK"
}
Example 8: Replace all contacts (AppendContact (N))
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"AppendContact":"N",
"Contact":[
{
"Company":"None",
"Email":"oldcontact1@example.com",
"Address":"oldcontact1",
"Website":"www.ahsay.com",
"Name":"oldcontact1",
"Phone1":"1234",
"Phone2":"1234"
}
]
}
OUTPUT
{
"Status":"OK"
}
Example 9: Change module settings
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"ModuleSettings":{
"ShadowCopyEnabled":true,
"NasClientEnabled":true,
"DeduplicationEnabled":false
}
}
OUTPUT
{
"Status":"OK"
}
Example 10: Change subscription type to 'PAID' and disable 'suspend at' option
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"Type":"PAID",
"UserSuspendSettings":{
"Enabled":false,
"Date":2106396800000
}
}
OUTPUT
{
"Status":"OK"
}
Example 11 - Add or change 2FA phone number or Enable
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"Type":"PAID",
"UserSuspendSettings":{
"Enabled":false,
"Date":2106396800000
}
}
OUTPUT
{
"Status":"OK"
}
AddContact
This API adds new contact information to a user.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User > %User Name% > User Profile > Contact
URL
https://CBS.EXAMPLE.COM/obs/api/json/AddContact.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Backup user name. |
Owner | String | Owner of the backup user (if applicable). |
NewContact | JSON Object Contact | See Contact. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
JSON Objects
Contact
Key | Type | Description |
---|---|---|
Name | String | Name of the contact. |
String | Email address of the contact. |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm",
"NewContact":{
"Name":"contact1",
"Email":"contact1@examle.com"
}
}
OUTPUT
{
"Status":"OK"
}
OUTPUT 2: Duplicate contact email
{
"Status":"Error",
"Message":"[UpdateUserProfile.checkDuplicatedEmail] Contact already exists <contact1@example.com>",
"ExptType":"com.ahsay.obs.core.dbs.DbsException"
}
AddUser (v1,v2)
This API can be used to add new backup user.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User
v1 AddUser.do
URL
https://CBS.EXAMPLE.COM/obs/api/json/AddUser.do
Deprecated Since Version: 7.15.6.38
v2 AddUser.do
URL
https://CBS.EXAMPLE.COM/obs/api/json/2/AddUser.do
Available Since Version: 9.5
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Backup user name. |
Owner | String | Owner of the backup user (if applicable). |
Password | String | Password of the backup user. |
String | Contact email. | |
QuotaList | JSON Object Array | See QuotaList. |
Status | String | If this value is “SUSPENDED”, the user is suspended. Otherwise, the user is enabled. |
ClientType | String | Type of backup client, either ACB or OBM. |
Type | String | User type, either 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. |
MobileQuota | Long | Deprecated from v8.5, old v1 AhsayMOB quota. |
MobileV2Quota | Long | Fixed at 10 regardless of input. |
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 | The value can be any one of the following: GUESTVM or 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 | The value can be any one of the following: GUESTVM or SOCKET. Default value is GUESTVM if not provided. |
RunDirectQuotaEnabled | Boolean | True / False |
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 | True / False |
Office365MailQuota | Long | Microsoft 365 mail backup quota. 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. |
Notes | String | Notes of the account profile. |
HostQuotaEnabled | Boolean | Enalbe or disable client host quota |
HostQuota | Long | Storage quota, unit in bytes. |
EnableMobile | Boolean | AhsayMOB module, deprecated from v8.5. |
EnableMobileV2 | Boolean | Enable or disable Ahsay Mobile module (when enabled, "MobileV2Quota" fixed value at 10). |
EnableExchangeMailbox | Boolean | Enable or disable Exchange Mailbox module. |
EnableMSSQL | Boolean | Enable or disable MS SQL module. |
EnableMSExchange | Boolean | Enable or disable MS Exchange module. |
EnableOracle | Boolean | Enable or disable Oracle module. |
EnableLotusDomino | Boolean | Enable or disable Lotus Domino module. |
EnableLotusNotes | Boolean | Enable or disable Lotus Notes module. |
EnableMySQL | Boolean | Enable or disable MySQL module. |
EnableInFileDelta | Boolean | Enable or disable In-File Delta module (pre-v9). |
EnableShadowCopy | Boolean | Enable or disable Volume Shadow Copy module. |
EnableNASClient | Boolean | Enable or disable NAS - Synology module. |
EnableQnap | Boolean | Enable or disable NAS - QNAP module. |
EnableMsVm | Boolean | Enable or disable Hyper-V module. |
EnableVMware | Boolean | Enable or disable VMware module. |
EnableCDP | Boolean | Enable or disable Continuous Data Protection module. |
EnableShadowProtectBareMetal | Boolean | Enable or disable ShadowProtect System Backup module. |
EnableWinServer2008BareMetal | Boolean | Enable or disable Windows System Backup module. |
EnableMsWinSysState | Boolean | Enable or disable Windows System State Backup module. |
EnableOpenDirect | Boolean | Enable or disable OpenDirect module. |
OpenDirectQuota | String | Number of OpenDirect allowed. Only works on pre-v9.13 AhsayCBS. |
EnableMariaDB | Boolean | Enable or disable MariaDB Database Server module. |
EnableDeduplication | Boolean | Enable or disable Deduplication module. |
QuotaType | String | Quota Type, either TOTAL_QUOTA or PER_DESTINATION_QUOTA, default to PER_DESTINATION_QUOTA, if not specified. |
StorageQuota | Long | Default to 100, if not specified. Unit in GB. |
QuotaList | JSON Object Array | Mandatory if QuotaType is PER_DESTINATION_QUOTA or if QuotaType is not specified. |
EnableAUA | Boolean | Enable or disable Auto Update Agent setting. |
EnableTibero | Boolean | Enable or disable Tibero Database Server module. |
EnableLinuxBareMetal | Boolean | Enable or disable Linux Bare Metal Backup module. |
EnablePostgreSQL | Boolean | Enable or disable PostgreSQL Server module. |
QuotaList
Key | Type | Description |
---|---|---|
Enabled | Boolean | True / False |
DestinationKey | String | ID of the predefined destination or "OBS" for quota on AhsayCBS. |
Quota | Long | Unit in bytes. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
Examples
Example 1: Add AhsayOBM paid user with AhsayCBS quota 50 GB and predefined destination quota of 50 GB
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm2",
"Password":"obm2",
"Email":"obm2@example.com",
"Type":"Paid",
"Status":"ENABLE",
"ClientType":"OBM",
"QuotaList":[
{
"Enabled":true,
"DestinationKey":"-1686812937526",
"Quota":53687091200
}
]
}
OUTPUT
{
"Status":"OK"
}
OUTPUT 2: If destination is not visible to user
{
"Status":"Error",
"Message":"Destination ‘-1686812937526’ is not visible to user ‘obm2’ according to policy’s [Destinations Visible to Users] settings.",
"ExptType":"java.lang.Exception"
}
OUTPUT 3: If the Enable parameter is missing from a destination in the QuotaList
{
"Status":"Error",
"Message":"Value ‘Enabled’ is missing in item ‘-1686812937526’ of ‘QuotaList’.",
"ExptType":"java.lang.Exception"
}
OUTPUT 4: If Enable is invalid for a destination in the QuotaList
{
"Status":"Error",
"Message":"Invalid ‘Enabled’ in item ‘-1686812937526’ of ‘QuotaList’.",
"ExptType":"java.lang.Exception"
}
OUTPUT 5: If a destination is duplicated in the QuotaList
{
"Status":"Error",
"Message":"Duplicated DestinationKey (-1686812937526) are not allowed in the QuotaList.",
"ExptType":"java.lang.Exception"
}
OUTPUT 6: If the Quota value for a destination is invalid (e.g. a negative number)
{
"Status":"Error",
"Message":"Invalid value for ‘Quota’ for item ‘-1686812937526’ of ‘QuotaList’. Error: Must be a positive number.",
"ExptType":"java.lang.Exception"
}
OUTPUT 7: If the Quota value for a destination is invalid
{
"Status":"Error",
"Message":"Invalid value ‘Quota’ for item ‘-1686812937526’ of ‘QuotaList’. Error: JSONObject [\”Quota\”] is not a long (class java.lang.String: ac130).",
"ExptType":"java.lang.Exception"
}
Example 2: Add AhsayOBM paid user with AhsayCBS quota 50 GB and Total Quota 75 GB
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm1",
"Password":"obm1",
"Email":"testobm@example.com",
"Type":"Paid",
"Status":"ENABLE",
"ClientType":"OBM",
"QuotaType":"TOTAL_QUOTA",
"StorageQuota":75,
"QuotaList":[
{
"DestinationKey":"OBS",
"Quota":53687091200,
"DestinationName":"AhsayCBS",
"Enabled":true
}
]
}
OUTPUT
{
"Status":"OK"
}
Example 3: Invalid Quota value specified
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm2",
"Password":"obm2",
"Email":"obm2@example.com",
"Type":"Paid",
"Status":"ENABLE",
"ClientType":"OBM",
"QuotaList":[
{
"Enabled":true,
"DestinationKey":"OBS",
"Quota":53687091200
}
]
}
OUTPUT
{
"Status":"OK"
}
GetUser (v1,v2)
This API can be used to retrieve the information of a backup user.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User > %User Name%
v1 GetUser.do
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetUser.do
Deprecated Since Version: 7.15.6.38
v2 GetUser.do
URL
https://CBS.EXAMPLE.COM/obs/api/json/2/GetUser.do
Available Since Version: 9.7
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Backup user name. |
Owner | String | Owner of the backup user (if applicable). |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Data | JSON Object | Details of the user. |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
JSON Objects
User
Key | Type | Description |
---|---|---|
AccessToken | String | Client API token that is used by OBC, should have no use to customers. |
AdGroup | String | Legacy v6 Advertisement group (not used by AhsayCBS). |
AdGroups | Array | Legacy v6 Advertisement groups (not used by AhsayCBS). |
Alias | String | Display name. |
BackupSetIdList | Array | ID number of each backup set. |
Bandwidth | Long | v6 bandwidth |
ClientRunVersion | String | Version of the backup client used. |
ClientType | String | Type of backup client, either ACB or OBM. |
ComputerNameDirList | Array | Path to the client logs. |
ContactList | JSON Object | See ContactList. |
DoubleEncodedName | String | Gets the double URL encoded name of the backup user. |
EmailReportSettings | JSON Object | See EmailReportSettings. |
EncodedName | String | Encoded name of the backup user. |
File | String | Path to users.xml. |
ForgotPasswordSettings | JSON Object | See ForgotPasswordSettings. |
FullName | String | For legacy v6 backup sets. The value is only set with the value of "LongLoginName" for get profile request received from Backup Client. |
GroupPolicySettings | JSON Object | See GroupPolicySettings. |
HashedPassword | Boolean | Legacy, unused by AhsayCBS. |
HomeDir | String | Path of the User Home. |
HostCount | Integer | Current client host limit in use. |
HostInfo | JSON Object | Number of CPU in client computer of each Run on Client backup set and Owner of each Run on Client backup set. |
Hostname | String | AhsayCBS server host name. |
HostQuota | Long | Client host limit. |
HostQuotaEnabled | Boolean | True / False |
HostSet | JSON Object | See HostSet. |
Id | Long | Millisecond time format. |
ImportDate | Long | Millisecond time format (0c=cnot imported user). |
Language | String | Language used. |
LastClientLoginTime | Long | Time of last login in backup client, in millisecond time format. |
LastLoginTime | Long | Time of last login, in millisecond time format. |
LastShowingLicViolationTime | Long | License violation time. |
LastSuccessfulLoginInfo | JSON Object | Info about the successful login by the user including IP Address, application & time. |
LdapSettings | JSON Object | See LdapSettings. |
Locked | Boolean | True / False |
LockedByMFA | Boolean | Whether account is locked due to too many MFA failure because of wrong passcode. |
LongLoginName | String | If user is owned by Sub-Admin the response will include the Username appended with Sub-Admin ID number (example, JohnDoe#12345). |
MailboxUsage | Integer | Count for Mailbox usage. |
ModuleSettings | JSON Object | See ModuleSettings. |
ModulesSettings | JSON Object | See ModulesSettings. |
MoveUserHomeRecord | JSON Object | Record for moving User Home. |
Name | String | User name. |
NewBSetName | String | Backup set name when Default Backup Set Name policy setting is disabled. |
Notes | String | User notes. |
OpenDirectUsageCount | Integer | Count for OpenDirect usage. |
Owner | String | Owner of the backup user. |
Password | String | Hashed password. |
PasswordHistory | JSON Object | See PasswordHistory. |
PreV7 | Boolean | True / False |
ProxySettings | JSON Object | See ProxySettings. |
QuotaList | JSON Object (Array) | Array list (see QuotaList). |
RegistrationDate | Long | Timestamp of registration date. |
RoutineJobsSettings | JSON Object | See RoutineJobsSettings. |
RunDirectQuota | Integer | Quota for Run Direct. |
RunDirectQuotaEnabled | Boolean | True / False |
SavePassword | Boolean | True / False |
SecurityIdentifier | String | For client to handle Schedule/CDP/Reminder in Windows. |
SecuritySettings | JSON Object | v8.3 SecuritySetting entity of the backup user including the phone list, whether individual MFA is enabled or not, etc. |
ServerSettings | JSON Object | Settings for returning to backup client only. |
SoftwareUpdateSettings | JSON Object | See SoftwareUpdateSettings. |
Status | String | Status of the backup user, either Suspended or Enable. |
SuspendPaidUserDate | String | Suspend date for Paid/Trial user in YYYYMMDD format. |
Timezone | String | Time zone. |
TopDir | String | Path to User Home. |
TotalStatistics | JSON Object | See TotalStatistics. |
TrialDays | Long | Days for trial. |
Type | String | Type of user, either TRIAL or PAID. Default to TRIAL if not specified. |
Updated | Boolean | Whether user was updated in cache but not yet saved to users.xml. |
UploadEncryptionKey | Boolean | True / False |
UserHome | String | Path to the User Home. |
UserId | String | Client user name. |
UserLockSettings | JSON Object | See UserLockSettings. |
UserSuspendSettings | JSON Object | See UserSuspendSettings. |
V6File | String | Path to v6 Profile.xml (regardless if AhsayCBS created user or import). |
WindowsEventLogSettings | JSON Object | See WindowsEventLogSettings. |
QuotaType | String | Type of quota, either TOTAL_QUOTA or PER_DESTINATION_QUOTA. |
StorageQuota | Long | Total quota in GB. |
EnableAUA | Boolean | Enable / disable Auto Update Agent. |
QuotaList
Key | Type | Description |
---|---|---|
Enabled | Boolean | True / False |
DestinationName | String | Name of the backup destination. |
DestinationKey | String | ID of the predefined destination or "OBS" for quota on AhsayCBS. |
Quota | Long | Unit in bytes. |
ContactList
Key | Type | Description |
---|---|---|
Company | String | Name of the company of the contact. |
String | Email address of the contact. | |
Address | String | Address of the contact. |
EmailCertificate | String | Email certificate of the contact. |
Website | String | Website of the contact. |
Name | String | Name of the contact. |
Phone1 | String | Phone number of the contact. |
Phone2 | String | Alternate phone number of the contact. |
EncryptEmail | Boolean | True / False |
EmailReportSettings
Key | Type | Description |
---|---|---|
SendBkpRpt | Boolean | True / False |
Usage | Long | Usage statistics. |
SmtpAuthUser | String | SMTP authorized user. |
ReportSenderEmail | String | Email address of the report sender. |
SendBkpRptMode | String | Mode for sending backup reports. |
SmtpHostName | String | Host name of the SMTP. |
MissedBkpInterval | Long | Missed backup intervals. |
SmtpPort | String | Port used for SMTP (e.g.8629). |
SendMissedBkpRpt | Boolean | True / False |
SendStorageAlert | Boolean | True / False |
SmtpAuthPwd | String | Password for SMTP. |
String | Email address. | |
Enabled | Boolean | True / False |
ForgotPasswordSettings
Key | Type | Description |
---|---|---|
RequestTime | Long | Time requested. |
ResetTime | Long | Time reset. |
GroupPolicySettings
Key | Type | Description |
---|---|---|
UserGroupIDList | Array | Assigned User Group(s) ID. |
ExcludeNetworkShare | Boolean | Legacy v6 Policy Group option, not available to update/use in AhsayCBS. |
GroupQuota | Integer/Long | Group quota backups. |
UsedGroupQuota | Integer/Long | Total group quota used. |
FileSizeLimit | Long | Files restricted to specified size. |
HostInfo
Key | Type | Description |
---|---|---|
Hosts | Array | Number of CPU socket and host name. |
HostSet
Key | Type | Description |
---|---|---|
"String":"string" | String | Contains host name of device installed with client. |
LastSuccessfulLoginInfo
Key | Type | Description |
---|---|---|
Type | String | OS and Browser or client type used to login. |
PhoneNumber | Long | Phone number if MFA is used. |
IpAddress | String | IP address used to login. |
Time | Long | Time of last login in millisecond time format. |
Id | Long | Timestamp in millisecond time format (auto-generate). |
LdapSettings
Key | Type | Description |
---|---|---|
LdapUser | Boolean | True / False. |
LastDeleteTime | Long | Time last deleted. |
LastDisableTime | Long | Time last disabled. |
FirstAuthFailureTime | Long | Time of first authentication failure. |
ModuleSettings
Key | Type | Description |
---|---|---|
CDPEnabled | Boolean | If feature is enabled. |
DeduplicationEnabled | Boolean | If feature is enabled. |
DeltaMergeEnabled | Boolean | If feature is enabled. |
InFileDeltaEnabled | Boolean | If feature is enabled. |
LotusDominoBackupEnabled | Boolean | If feature is enabled. |
LotusNotesBackupEnabled | Boolean | If feature is enabled. |
MariaDBBackupEnabled | Boolean | If feature is enabled. |
MobileEnabled | Boolean | If AhsayMOB is enabled (deprecated v8.5+). |
MobileQuota | Long | Quota value for AhsayMOB (deprecated v8.5+). |
MobileV2Enabled | Boolean | If Ahsay Mobile feature is enabled. |
MobileV2Quota | Long | Value fixed at 10 when MobileV2Enabled=true. |
MSExchangeBackupEnabled | Boolean | If feature is enabled. |
MSExchangDAGServerQuota | Long | Quota value for MS Exchange Server. |
MSExchangeMailboxBackupEnabled | Boolean | If feature is enabled. |
MSExMailboxQuota | Long | Quota value for MS Exchange Mailbox module. |
MSHyperVBackupEnabled | Boolean | If feature is enabled. |
MSHyperVVMQuota | Long | Quota value for Hyper-V. |
MSHyperVVMQuotaType | String | Quota type, either Guest VM or Socket. |
MSSQLBackupEnabled | Boolean | If feature is enabled. |
MSWindowsSystemBackupEnabled | Boolean | If feature is enabled. |
MSWindowsSystemStateBackupEnabled | Boolean | If feature is enabled. |
MySQLBackupEnabled | Boolean | If feature is enabled. |
NasClientEnabled | Boolean | If Synology NAS feature is enabled. |
Office365MailEnabled | Boolean | If feature is enabled. |
Office365MailQuota | Long | Quota value for Microsoft 365 Backup. |
OpenDirectEnabled | Boolean | If feature is enabled. |
OpenDirectQuota | Long | Quota value for OpenDirect. Only works on pre-v9.13 AhsayCBS. |
OracleBackupEnabled | Boolean | If feature is enabled. |
PostgreSQLBackupEnabled | Boolean | If feature is enabled. |
QnapEnabled | Boolean | If QNAP NAS feature is enabled. |
ShadowCopyEnabled | Boolean | If feature is enabled. |
ShadowProtectBackupEnabled | Boolean | If feature is enabled. |
VMwareBackupEnabled | Boolean | If feature is enabled. |
VMwareVMQuota | Long | Quota value for VMware. |
VMwareVMQuotaType | String | Quota type, either Guest VM or Socket. |
PasswordHistory
Key | Type | Description |
---|---|---|
PasswordLastModifiedTime | Long | Time password was last modified. |
HistoryList | Array | Array list of password history. |
MoveUserHomeRecord
Key | Type | Description |
---|---|---|
Dest | String | Destination User Home path. |
StartTime | Long | Millisecond time format. |
Source | String | Source User Home path. |
ProxySettings
Key | Type | Description |
---|---|---|
Type | String | Proxy type. |
Username | String | Proxy username used to login. |
Port | String | Port for the proxy. |
Enabled | Boolean | True / False |
Host | String | Hostname or IP of the proxy. |
Password | String | Password used to login to the proxy. |
RoutineJobsSettings
Key | Type | Description |
---|---|---|
QuotaRemindPercentage | Long | Backup quota reminder to user if backup quota is over a certain percentage. |
InactiveReportLastSentTime | Long | Time when last inactive report was sent. |
SecuritySettings
Key | Type | Description |
---|---|---|
UserLockSettings | Object | See UserLockSettings. |
Id | String | ID of the user. |
LastFailureTime | Long | Time of last failure. |
LockedTime | Long | Time user has been locked. |
LoginFailureCount | Long | Number of failed logins. |
PhoneList | Array | Array list of registered phones. |
Id | Long | ID of phone. |
Verified | Boolean | True / False |
VerifiedTime | Long | Time phone number was verified. |
PhoneNumber | Long | Phone number. |
CountryCode | Long | Country code of the phone number. |
Enable | Boolean | True / False |
SendLimitSettings | Object | List of setting for sending limit. |
LastSendTime | Long | Time last sent. |
SendCount | Integer | Number of times. |
RecoverySettings | Object | List of settings for recovery |
Token | String | Special key for recovery of user account. |
ExpiryTime | Long | Time limit when token is valid. |
TotalStatistics
Key | Type | Description |
---|---|---|
RetentionAreaUncompressedSize | Long | Uncompressed size of Retention Area. |
DataAreaFileCount | Integer | File count of Data Area. |
DataAreaUncompressedSize | Long | Uncompressed size of Data Area. |
DataAreaCompressedSize | Long | Compressed size of Data Area. |
RetentionAreaCompressedSize | Long | Compressed size of Retention Area. |
RetentionAreaFileCount | Integer | File count of Retention Area. |
TotalRecycleBinUncompressedSize | Long | Total uncompressed size all the user's backup sets in recycle bin. |
TotalRecycleBinCompressedSize | Long | Total compressed size all the user's backup sets in recycle bin. |
TotalRecycleBinFileCount | Long | Total file count of all the user's backup sets in recycle bin. |
UserLockSettings
Key | Type | Description |
---|---|---|
LastFailureTime | Long | Time of last failure. |
LockedTime | Long | Time user has been locked. |
LoginFailureCount | Integer | Number of failed logins. |
UserSuspendSettings
Key | Type | Description |
---|---|---|
Enabled | Boolean | True / False |
Date | Long | Timestamp in millisecond time format. |
windowsEventLogSettings
Key | Type | Description |
---|---|---|
Enabled | Boolean | True / False |
LogProfile | Boolean | True / False |
LogServices | Boolean | True / False |
LogUtilities | Boolean | True / False |
LogBackup | Boolean | True / False |
LogError | Boolean | True / False |
LogSoftwareUpdate | Boolean | True / False |
LogReport | Boolean | True / False |
LogLoginLogout | Boolean | True / False |
LogInfo | Boolean | True / False |
LogBuy | Boolean | True / False |
LogLicense | Boolean | True / False |
LogWarn | Boolean | True / False |
LogRestore | Boolean | True / False |
ModuleUsage
Key | Type | Description |
---|---|---|
MSExMailbox | Long | Usage of MSExMailbox module license. |
MSHyperVVM | Long | Usage of MSHyperVVM module license. |
MSVMwareVM | Long | Usage of MSVMwareVM module license. |
Office365Mail | Long | Usage of Office365Mail module license. |
HostCount | Long | Usage of OBM / ACB license. |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm2"
}
OUTPUT
{
"Status":"OK",
"Data":{
"Timezone":"1098",
"ClientRunVersion":"",
"Owner":"",
"HostCount":1,
"SoftwareUpdateSettings":{
"ReadOnly":false,
"Enabled":true,
"Id":""
},
"ModuleSettings":{
"MobileQuota":0,
"VMwareVMQuotaType":"GUESTVM",
"VMwareVMQuota":0,
"MobileEnabled":false,
"DeltaMergeEnabled":false,
"MSExchangeMailboxBackupEnabled":false,
"DeduplicationEnabled":false,
"MariaDBBackupEnabled":false,
"OracleBackupEnabled":false,
"QnapEnabled":false,
"MSExchangeBackupEnabled":false,
"OpenDirectEnabled":false,
"VMwareBackupEnabled":false,
"InFileDeltaEnabled":false,
"MSHyperVVMQuota":0,
"MySQLBackupEnabled":false,
"MobileV2Quota":0,
"LotusDominoBackupEnabled":false,
"OpenDirectQuota":0,
"MobileV2Enabled":false,
"ReadOnly":false,
"Office365MailQuota":0,
"MSHyperVVMQuotaType":"GUESTVM",
"NasClientEnabled":false,
"MSSQLBackupEnabled":false,
"MSExchangDAGServerQuota":0,
"ShadoeProtectBackupEnabled":false,
"MSWindowsSystemStateBackupEnabled":false,
"MSHyperVBackupEnabled":false,
"ShadowCopyEnabled":false,
"LotusNotesBackupEnabled":false,
"Id":"",
"Office365MailEnabled":false,
"CDPEnabled":false,
"MSExMailboxQuota":0,
"MSWindowsSystemBackupEnabled":false
},
"PasswordHistory":{
"ReadOnly":false,
"HistoryList":[],
"PasswordLastModifiedTime":1687069108460,
"Id":""
},
"RunDirectQuotaEnabled":false,
"Name":"obm2",
"AccessToken":"E1C9029954184F92B858280B9A6A3EBAA4F8809CA3E441C198ED5C2DE57918C3",
"UserHome":"C:\\Program Files\\AhsayCBS\\user\\obm2",
"LastSuccessfulLoginInfo":null,
"WindowsEventLogSettings":{
"ReadOnly":false,
"LogLoginLogout":false,
"LogInfo":false,
"LogLicense":false,
"Enabled":false,
"LogUtilities":false,
"LogError":false,
"LogServices":false,
"Id":"",
"LogSoftwareUpdate":false,
"LogProfile":false,
"LogRestore":false,
"LogBackup":false,
"LogWarn":false,
"LogBuy":false,
"LogReport":false
},
"UserSuspendSettings":{
"ReadOnly":false,
"Enabled":false,
"Id":"",
"Date":0
},
"Status":"ENABLE",
"ReadOnly":false,
"LockedByMFA":false,
"OpenDirectUsageCount":0,
"EncodedName":"obm2",
"MobileUserID":null,
"Updated":false,
"SavePassword":false,
"BackupSetIdList":[],
"Hostname":"jcvm.com",
"MailboxUsage":0,
"TrialDays":2592000000,
"DoubleEncodedName":"obm2",
"LastClientLoginTime":-1,
"PlanAmount":-1,
"UploadEncryptionKey":false,
"GroupPolicySettings":{
"ReadOnly":false,
"UserGroupIDList":[-1],
"ExcludeNetworkShare":false,
"GroupQuota":0,
"Id":"",
"UserGroupQuota":0,
"FileSizeLimit":0
},
"YearPlan":null,
"LastShowingLicViolationTime":-1,
"Id":"1687069108461",
"RunDirectQuota":1,
"File":"C:\\Program Files\\AhsayCBS\\con\\users.xml",
"MobileAuthenticationSettings":{
"Enable":false,
"LastCountryCode":""
},
"ForgotPasswordSettings":{
"ReadOnly":false,
"Token":"",
"RequestTime":-1,
"Id":"",
"ResetTime":-1
},
"LdapSettings":{
"ReadOnly":false,
"LdapUser":false,
"LastDeleteTime":0,
"LastDisableTime":0,
"Id":"",
"FirstAuthFailureTime":-1
},
"TopDir":"C:\\Program Files\\AhsayCBS\\user",
"EnableAUA":true,
"ClientType":"OBM",
"RegistrationDate":1687069108460,
"QuotaList":[
{
"DestinationKey":"OBS",
"Quota":5368091200,
"DestinationName":"AhsayCBS",
"Enabled":true
},
{
"DestinationKey":"-1687068833705",
"Quota":0,
"DestinationName":"Local-1",
"Enabled":false
},
{
"DestinationKey":"-1686815201815",
"Quota":0,
"DestinationName":"AhsayCBS-1",
"Enabled":false
}
],
"ProxySettings":{
"ReadOnly":false,
"Type":"",
"Username":"",
"Port":"",
"Enabled":false,
"Host":"",
"Id":"",
"Password":""
},
"HostQuotaEnabled":false,
"AdGroups":[1],
"ComputerNameDirList":null,
"SecuritySettings":{
"UserLockSettings":{
"LockedTime":-1,
"LastFailureTime":-1,
"LoginFailureCount":0
},
"PhoneList":[],
"Enable":false,
"SendLimitSettings":{
"LastSendTime":-1,
"SendCount":0
},
"RecoverySettings":{
"Token":"",
"ExpiryTime":-1
}
},
"AdGroup":"1",
"SuspendPaidUserDate":"19700101",
"MobileBackupSettings":{
"DeviceList":[]
},
"HostSet":{
"":""
},
"Locked":false,
"CloudbackoGoDriveEnabled":false,
"Language":"en",
"ServerSettings":null,
"HomeDir":"C:\\Program Files\\AhsayCBS\\user\\obm2",
"Bandwidth":0,
"StorageQuota":100,
"class":"com.ahsay.obs.core.cxp.User",
"HashedPassword":true,
"SecurityIdentifier":"",
"Notes":"",
"Password":"BSJEajFurvvTdkh1V4+1Asgw6wjjIpkgK3rJ00y5S87B0=",
"RemovingLogs":null,
"NewBSetName":"BackupSet-0",
"ImportDate":0,
"UserLockSettings":{
"LockedTime":-1,
"LastFailureTime":-1,
"LoginFailureCount":0
},
"TotalStatistics":{
"TotalRecycleBinUncompressedSize":0,
"DataAreaFileCount":0,
"TotalRestoreCompressedSize":0,
"TotalRecycleBinFileCount":0,
"LastBackupCompressedSize":0,
"DataAreaCompressedSize":0,
"LastBackupUncompressedSize":0,
"RetentionAreaFileCount":0,
"RetentionAreaUncompressedSize":0,
"DataAreaUncompressedSize":0,
"TotalUploadCompressedSize":0,
"LastBackupFileCount":0,
"TotalUploadFileCount":0,
"TotalRestoreFileCount":0,
"TotalRecycleBinCompressedSize":0,
"RetentionAreaCompressedSize":0
},
"QuotaType":"PER_DESTINATION_QUOTA",
"V6File":"C:\\Program Files\\AhsayCBS\\user\\obm2\\db\\Profile.xml",
"RoutineJobSettings":{
"ReadOnly":false,
"QuotaRemindPercentage":0,
"Id":"",
"InactiveReportLastSentTime":-1
},
"LongLoginName":"obm2",
"ContactList":[
{
"ReadOnly":false,
"Company":"",
"Phone1":"",
"Email":"obm2@example.com",
"Address":"",
"EmailCertificate":"",
"Phone2":"",
"EncryptEmail":false,
"Website":"",
"Id":"1687069108462",
"Name":""
}
],
"EmailReportSettings:{
"SendBkpRpt":false,
"ReadOnly":false,
"Usage":0,
"Email":"",
"ReportSenderEmail":"",
"SmtpAuthUser":"",
"Enabled":false,
"SendBkpRptMode":"",
"SmtpHostName":"",
"MissedBkpInterval":0,
"SmtpProtocol":"",
"Id":"",
"SmtpPort":"",
"SendMissedBkpRpt":false,
"SendStorageAlert":false,
"SmtpAuthPwd":""
},
"LastLoginTime":0,
"Type":"PAID",
"UsedHostQuota":0,
"Alias":"",
"UserId":"obm2",
"FullName":null,
"PreV7":false,
"TrialExpiryDate":0,
"MoveUserHomeRecord":null,
"HostQuota":1,
"HostInfo":""
}
}
ModifyUserStatus
This API can be used to modify a user account status to either enable or suspended. It cannot be used for trial user accounts which are suspended after they have exceeded the trial period.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User > %User Name% > User Profile > General
URL
https://CBS.EXAMPLE.COM/obs/api/json/ModifyUserStatus.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Backup user name. |
Owner | String | Owner of the backup user (if applicable). |
Status | String | Status of the backup user, either ENABLE or SUSPENDED. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm2",
"Status":"SUSPENDED"
}
OUTPUT
{
"Status":"OK"
}
OUTPUT 2: User does not exist
{
"Status":"Error",
"Message":"[UserCacheManager.NoSuchUserExpt] User ‘obm2’ not found.",
"ExptType":"com.ahsay.obm.core.dbs.ai"
}
RemoveUser
This API removes a backup user.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User
URL
https://CBS.EXAMPLE.COM/obs/api/json/RemoveUser.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Backup user name. |
Owner | String | Owner of the backup user (if applicable). |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm2"
}
OUTPUT
{
"Status":"OK"
}
SendForgotPwdEmail
This API will send a forgot password email to a backup user who forgot their login password, to allow them to reset their login password.
URL
https://CBS.EXAMPLE.COM/obs/api/json/SendForgotPwdEmail.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
LoginName | String | Backup user name. |
Owner | String | Owner of the backup user (if applicable). |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
Examples
Example 1
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm"
}
OUTPUT
{
"Status":"OK"
}
Example 2: Login name is incorrect / does not exist
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm2"
}
OUTPUT
{
"Status":"Error",
"Message":"[UserCacheManager.NoSuchUserExpt] User 'obm2' not found.",
"ExptType":"com.ahsay.obs.core.dbs.ai"
}
GetUserStatus
This API can be used to retrieve detailed information of backup or restore jobs that are currently running.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Live Activities > Backup User > Backup Status or Restore Status
URL
https://CBS.EXAMPLE.COM/cbs/api/json/GetUserStatus.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
Type | String | Type of job, either backup or restore. |
Return Values
Key | Type | Description |
---|---|---|
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 only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
JSON Objects
BkpStatus / RestoreStatus
Key | Type | Description |
---|---|---|
ID | String | ID of backup and restore job status. |
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 | Type of user, can either be Trial or Paid. |
ClientType | String | Type of backup client, can either be OBM or ACB. |
Type | String | Type of backup set, 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, VMwar Virtualization and 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, Alibaba Cloud:Aliyun, CTYun:CTYun, Amazon S3:S3, AWS S3 Compatible Cloud Storage:AWSCompatible, Wasabi:Wasabi, Backblaze:Backblaze, 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 and Destination pool:Pooled. |
OverallPercent | String | Progress of the backup job shown in percentage. |
BackupStatus | String | Message type of the current stage of backup job (Info/Warn/Error). |
LastMessage | String | Last message reported during the backup job. |
LastUpdateTime | String | Time of 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 BackupStatus (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 BackupStatus (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 BackupStatus (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 | Type of file, which can be Full, Incremental or Differential. |
CurrentFileOperation | String | File operation list. The value can be one of the following: new, update, delete, move or file permission. |
DeltaFile | String | Delta file path. |
DeltaFilePercent | String | Upload percentage of the current delta file. |
DeltaType | String | Delta type, which can either be Incremental or Differential. |
BackupJobID or RestoreJobID | String | Backup Job ID for BackupStatus (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. |
Examples
Example 1: If "Type" is "backup" ("Type":"backup")
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm"
}
OUTPUT
{
"Status":"OK",
"BkpStatus":[
{
"LoginName":"obm",
"Owner":"",
"ClientType":"OBM",
"CurrentFileType":"",
"UploadedNumOfLinks":"0",
"ElapsedTime":"4 sec",
"BackupSetID":"1687077919738",
"DestinationType":"OBS",
"CurrentFile":"",
"TransferRate":"0bit/s",
"LastMessage":"[1687077949198] Using Temporary Directory C:\\Users\’user’\\.obm\\temp\\1687077919738\\OBS@1687077949198",
"UploadedSize":"0",
"LastUpdateTime":"06/18/2024 16:46:03",
"EstimatedTimeLeft":"0 sec",
"DestinationName":"AhsayCBS",
"BackupSet":"Backup Set Test (File Backup)",
"SizeLeft":"0",
"ID":"0",
"DeltaFilePercent":"0",
"DeltaType":"",
"UploadedNumOfFiles":"0",
"CurrentFileOperation":"",
"BackupJobID":"2024-06-18-16-45-58",
"DestinationID":"1687077949198",
"OverallPercent":"0",
"Type":"FILE",
"CurrentFilePercent":"0",
"UserID":"1686791459557",
"Alias":"obm",
"DeltaFile":"",
"UploadedNumOfDirs":"0",
"UserType":"PAID",
"BackupStatus":"info"
}
]
}
Example 2: If "Type" is "restore" ("Type":"restore")
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm"
}
OUTPUT
{
"Status":"OK",
"RestoreStatus":[
{
"LoginName":"obm",
"Owner":"",
"ClientType":"OBM",
"CurrentFileType":"",
"UploadedNumOfLinks":"0",
"ElapsedTime":"0 sec",
"BackupSetID":"1687077919738",
"DestinationType":"OBS",
"CurrentFile":"",
"TransferRate":"0bit/s",
"LastMessage":"start,Start [ AhsayOBM v9.5.4.0 ],0,0,0,,0,0\r\n",
"UploadedSize":"0",
"LastUpdateTime":"06/18/2024 16:58:28",
"EstimatedTimeLeft":"0 sec",
"DestinationName":"AhsayCBS",
"BackupSet":"Backup Set Test (File Backup)",
"SizeLeft":"0",
"ID":"0",
"DeltaFilePercent":"0",
"ExecuteJob":"",
"RestoreJobID":"2024-06-18-16-58-28
"DeltaType":"",
"UploadedNumOfFiles":"0",
"CurrentFileOperation":"",
"DestinationID":"1687077949198",
"OverallPercent":"0",
"Type":"FILE",
"CurrentFilePercent":"0",
"UserID":"1686791459557",
"Alias":"obm",
"DeltaFile":"",
"UploadedNumOfDirs":"0",
"UserType":"PAID",
"BackupStatus":"info"
}
]
}
GetServerRunJobStatus
This API can be used to retrieve detailed information of Run-on-Server (agentless) backup or restore jobs that are currently running.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User > %User Name% > Backup Set > Execute Job
URL
https://CBS.EXAMPLE.COM/cbs/api/json/GetServerRunJobStatus.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
User | String | Username of the backup user. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
RunJob | Array of RunJob | Run on server (agentless) backup set status (backup, restore, dataIntegrityCheck, deleteBackupData). |
JSON Objects
RunJob
Key | Type | Description |
---|---|---|
IsEnableStopBtn | Boolean | True for manually run jobs, and False when it is a scheduled job or job where there is no Stop in the UI. |
BackupSetID | String | Backup set ID. |
ExecuteJob | String | Job currently running, empty if no running job. |
Example
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"LoginName":"obm"
}
OUTPUT
{
"Status":"OK",
"RunJob":[
{
"BackupSetID":"1687077919738",
"ExecuteJob":""
}
]
}
UpdateAUA
This API can be used to toggle a list of Backup User(s) Auto Update Agent (AUA) setting.
The settings can be found on the AhsayCBS web console at:
- Backup / Restore > Users, Groups & Policies > Backup User > tick %User Name%
URL
https://CBS.EXAMPLE.COM/obs/api/json/UpdateAUA.do
Available Since Version: 9.1
Parameters
Key | Type | Description |
---|---|---|
SysUser | String | Username of an AhsayCBS System User with Admin or API role. |
SysPwd | String | Password matching SysUser. |
Enabled | Boolean | Set the list of users to enable / disable Auto Update. |
UserIdList | String | Multiple login names (case sensitive), separated by commas. For example: user1, user2, uSEr3. |
Return Values
Key | Type | Description |
---|---|---|
Status | String | "OK" or "Error" |
Message | String | Error message, it only appears if status displays "Error". |
ExptType | String | The type of exception, will only be displayed if the status is "Error". |
Examples
Example 1
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"Enabled":false,
"UserIdList":"user1, user2"
}
OUTPUT
{
"Status":"OK"
}
Example 2
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"UserIdList":"user1, user2"
}
OUTPUT
{
"Status":"Error",
"Message":"[Error] Parameter Enabled is null / empty!",
"ExptType":"com.ahsay.obs.core.dbs.DbsException"
}
Example 3
INPUT
{
"SysUser":"system",
"SysPwd":"system1",
"Enabled":true,
"UserIdList":"obm2"
}
OUTPUT
{
"Status":"Error",
"Message":"[UserCacheManager.NoSuchUserExpt] User ‘obm2’ not found.",
"ExptType":"com.ahsay.obs.core.dbs.ai"
}