Skip to main content

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)

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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
CriteriaStringDifferent criteria for searching.
searchByStringCriteria to use for searching.
searchStrStringOnly users with login name that contains searchStr are listed.
resellerStringLogin name of a reseller. Only users under reseller are listed.
UserGroupIDStringID of a user group. Only users under that user group are listed.
PolicyGroupIDStringID of a policy group. Only users under that policy group are listed.
DateStringNumber of days. Only users registered within that number of days are listed.
ClientTypeStringOBM / ACB. Only that type of users are listed.
LoginNameOnlyBooleanIf true, only login name of users are returned.
ClientTypeOnlyBooleanIf true, only login name and client type of users are returned.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
UserArrayIf 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.
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, will only be displayed if the status is "Error".
JSON Objects

UserClientType

KeyTypeDescription
IDStringID of the backup user.
LoginNameStringClient user name.
OwnerStringOwner of the user.
UserIdStringUnique ID for each user.
ClientTypeStringACB / OBM.
QuotaUsedIntegerUser quota used by the user.

UserLoginName

KeyTypeDescription
IDStringID of the backup user.
LoginNameStringClient user name.
OwnerStringOwner of the user.
UserIdStringUnique ID for each user.
ClientTypeStringACB / OBM.
QuotaUsedIntegerUser quota used by the user.

User

KeyTypeDescription
IDStringID of the backup user.
LoginNameStringClient user name.
OwnerStringOwner of the user.
UserIdStringUnique ID for each user.
AliasStringDisplay name.
UserTypeStringTRIAL / PAID. Default to TRIAL if not specified.
ClientTypeStringACB / OBM.
QuotaUsedIntegerUser quota used by the user.
DestinationQuotaListArrayArray list of Destination Quota settings.
DestinationNameStringName of target destination.
DestinationKeyLongEncryption key for the destination.
OnlineBooleanTrue / False.
TimezoneStringTimezone of the user.
LanguageLanguage used.ACB / OBM.
DataFileLongNumber of files in data area (Exclude local destination).
DataSizeLongCompressed size of data area (Exclude local destination).
RetainFileLongNumber of files in retention area (Exclude local destination).
RetainSizeLongCompressed size of retention area (Exclude local destination).
EnableMSSQLBooleanAdd-on module of MS SQL backup.
EnableMSExchangeBooleanAdd-on module of MS Exchange backup.
MsExchangeQuotaLongQuota of MS Exchange.
EnableMsWinSysStateBooleanAdd-on module of Windows System State backup.
EnableOracleBooleanAdd-on module of Oracle backup.
EnableLotusNotesBooleanAdd-on module of Lotus Notes backup.
EnableLotusDominoBooleanAdd-on module of Lotus Domino backup.
EnableMySQLBooleanAdd-on module of MySQL backup.
EnableInFileDeltaBooleanAdd-on module of In-File Delta feature.
EnableShadowCopyBooleanAdd-on module of Volume Shadow Copy feature.
EnableExchangeMailboxBooleanAdd-on module of Exchange Mailbox backup.
ExchangeMailboxQuotaLongQuota of Exchange Mailbox.
EnableNASClientBooleanAdd-on module of Synology NAS backup.
EnableQNAPBooleanAdd-on module of QNAP NAS backup.
EnableDeltaMergeBooleanAdd-on module of Delta Merge.
EnableMsVmBooleanAdd-on module of Hyper-V backup.
EnableOpenDirectBooleanAdd-on module of OpenDirect feature.
OpenDirectQuotaLongOpenDirect quota. Parameter only works on pre-v9.13 AhsayCBS.
MsVmQuotaLongQuota of Hyper-V module.
EnableVMwareBooleanAdd-on module of VMware backup.
VMwareQuotaLongNumber of Guest VM allowed.
BandwidthLongBandwidth lmitation of user.
NotesStringBackup user notes.
StatusStringStatus of the user, either SUSPENDED or ENABLE.
RegistrationDateLongDate of backup user registration.
SuspendPaidUserBooleanTrue / False
SuspendPaidUserDateStringDate when backup user will be suspended.
LastBackupDateLongLatest date when backup job was run.
EnableCDPBooleanAdd-on module of Continuouos Data Protection.
EnableShadowProtectBareMetalBooleanAdd-on module of ShadowProtect backup.
EnableWinServer2008BareMetalBooleanAdd-on module of Windows system backup.
MsVmQuotaTypeStringQuota type which can ba GUESTVM or SOCKET.
VMwareQuotaTypeStringQuota type which can ba GUESTVM or SOCKET.
EnableMobileBooleanAdd-on module of Mobile backup.
MobileQuotaLongQuota for mobile.
EnableOffice365MailBooleanAdd-on module of Microsoft 365 backup.
Office365MailQuotaLongQuota for Microsoft 365.
HostnameStringURL or hostname used to access AhsayCBS.
LdapUserStringLDAP user account.
LdapDeleteUserLongDate LDAP account was deleted.
LdapDisableUserLongDate LDAP account was disabled.
ExpiryDateLongExpiry date of backup user account.
LatestClientVersionStringLatest version used by the client.
UserGroupIDListArrayArray of user group ID.
UserHomeStringPath of the User Home directory.
ContactArrayArray list of contacts.
QuotaListArrayArray of backup quota for backup destination.
QuotaTypeStringType of quota, either TOTAL_QUOTA or PER_DESTINATION_QUOTA.
StorageQuotaLongTotal quota in GB. Value validity examined when used by TOTAL_QUOTA.
EnableDeduplicationBooleanAdd-on module of Deduplication.
EnableTiberoBooleanAdd-on module of Tibero backup.
EnableLinuxBareMetalBooleanAdd-on module of Linux Bare Metal backup.
EnablePostgreSQLBooleanAdd-on module of PostgreSQL backup.

QuotaList

KeyTypeDescription
EnabledBooleanTrue / False
DestinationNameStringName of the backup destination.
DestinationKeyStringID of the backup destination, or OBS for quota on AhsayCBS.
QuotaIntegerUnit in bytes. Value validity examined when used by PER_DESTINATION_QUOTA.

UserGroup

KeyTypeDescription
UserGroupIDStringID of the user group.
UserGroupNameStringName of the user group.
ShowLinkBooleanTrue / False

Contact

KeyTypeDescription
NameStringName of the contact.
EmailStringEmail address of the contact.

ModuleUsage

KeyTypeDescription
MSExMailboxLongUsage of MSExMailbox module license.
MSHyperVVMLongUsage of MSHyper-V VM module license.
VMwareVMLongUsage of VMware VM module license.
Office365MailLongUsage of Microsoft 365 module license.
HostCountLongUsage 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringName of the backup user.
OwnerStringThe owner of backup user (if applicable).
PasswordStringPassword used to login.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringName of the backup user.
OwnerStringThe owner of backup user (if applicable).
BackupSetIDStringID of the backupset. Obtainable in GetBackupset API.
CheckCrcBooleanCyclic redundancy check.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, it appears only if status is "Error".
JSON Objects

Rebuild Status

KeyTypeDescription
LoginNameStringName of backup user.
BackupSetIDStringID of the backup set.
StatusStringStatus of the rebuild.
StartTimeLongTime when rebuild started.
EndTimeLongTime 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringName of the backup user.
OwnerStringThe owner of backup user (if applicable).
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
DataJSON Object RebuildStatusRefer to JSON Objects - Rebuild Status.
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, it appears only if status is "Error".
JSON Objects

RebuildStatus

KeyTypeDescription
LoginNameStringName of backup user.
BackupSetIDStringID of the backup set.
StatusStringStatus of the rebuild.
StartTimeLongTime when rebuild started.
EndTimeLongTime 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringName of the backup user.
OwnerStringThe owner of backup user (if applicable).
YearMonthStringIn "yyyy-MM" format. For example, to get the storage statistics of January 2024, the parameter is "2024-01".
BackupSetIDString"all" to get statistics of all backup sets or the backup set ID for a specific backup set.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
DataArray of AverageStatArray list of AverageStat settings.
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, it appears only if status is "Error".
JSON Objects

AverageStat

KeyTypeDescription
YearMonthStringThe year and month in yyyy-MM format.
AvgDataSizeStringAverage data size in k/M/G format of all backup sets.
AvgDataRawSizeStringAverage data size in raw byte format of all backup sets.
AvgDataNoStringAverage data number.
AvgRetainSizeStringAverage retained data size in k/M/G format of all backup sets.
AvgRetainRawSizeStringAverage retained data size in raw byte format of all backup sets.
AvgRetainNoStringAverage retain number.
AvgUploadSizeStringAverage uploaded data size in k/M/G format of all backup sets.
AvgUploadRawSizeStringAverage uploaded data size in raw byte format of all backup sets.
AvgUploadNoStringAverage upload number.
AvgTotalStorageSizeStringAverage total storage size in k/M/G format of all backup sets.
AvgTotalStorageRawSizeStringAverage total storage size in raw byte format of all backup sets.
AvgTotalStorageNoStringAverage total storage number.
StorageArray of DetailStatRefer to DetailStat.

DetailStat

KeyTypeDescription
DateStringThe date in yyyy-MM-dd format.
DataSizeStringData size in k/M/G format.
DataRawSizeStringData size in raw byte format.
DataUncompressedLongUncompressed data size in k/M/G format.
DataRawUncompressedLongUncompressed data size in raw byte format.
DataNoStringData number.
RetainSizeStringRetained data size in k/M/G format.
RetainRawSizeStringRetained data size in raw byte format.
RetainUncompressedStringUncompressed retained data size in k/M/G format.
RetainRawUncompressedStringUncompressed retained data size in raw byte format.
RetainNoStringRetain number.
UploadSizeStringUploaded data size in k/M/G format.
UploadRawSizeStringUploaded data size in raw byte format.
UploadUncompressedStringUncompressed uploaded data size in k/M/G format.
UploadRawUncompressedStringUncompressed uploaded data size in raw byte format.
UploadNoStringUpload number.
TotalStorageSizeStringTotal storage size in k/M/G format.
TotalStorageRawSizeStringTotal storage size in raw byte format.
TotalStorageUncompressedStringUncompressed total storage size in k/M/G format.
TotalStorageRawUncompressedStringUncompressed total storage size in raw byte format.
TotalStorageNoStringTotal storage number.
DestinationIDStringDestination 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.

The name of the v1 UpdateUserProfile.do API was changed to UpdateUser.do

URL

https://CBS.EXAMPLE.COM/obs/api/json/2/UpdateUser.do

Available Since Version: 9.5

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringName of the backup user.
OwnerStringThe owner of backup user (if applicable).
AliasStringBackup user alias (if applicable).
StatusStringStatus of the backup user, either SUSPENDED or ENABLE.
TypeStringType of backup user, either TRIAL or PAID. Default to TRIAL if not specified.
ClientTypeStringType of backup client, either OBM or ACB.
PasswordStringPassword of the user account.
LanguageStringLanguage used by the backup user.
NotesStringUser notes.
QuotaListJSON objectRefer to QuotaList.
HostQuotaEnabledBooleanEnable or disable the client host.
HostQuotaLongClient host limit.
RunDirectQuotaEnabledBooleanEnable or disable Run Direct.
RunDirectQuotaLongRun Direct limit.
ModuleSettingsJSON objectUsed to assign modules.
WindowsEventLogSettingsWindowsEventLogSettingsLog
ContactArrayIf "AppendContact" is "Y", all contacts in the array will be appended to the contacts.
AppendContactString"Y" or "N" to modify an existing contact (retrieve the corresponding keys required with the GetUser.do API).
ChangeContactString"Y" or "N" to change and overwrite an existing contact (retrieve the corresponding keys required with the GetUser.do API).
OldContactArrayExisting contacts. It is used if "ChangeContact" is "Y".
NewContactArrayIf "ChangeContact" is "Y", all contacts in OldContact will be updated with NewContact.
SecuritySettingsJSON 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.
QuotaTypeStringQuota type, either TOTAL_QUOTA or PER_DESTINATION_QUOTA.
StorageQuotaLongTotal quota in GB. Value validity examined when used by TOTAL_QUOTA.
EnableAUABooleanAuto Update Agent setting.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, it appears only if status is "Error".
JSON Objects

ModuleSettings

KeyTypeDescription
MSExchangeMailboxBackupEnabledBooleanDefines whether module MS Exchange Mailbox backup will be enabled.
MSExMailboxQuotaLongQuota for MSExchangeMailBox.
MSSQLBackupEnabledBooleanDefines whether module MS SQL backup will be enabled.
MSExchangeBackupEnabledBooleanDefines whether module MS Exchange backup will be enabled.
OracleBackupEnabledBooleanDefines whether module Oracle backup will be enabled.
LotusDominoBackupEnabledBooleanDefines whether module Lotus Domino backup will be enabled.
LotusNotesBackupEnabledBooleanDefines whether module Lotus Notes backup will be enabled.
MySQLBackupEnabledBooleanDefines whether module MySQL backup will be enabled.
InFileDeltaEnabledBooleanDefines whether module In-File Delta will be enabled.
ShadowCopyEnabledBooleanDefines whether module Volume Shadow Copy will be enabled.
NasClientEnabledBooleanDefines whether module Synology NAS Client will be enabled.
QnapEnabledBooleanDefines whether module QNAP NAS Client will be enabled.
DeltaMergeEnabledBooleanTrue / False
MSHyperVBackupEnabledBooleanDefines whether module MS Hyper-V backup will be enabled.
MSHyperVVMQuotaLongDefines module MS Hyper-V VM quota.
MSHyperVVMQuotaTypeStringMS Hyper-V VM quota type, either GUESTVM or SOCKET.
VMwareBackupEnabledBooleanDefines whether module VMware backup will be enabled.
VMwareVMQuotaLongDefines module VMware VM quota.
VMwareVMQuotaTypeStringVMware VM quota type, either GUESTVM or SOCKET.
CDPEnabledBooleanDefines whether module CDP will be enabled.
ShadowProtectBackupEnabledBooleanDefines whether module ShadowProtect backup will be enabled.
MSWindowsSystemBackupEnabledBooleanDefines whether module MS Windows System backup will be enabled.
MSWindowsSystemStateBackupEnabledBooleanDefines whether module MS Windows System State backup will be enabled.
Office365MailEnabledBooleanDefines whether module Microsoft 365 Mail backup will be enabled.
Office365MailQuotaLongDefines module Microsoft 365 quota.
MobileEnabledBooleanDeprecated from v8.5; no new mobile v1 modules can be Enabled for users.
MobileV2EnabledBooleanDefines whether module MobileV2 will be enabled.
MobileQuotaLongDeprecated from 8.5.
MobileQuotaV2LongFixed at 10.
OpenDirectEnabledBooleanDefines whether module OpenDirect will be enabled.
OpenDirectQuotaStringDefines module OpenDirect quota. Only works on pre-v9.13 AhsayCBS.
MariaDBBackupEnabledBooleanDefines whether module MariaDB backup will be enabled.
DeduplicationEnabledBooleanDefines whether module Deduplication will be enabled.
TiberoBackupEnabledBooleanDefines whether module Tibero Database Server backup will be enabled.
LinuxBareMetalBackupEnabledBooleanDefines whether module Linux Bare Metal backup will be enabled.
PostgreSQLBackupEnabledBooleanDefines whether module PostgreSQL Server backup will be enabled.

Contact

KeyTypeDescription
CompanyStringCompany where contact is from.
EmailStringContact email address.
AddressStringAddress of contact.
WebsiteStringWebsite of contact.
NameStringContact name.
Phone1StringContact phone number.
Phone2StringContact alternate phone number.

WindowsEventLogSettings

KeyTypeDescription
EnabledBooleanTrue / False
LogErrorBooleanLog type
LogProfileBooleanLog option
LogServicesBooleanLog option
LogUtilitiesBooleanLog option
LogBackupBooleanLog option
LogSoftwareUpdateBooleanLog option
LogReportBooleanLog option
LogLogInLogOutBooleanLog option
LogInfoBooleanLog type
LogBuyBooleanLog option
LogLicenseBooleanLog type
LogWarnBooleanLog type
LogRestoreBooleanLog option

QuotaList

KeyTypeDescription
EnabledBooleanTrue / False
QuotaLongQuota of the backup destination, unit in byte. Value validity examined when used by PER_DESTINATION_QUOTA.
DestinationKeyStringKey of the backup destination.

UserSuspendSettings

KeyTypeDescription
EnabledBooleanTrue / False
DateStringDate in Unix time.

SystemSettings

KeyTypeDescription
EnabledBooleanTrue / False
PhoneListArrayArray list of phone numbers.
CountryCodeLongCountry code.
PhoneNumberStringSMS phone number.
VerifiedBooleanNot applicable by API. Default value is "False".
VerifiedTimeLongNot applicable by API.
IdLongNot 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringBackup user name.
OwnerStringOwner of the backup user (if applicable).
NewContactJSON Object ContactSee Contact.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, will only be displayed if the status is "Error".
JSON Objects

Contact

KeyTypeDescription
NameStringName of the contact.
EmailStringEmail 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringBackup user name.
OwnerStringOwner of the backup user (if applicable).
PasswordStringPassword of the backup user.
EmailStringContact email.
QuotaListJSON Object ArraySee QuotaList.
StatusStringIf this value is “SUSPENDED”, the user is suspended. Otherwise, the user is enabled.
ClientTypeStringType of backup client, either ACB or OBM.
TypeStringUser type, either TRIAL or PAID. Default to TRIAL if not specified.
UserHomeStringDefault to the first user home on your user home configuration if not specified.
MobileQuotaLongDeprecated from v8.5, old v1 AhsayMOB quota.
MobileV2QuotaLongFixed at 10 regardless of input.
ExchangeMailboxQuotaLongExchange mail level backup quota. Mandatory if the corresponding add-on module is enabled (e.g. “ExchangeMailboxQuota” is mandatory if “EnableExchangeMailbox” is set to true).
MsVmQuotaLongHyper-V VM backup quota. Mandatory if the corresponding add-on module is enabled (e.g. “MsVmQuota” is mandatory if “EnableMsVm” is set to true).
MsVmQuotaTypeStringThe value can be any one of the following: GUESTVM or SOCKET. Default value is GUESTVM if not provided.
VMwareQuotaLongVMware VM backup quota. Mandatory if the corresponding add-on module is enabled (e.g. “VMwareQuota” is mandatory if “EnableVMware” is set to true).
VMwareQuotaTypeStringThe value can be any one of the following: GUESTVM or SOCKET. Default value is GUESTVM if not provided.
RunDirectQuotaEnabledBooleanTrue / False
RunDirectQuotaLongRun Direct maximum VM quota. Mandatory if the RunDirect is enabled (e.g. "RunDirectQuota" is mandatory if "RunDirectQuotaEnabled" is set to true).
EnableOffice365MailBooleanTrue / False
Office365MailQuotaLongMicrosoft 365 mail backup quota. Mandatory if the corresponding add on module is enabled (e.g. "Office365MailQuota" is mandatory if "EnableOffice365Mail" is set to true).
LanguageStringLanguage used by the user.
DisplayNameStringAlias and contact name.
NotesStringNotes of the account profile.
HostQuotaEnabledBooleanEnalbe or disable client host quota
HostQuotaLongStorage quota, unit in bytes.
EnableMobileBooleanAhsayMOB module, deprecated from v8.5.
EnableMobileV2BooleanEnable or disable Ahsay Mobile module (when enabled, "MobileV2Quota" fixed value at 10).
EnableExchangeMailboxBooleanEnable or disable Exchange Mailbox module.
EnableMSSQLBooleanEnable or disable MS SQL module.
EnableMSExchangeBooleanEnable or disable MS Exchange module.
EnableOracleBooleanEnable or disable Oracle module.
EnableLotusDominoBooleanEnable or disable Lotus Domino module.
EnableLotusNotesBooleanEnable or disable Lotus Notes module.
EnableMySQLBooleanEnable or disable MySQL module.
EnableInFileDeltaBooleanEnable or disable In-File Delta module (pre-v9).
EnableShadowCopyBooleanEnable or disable Volume Shadow Copy module.
EnableNASClientBooleanEnable or disable NAS - Synology module.
EnableQnapBooleanEnable or disable NAS - QNAP module.
EnableMsVmBooleanEnable or disable Hyper-V module.
EnableVMwareBooleanEnable or disable VMware module.
EnableCDPBooleanEnable or disable Continuous Data Protection module.
EnableShadowProtectBareMetalBooleanEnable or disable ShadowProtect System Backup module.
EnableWinServer2008BareMetalBooleanEnable or disable Windows System Backup module.
EnableMsWinSysStateBooleanEnable or disable Windows System State Backup module.
EnableOpenDirectBooleanEnable or disable OpenDirect module.
OpenDirectQuotaStringNumber of OpenDirect allowed. Only works on pre-v9.13 AhsayCBS.
EnableMariaDBBooleanEnable or disable MariaDB Database Server module.
EnableDeduplicationBooleanEnable or disable Deduplication module.
QuotaTypeStringQuota Type, either TOTAL_QUOTA or PER_DESTINATION_QUOTA, default to PER_DESTINATION_QUOTA, if not specified.
StorageQuotaLongDefault to 100, if not specified. Unit in GB.
QuotaListJSON Object ArrayMandatory if QuotaType is PER_DESTINATION_QUOTA or if QuotaType is not specified.
EnableAUABooleanEnable or disable Auto Update Agent setting.
EnableTiberoBooleanEnable or disable Tibero Database Server module.
EnableLinuxBareMetalBooleanEnable or disable Linux Bare Metal Backup module.
EnablePostgreSQLBooleanEnable or disable PostgreSQL Server module.

QuotaList

KeyTypeDescription
EnabledBooleanTrue / False
DestinationKeyStringID of the predefined destination or "OBS" for quota on AhsayCBS.
QuotaLongUnit in bytes.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringBackup user name.
OwnerStringOwner of the backup user (if applicable).
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
DataJSON ObjectDetails of the user.
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, will only be displayed if the status is "Error".
JSON Objects

User

KeyTypeDescription
AccessTokenStringClient API token that is used by OBC, should have no use to customers.
AdGroupStringLegacy v6 Advertisement group (not used by AhsayCBS).
AdGroupsArrayLegacy v6 Advertisement groups (not used by AhsayCBS).
AliasStringDisplay name.
BackupSetIdListArrayID number of each backup set.
BandwidthLongv6 bandwidth
ClientRunVersionStringVersion of the backup client used.
ClientTypeStringType of backup client, either ACB or OBM.
ComputerNameDirListArrayPath to the client logs.
ContactListJSON ObjectSee ContactList.
DoubleEncodedNameStringGets the double URL encoded name of the backup user.
EmailReportSettingsJSON ObjectSee EmailReportSettings.
EncodedNameStringEncoded name of the backup user.
FileStringPath to users.xml.
ForgotPasswordSettingsJSON ObjectSee ForgotPasswordSettings.
FullNameStringFor legacy v6 backup sets. The value is only set with the value of "LongLoginName" for get profile request received from Backup Client.
GroupPolicySettingsJSON ObjectSee GroupPolicySettings.
HashedPasswordBooleanLegacy, unused by AhsayCBS.
HomeDirStringPath of the User Home.
HostCountIntegerCurrent client host limit in use.
HostInfoJSON ObjectNumber of CPU in client computer of each Run on Client backup set and Owner of each Run on Client backup set.
HostnameStringAhsayCBS server host name.
HostQuotaLongClient host limit.
HostQuotaEnabledBooleanTrue / False
HostSetJSON ObjectSee HostSet.
IdLongMillisecond time format.
ImportDateLongMillisecond time format (0c=cnot imported user).
LanguageStringLanguage used.
LastClientLoginTimeLongTime of last login in backup client, in millisecond time format.
LastLoginTimeLongTime of last login, in millisecond time format.
LastShowingLicViolationTimeLongLicense violation time.
LastSuccessfulLoginInfoJSON ObjectInfo about the successful login by the user including IP Address, application & time.
LdapSettingsJSON ObjectSee LdapSettings.
LockedBooleanTrue / False
LockedByMFABooleanWhether account is locked due to too many MFA failure because of wrong passcode.
LongLoginNameStringIf user is owned by Sub-Admin the response will include the Username appended with Sub-Admin ID number (example, JohnDoe#12345).
MailboxUsageIntegerCount for Mailbox usage.
ModuleSettingsJSON ObjectSee ModuleSettings.
ModulesSettingsJSON ObjectSee ModulesSettings.
MoveUserHomeRecordJSON ObjectRecord for moving User Home.
NameStringUser name.
NewBSetNameStringBackup set name when Default Backup Set Name policy setting is disabled.
NotesStringUser notes.
OpenDirectUsageCountIntegerCount for OpenDirect usage.
OwnerStringOwner of the backup user.
PasswordStringHashed password.
PasswordHistoryJSON ObjectSee PasswordHistory.
PreV7BooleanTrue / False
ProxySettingsJSON ObjectSee ProxySettings.
QuotaListJSON Object (Array)Array list (see QuotaList).
RegistrationDateLongTimestamp of registration date.
RoutineJobsSettingsJSON ObjectSee RoutineJobsSettings.
RunDirectQuotaIntegerQuota for Run Direct.
RunDirectQuotaEnabledBooleanTrue / False
SavePasswordBooleanTrue / False
SecurityIdentifierStringFor client to handle Schedule/CDP/Reminder in Windows.
SecuritySettingsJSON Objectv8.3 SecuritySetting entity of the backup user including the phone list, whether individual MFA is enabled or not, etc.
ServerSettingsJSON ObjectSettings for returning to backup client only.
SoftwareUpdateSettingsJSON ObjectSee SoftwareUpdateSettings.
StatusStringStatus of the backup user, either Suspended or Enable.
SuspendPaidUserDateStringSuspend date for Paid/Trial user in YYYYMMDD format.
TimezoneStringTime zone.
TopDirStringPath to User Home.
TotalStatisticsJSON ObjectSee TotalStatistics.
TrialDaysLongDays for trial.
TypeStringType of user, either TRIAL or PAID. Default to TRIAL if not specified.
UpdatedBooleanWhether user was updated in cache but not yet saved to users.xml.
UploadEncryptionKeyBooleanTrue / False
UserHomeStringPath to the User Home.
UserIdStringClient user name.
UserLockSettingsJSON ObjectSee UserLockSettings.
UserSuspendSettingsJSON ObjectSee UserSuspendSettings.
V6FileStringPath to v6 Profile.xml (regardless if AhsayCBS created user or import).
WindowsEventLogSettingsJSON ObjectSee WindowsEventLogSettings.
QuotaTypeStringType of quota, either TOTAL_QUOTA or PER_DESTINATION_QUOTA.
StorageQuotaLongTotal quota in GB.
EnableAUABooleanEnable / disable Auto Update Agent.

QuotaList

KeyTypeDescription
EnabledBooleanTrue / False
DestinationNameStringName of the backup destination.
DestinationKeyStringID of the predefined destination or "OBS" for quota on AhsayCBS.
QuotaLongUnit in bytes.

ContactList

KeyTypeDescription
CompanyStringName of the company of the contact.
EmailStringEmail address of the contact.
AddressStringAddress of the contact.
EmailCertificateStringEmail certificate of the contact.
WebsiteStringWebsite of the contact.
NameStringName of the contact.
Phone1StringPhone number of the contact.
Phone2StringAlternate phone number of the contact.
EncryptEmailBooleanTrue / False

EmailReportSettings

KeyTypeDescription
SendBkpRptBooleanTrue / False
UsageLongUsage statistics.
SmtpAuthUserStringSMTP authorized user.
ReportSenderEmailStringEmail address of the report sender.
SendBkpRptModeStringMode for sending backup reports.
SmtpHostNameStringHost name of the SMTP.
MissedBkpIntervalLongMissed backup intervals.
SmtpPortStringPort used for SMTP (e.g.8629).
SendMissedBkpRptBooleanTrue / False
SendStorageAlertBooleanTrue / False
SmtpAuthPwdStringPassword for SMTP.
EmailStringEmail address.
EnabledBooleanTrue / False

ForgotPasswordSettings

KeyTypeDescription
RequestTimeLongTime requested.
ResetTimeLongTime reset.

GroupPolicySettings

KeyTypeDescription
UserGroupIDListArrayAssigned User Group(s) ID.
ExcludeNetworkShareBooleanLegacy v6 Policy Group option, not available to update/use in AhsayCBS.
GroupQuotaInteger/LongGroup quota backups.
UsedGroupQuotaInteger/LongTotal group quota used.
FileSizeLimitLongFiles restricted to specified size.

HostInfo

KeyTypeDescription
HostsArrayNumber of CPU socket and host name.

HostSet

KeyTypeDescription
"String":"string"StringContains host name of device installed with client.

LastSuccessfulLoginInfo

KeyTypeDescription
TypeStringOS and Browser or client type used to login.
PhoneNumberLongPhone number if MFA is used.
IpAddressStringIP address used to login.
TimeLongTime of last login in millisecond time format.
IdLongTimestamp in millisecond time format (auto-generate).

LdapSettings

KeyTypeDescription
LdapUserBooleanTrue / False.
LastDeleteTimeLongTime last deleted.
LastDisableTimeLongTime last disabled.
FirstAuthFailureTimeLongTime of first authentication failure.

ModuleSettings

KeyTypeDescription
CDPEnabledBooleanIf feature is enabled.
DeduplicationEnabledBooleanIf feature is enabled.
DeltaMergeEnabledBooleanIf feature is enabled.
InFileDeltaEnabledBooleanIf feature is enabled.
LotusDominoBackupEnabledBooleanIf feature is enabled.
LotusNotesBackupEnabledBooleanIf feature is enabled.
MariaDBBackupEnabledBooleanIf feature is enabled.
MobileEnabledBooleanIf AhsayMOB is enabled (deprecated v8.5+).
MobileQuotaLongQuota value for AhsayMOB (deprecated v8.5+).
MobileV2EnabledBooleanIf Ahsay Mobile feature is enabled.
MobileV2QuotaLongValue fixed at 10 when MobileV2Enabled=true.
MSExchangeBackupEnabledBooleanIf feature is enabled.
MSExchangDAGServerQuotaLongQuota value for MS Exchange Server.
MSExchangeMailboxBackupEnabledBooleanIf feature is enabled.
MSExMailboxQuotaLongQuota value for MS Exchange Mailbox module.
MSHyperVBackupEnabledBooleanIf feature is enabled.
MSHyperVVMQuotaLongQuota value for Hyper-V.
MSHyperVVMQuotaTypeStringQuota type, either Guest VM or Socket.
MSSQLBackupEnabledBooleanIf feature is enabled.
MSWindowsSystemBackupEnabledBooleanIf feature is enabled.
MSWindowsSystemStateBackupEnabledBooleanIf feature is enabled.
MySQLBackupEnabledBooleanIf feature is enabled.
NasClientEnabledBooleanIf Synology NAS feature is enabled.
Office365MailEnabledBooleanIf feature is enabled.
Office365MailQuotaLongQuota value for Microsoft 365 Backup.
OpenDirectEnabledBooleanIf feature is enabled.
OpenDirectQuotaLongQuota value for OpenDirect. Only works on pre-v9.13 AhsayCBS.
OracleBackupEnabledBooleanIf feature is enabled.
PostgreSQLBackupEnabledBooleanIf feature is enabled.
QnapEnabledBooleanIf QNAP NAS feature is enabled.
ShadowCopyEnabledBooleanIf feature is enabled.
ShadowProtectBackupEnabledBooleanIf feature is enabled.
VMwareBackupEnabledBooleanIf feature is enabled.
VMwareVMQuotaLongQuota value for VMware.
VMwareVMQuotaTypeStringQuota type, either Guest VM or Socket.

PasswordHistory

KeyTypeDescription
PasswordLastModifiedTimeLongTime password was last modified.
HistoryListArrayArray list of password history.

MoveUserHomeRecord

KeyTypeDescription
DestStringDestination User Home path.
StartTimeLongMillisecond time format.
SourceStringSource User Home path.

ProxySettings

KeyTypeDescription
TypeStringProxy type.
UsernameStringProxy username used to login.
PortStringPort for the proxy.
EnabledBooleanTrue / False
HostStringHostname or IP of the proxy.
PasswordStringPassword used to login to the proxy.

RoutineJobsSettings

KeyTypeDescription
QuotaRemindPercentageLongBackup quota reminder to user if backup quota is over a certain percentage.
InactiveReportLastSentTimeLongTime when last inactive report was sent.

SecuritySettings

KeyTypeDescription
UserLockSettingsObjectSee UserLockSettings.
IdStringID of the user.
LastFailureTimeLongTime of last failure.
LockedTimeLongTime user has been locked.
LoginFailureCountLongNumber of failed logins.
PhoneListArrayArray list of registered phones.
IdLongID of phone.
VerifiedBooleanTrue / False
VerifiedTimeLongTime phone number was verified.
PhoneNumberLongPhone number.
CountryCodeLongCountry code of the phone number.
EnableBooleanTrue / False
SendLimitSettingsObjectList of setting for sending limit.
LastSendTimeLongTime last sent.
SendCountIntegerNumber of times.
RecoverySettingsObjectList of settings for recovery
TokenStringSpecial key for recovery of user account.
ExpiryTimeLongTime limit when token is valid.

TotalStatistics

KeyTypeDescription
RetentionAreaUncompressedSizeLongUncompressed size of Retention Area.
DataAreaFileCountIntegerFile count of Data Area.
DataAreaUncompressedSizeLongUncompressed size of Data Area.
DataAreaCompressedSizeLongCompressed size of Data Area.
RetentionAreaCompressedSizeLongCompressed size of Retention Area.
RetentionAreaFileCountIntegerFile count of Retention Area.
TotalRecycleBinUncompressedSizeLongTotal uncompressed size all the user's backup sets in recycle bin.
TotalRecycleBinCompressedSizeLongTotal compressed size all the user's backup sets in recycle bin.
TotalRecycleBinFileCountLongTotal file count of all the user's backup sets in recycle bin.

UserLockSettings

KeyTypeDescription
LastFailureTimeLongTime of last failure.
LockedTimeLongTime user has been locked.
LoginFailureCountIntegerNumber of failed logins.

UserSuspendSettings

KeyTypeDescription
EnabledBooleanTrue / False
DateLongTimestamp in millisecond time format.

windowsEventLogSettings

KeyTypeDescription
EnabledBooleanTrue / False
LogProfileBooleanTrue / False
LogServicesBooleanTrue / False
LogUtilitiesBooleanTrue / False
LogBackupBooleanTrue / False
LogErrorBooleanTrue / False
LogSoftwareUpdateBooleanTrue / False
LogReportBooleanTrue / False
LogLoginLogoutBooleanTrue / False
LogInfoBooleanTrue / False
LogBuyBooleanTrue / False
LogLicenseBooleanTrue / False
LogWarnBooleanTrue / False
LogRestoreBooleanTrue / False

ModuleUsage

KeyTypeDescription
MSExMailboxLongUsage of MSExMailbox module license.
MSHyperVVMLongUsage of MSHyperVVM module license.
MSVMwareVMLongUsage of MSVMwareVM module license.
Office365MailLongUsage of Office365Mail module license.
HostCountLongUsage 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringBackup user name.
OwnerStringOwner of the backup user (if applicable).
StatusStringStatus of the backup user, either ENABLE or SUSPENDED.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringBackup user name.
OwnerStringOwner of the backup user (if applicable).
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
LoginNameStringBackup user name.
OwnerStringOwner of the backup user (if applicable).
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
TypeStringType of job, either backup or restore.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
BkpStatusArray of BkpStatusIf input parameter type is “backup”, array of BkpStatus is returned.
RestoreStatusArray of RestoreStatusIf input parameter type is “restore”, array of RestoreStatus is returned.
MessageStringError message; it only appears if status displays "Error".
ExptTypeStringThe type of exception, will only be displayed if the status is "Error".
JSON Objects

BkpStatus / RestoreStatus

KeyTypeDescription
IDStringID of backup and restore job status.
LoginNameStringName of the backup account.
OwnerStringOwner of the backup account.
UserIDStringID of the backup account.
AliasStringAlias of the backup account.
UserTypeStringType of user, can either be Trial or Paid.
ClientTypeStringType of backup client, can either be OBM or ACB.
TypeStringType 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.
BackupSetStringName of the backup set.
BackupSetIDStringID of the backup set.
DestinationIDStringID of the backup destination.
DestinationNameStringName of the backup destination.
DestinationTypeStringDestination 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.
OverallPercentStringProgress of the backup job shown in percentage.
BackupStatusStringMessage type of the current stage of backup job (Info/Warn/Error).
LastMessageStringLast message reported during the backup job.
LastUpdateTimeStringTime of last message reported during the backup job.
EstimatedTimeLeftStringEstimated time to backup job completion.
SizeLeftStringData size left to be backed up.
UploadedSizeStringData size of all uploaded data during the backup job.
TransferRateStringTransfer rate measured at the moment.
CurrentFileStringCurrent backup / restore file.
UploadedNumOfFilesStringTotal number of files uploaded for BackupStatus (e.g. input "Type":"backup") or Total number of files downloaded for RestoreStatus (e.g. input "Type":"restore").
UploadedNumOfDirsStringTotal number of directories uploaded for BackupStatus (e.g. input "Type":"backup") or Total number of directories downloaded for RestoreStatus (e.g. input "Type":"restore").
UploadedNumOfLinksStringTotal number of links uploaded for BackupStatus (e.g. input "Type":"backup") or Total number of links downloaded for RestoreStatus (e.g. input "Type":"restore").
ElapsedTimeStringElapsed time of the backup job.
CurrentFilePercentStringUpload percentage of the current file being backed up / restored.
CurrentFileTypeStringType of file, which can be Full, Incremental or Differential.
CurrentFileOperationStringFile operation list. The value can be one of the following: new, update, delete, move or file permission.
DeltaFileStringDelta file path.
DeltaFilePercentStringUpload percentage of the current delta file.
DeltaTypeStringDelta type, which can either be Incremental or Differential.
BackupJobID or RestoreJobIDStringBackup 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
UserStringUsername of the backup user.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
RunJobArray of RunJobRun on server (agentless) backup set status (backup, restore, dataIntegrityCheck, deleteBackupData).
JSON Objects

RunJob

KeyTypeDescription
IsEnableStopBtnBooleanTrue for manually run jobs, and False when it is a scheduled job or job where there is no Stop in the UI.
BackupSetIDStringBackup set ID.
ExecuteJobStringJob 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

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin or API role.
SysPwdStringPassword matching SysUser.
EnabledBooleanSet the list of users to enable / disable Auto Update.
UserIdListStringMultiple login names (case sensitive), separated by commas. For example: user1, user2, uSEr3.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe 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"
}