Skip to main content

System Config

This subcategory provides users with APIs that allows for the configuration of settings such as servers and system settings, addition of predefined destinations, and updates to AhsayCBS licenses among other functions.

 

UpdateServerConfig (v1), UpdateSystemSettings (v2) - Backup Server

This API can be used to update Backup Server related configuration such as the User Home and Free Trial user registration settings only for the Admin, not SubAdmin.

The settings can be found on the AhsayCBS web console at:

  • Backup/Restore > Basic > User Home or Free Trial Options

 

v1 UpdateServerConfig.do


URL

https://CBS.EXAMPLE.COM/obs/api/json/UpdateServerConfig.do

Deprecated Since Version: 7.15.6.38

 

v2 UpdateSystemSettings.do


UpdateSystemSetting.do was introduced for handling of features related to Quota Management.

A TrialQuotaList JSON Object (list of quota for multiple backup destinations for free trial users) was introduced to replace the single BackupQuotaSize parameter (v1 API).

URL

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

Available Since Version: 9.5

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
UserHomesArrayWhen new user home is added, you need to include your existing user home in the array.
EnableFreeTrialBooleanEnable/Disable the Free Trial Registration option.
TrialQuotaListArrayList of quota of backup destination for trial user, unit in byte.
ExpTrialStatusStringEither "reset" or "suspend".
ExpTrialQuotaStringThe quota of expired trial users, in number of bytes.
SuspendUserDaysIntegerThe number of days when a user will be suspended. The value can be any one of the following: 7, 8,..., 29, 30, 45, 60, 75 and 90.
TrialMsExchangeBooleanEnable/Disable the trial of Microsoft Exchange Server add-on module.
TrialMsSqlBooleanEnable/Disable the trial of Microsoft SQL Server add-on module.
TrialMySQLBooleanEnable/Disable the trial of MySQL Database Server add-on module.
TrialMariaDBBooleanEnable/Disable the trial of MariaDB Database Server add-on module.
TrialOracleBooleanEnable/Disable the trial of Oracle Database Server add-on module.
TrialDominoBooleanEnable/Disable the trial of Lotus Domino add-on module.
TrialNotesBooleanEnable/Disable the trial of Lotus Notes add-on module.
TrialWinServer2008BareMetalBooleanEnable/Disable the trial of Windows System Backup add-on module.
TrialWinSysStateBooleanEnable/Disable the trial of Windows System State Backup add-on module.
TrialVMwareBooleanEnable/Disable the trial of VMware add-on module.
TrialVMwareQuotaStringVMware VM module quota. Integer value in string format.
TrialVMwareQuotaTypeStringDefault value is GUESTVM if not provided. The value can either be GUESTVM or SOCKET.
TrialMsVmBooleanEnable/Disable the trial of Hyper-V add-on module.
TrialMsVmQuotaStringHyper-V module quota. Integer value in string format.
TrialMsVmQuotaTypeStringDefault value is GUESTVM if not provided. The value can either be GUESTVM or SOCKET.
TrialMsExchangeMailboxBooleanEnable/Disable the trial of Microsoft Exchange Mailbox add-on module.
TrialEMBQuotaStringMicrosoft Exchange mailbox module quota. Integer value in string format.
TrialNasClientBooleanEnable/Disable the trial of NAS - Synology add-on module.
TrialQnapBooleanEnable/Disable the trial of NAS - QNAP add-on module.
TrialShadowProtectBareMetalBooleanEnable/Disable the trial of ShadowProtect System Backup add-on module.
TrialShadowCopyBooleanEnable/Disable the trial of Volume Shadow Copy add-on module.
TrialCdpBooleanEnable/Disable the trial of Continuous Data Protection add-on module.
TrialDeltaBlockBooleanEnable/Disable the trial of In-File Delta add-on module.
TrialMobileBooleanEnable/Disable the trial of Mobile add-on module.
TrialMobileQuotaStringMobile add-on module quota. Integer value in string format.
TrialOffice365MailBooleanEnable/Disable the trial of Microsoft 365 Backup add-on module.
TrialOffice365MailQuotaStringMicrosoft 365 Backup add-on module quota. Integer value in string format.
TrialOpenDirectBooleanEnable/Disable the trial of OpenDirect / Granular Restore add-on module.
TrialOpenDirectQuotaStringOpenDirect / Granular Restore add-on module quota. Integer value in string format.
EnableRemoveUserBooleanEnable/Disable the remove trial user.
RemoveUserDaysStringNumber of days after registration the free trial user will be removed. Integer value in string format.
SinceInactiveBooleanTime period in which user has been inactive.
TrialQuotaTypeStringQuota type, either TOTAL_QUOTA or PER_DESTINATION_QUOTA.
TrialStorageQuotaLongTotal quota in GB. Value validity examined when used by TOTAL_QUOTA.
TrialDeduplicationBooleanEnable/Disable the trial of Deduplication add-on module.
TrialTiberoBooleanEnable/Disable the trial of Tibero Database Server add-on module.
TrialLinuxBareMetalBooleanEnable/Disable the trial of Linux Bare Metal Backup add-on module.
TrialPostgreSqlBooleanEnable/Disable the trial of PostgreSQL Server add-on module.
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

UserHome

KeyTypeDescription
PathStringPath of user home, e.g. "F:\\new_home".
QuotaStringMaximum QPS ratio of the user home. The value can be any one of the following: Unlimited, 300, 250, 200, 150, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10 and 0. "0" refers to "Not Used".
statusStringBuild status, can be: uploaded, waiting (idle), queued, building and finished.
IdStringSystem user ID (0='system' username).

TrialQuotaList

KeyTypeDescription
EnabledBooleanEnables or disables "Destinations" added/listed when "Per Destination Quota" is enabled.
QuotaLongQuota of the backup destination, unit in byte. Value validity examined when used by PER_DESTINATION_QUOTA.
DestinationKeyStringID of the backup destination, or "OBS" for AhsayCBS.
DestinationNameStringName of the backup destination, example "AhsayCBS".
Examples

Example 1: INPUT = UpdateUserHomes

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"TrialQuotaList":[
		{
			"Enable":true,
			"Quota":549750000,
			"DestinationKey":"OBS"
		},
		{
			"Enable":true,
			"Quota":549750000,
			"DestinationKey":"-1585973679332"
		}
	]
}

OUTPUT

{
	"Status":"OK",
}

Example 2: INPUT = DisableTrialMariaDB

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"TrialMariaDB":false
}

OUTPUT

{
	"Status":"OK",
}

 

UpdateConfig - Backup Server

The UpdateConfig.do API can be used to update the following settings of AhsayCBS: Proxy Server, Admin Contacts, System Homes, SNMP Settings, Windows Event Logs and Connectors.

The settings can be found on the AhsayCBS web console at:

  • System Settings > Basic > General or Email
  • System Settings > Advanced > Proxy or Logging

 

URL

https://CBS.EXAMPLE.COM/cbs/api/json/UpdateConfig.do

Available Since Version: 9.1

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
UseEventLogBooleanWhether event log is enabled.
EventLogNameStringName of event log.
HostnameStringHostname of the AhsayCBS server.
SystemHomeStringThe directory containing all system files.
WebServersArray of WebServerConnectors
SmtpServersArray of SmtpServerSmtp server settings.
AdminContactsArray of ContactAdmin contacts in array.
UseProxyBooleanEnable/Disable proxy server.
ProxyUsernameStringUser name of the proxy server.
ProxyPasswordStringPassword of the user of the proxy server.
ProxyTypeStringThe value can either be: HTTP or SOCK.
ProxyHostStringHostname of the proxy server.
ProxyPortStringPort used by the proxy server.
ProxyExcludeHostsArray of ProxyExcludeHostExcluded hostnames and IP addresses for proxy connection.
EnableSnmpBooleanEnable / Disable SNMP.
SnmpStartIPStringStarting IP for SNMP.
SnmpEndIPStringEnding IP for SNMP.
SnmpTrapInfoBooleanSNMP trap level information.
SnmpTrapWarnBooleanSNMP trap level warning.
SnmpTrapErrBooleanSNMP trap level error.
SnmpPortIntegerSNMP trap port numbers.
SnmpTrapRecv1SnmpTrapRecvReceiver 1
SnmpTrapRecv2SnmpTrapRecvReceiver 2
SnmpTrapRecv3SnmpTrapRecvReceiver 3
PreventSessionHijackingEnabledBooleanEnable/Disable prevent session hijacking.

Query Parameters

KeyTypeDescription
ProductStringEither "CBS" or "OBC".
ModeString(optional) "all" or "single"
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

WebServer

KeyTypeDescription
IdIntegerUsually starts from 0, in ascending order.
IpStringThis is designed for servers with multiple IP addresses. This attribute specifies which IP address will be used for listening on the specified port. If only one (1) IP address is used on your system, the default value 0.0.0.0 can be used.
PortStringThe TCP port number on which this connector will create a server socket and await incoming connections. Please make sure this port is not occupied by other applications in your system.
ProtocolStringThe can either be: http or https.
MaxConnStringMaximum number of connections allowed to the server.
MaxKeepAliveReqStringMaximum number of requests to serve on a TCP connection.
ConnTimeoutStringConnection timeout in milliseconds.
SslCertificateIdStringName of an existing SSL Certificate present in AhsayCBS. Empty string if not applicable.
RxBufSizeStringSize in bytes of the receive buffer socket. Default is 25188.
TxBufSizeStringSize in bytes of the send buffer socket. Default is 43800.

SmtpServer

KeyTypeDescription
HostNameStringHost name of the SMTP server.
PortIntegerConnection port of the SMTP server.
SecureProtocolBooleanIf set to true, it will require a secure protocol for login.
AuthBooleanSet to false, if SMTP server does not require login credentials.
AuthUserStringUsername used to login.
AuthPwdStringUser password.
ReportSenderContactContact that sends reports.
OwnerStringName of owner, empty if owner is Admin.

Contact

KeyTypeDescription
NameStringPrimary name of contact.
OwnerStringName of owner, empty if owner is Admin
EmailStringEmail address of contact.
AddressStringAddress detail of contact.
ReceiveBccEmailBooleanAllows BCC of outgoing emails

ProxyExcludeHost

KeyTypeDescription
HostStringHostname or IP address of the proxy server.

SnmpTrapRecv

KeyTypeDescription
EnableBooleanTrue / False
HostStringHostname of SNMP.
TrapPortStringPort to be used for the trap.

ReportSettingsBean

KeyTypeDescription
SendLowDiskSpaceReminderAlertReportBooleanWhether Low Disk Space Reminder/Alert report will be sent to the admin/subadmin.
LowDiskSpaceReminderThresholdIntegerThreshold value for sending reminder when disk space is low. Value can be one of the following: 60, 65, 70, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98 and 99.
LowDiskSpaceAlertThresholdIntegerThreshold value for sending alert when disk space is low. Value can be one of the following: 60, 65, 70, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98 and 99.
SendLowDestinationSpaceReminderAlertReportBooleanWhether Low Destination Space Reminder/Alert report will be sent to the admin/subadmin.
LowDestinationSpaceReminderThresholdIntegerThreshold value for sending reminder when destination space is low. Value can be one of the following: 60, 65, 70, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98 and 99.
LowDestinationSpaceAlertThresholdIntegerThreshold value for sending alert when destination space is low. Value can be one of the following: 60, 65, 70, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98 and 99.
SendAdministratorConsolidatedReportBooleanWhether Consolidated Admin report will be sent to the admin/subadmin.
ConsolidatedReportSendHourIntegerHour when consolidated report is sent.
ConsolidatedReportSendMinIntegerMinute when consolidated report is sent.
Examples

Example 1

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"SendBccReports":true,
	"AdminContacts":[{"Name":"New1","Email":"New1@example.com"}]
}

OUTPUT

{
	"Status":"OK"
}

Example 2 - ReportSettingsBean

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"ReportSettingsBean":{
		"SendLowDiskSpaceReminderAlertReport":true,
		"SendLowDestinationSpaceReminderAlertReport":true,
		"LowDestinationSpaceAlertThreshold":90,
		"LowDestinationSpaceReminderThreshold":65,
		"LowDiskSpaceAlertThreshold":85,
		"LowDiskSpaceReminderThreshold":70,
		"SendAdministratorConsolidatedReport":true,
		"ConsolidatedReportSendHour":13,
		"ConsolidatedReportSendMin":45
	}
}

OUTPUT

{
	"Status":"OK"
}

 

GetSystemSetting (v1,v2) - Backup Server

This API can be used to retrieve backup server related configuration such as the User Home and Free Trial Options only for the Admin, not SubAdmin.

The settings can be found on the AhsayCBS web console at:

  • Backup/Restore > Basic > User Home or Free Trial Options

 

v1 GetSystemSetting.do


URL

https://CBS.EXAMPLE.COM/cbs/api/json/GetSystemSetting.do

Deprecated Since Version: 7.15.6.38

 

v2 GetSystemSetting.do 


GetSystemSetting.do was introduced for handling of features related to Quota Management.

URL

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

Available Since Version: 9.5

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
DataConfigDataParticulars of a user's configuration data.
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, will only be displayed if the status is "Error".
JSON Objects

UserHomes

KeyTypeDescription
QuotaSumLongConsolidated total of a user's Quota in UserHomes.
QuotaStringMaximum quota of a user.
PasswordProtectedBooleanWhether it is located in a password protected network drive.
PasswordStringPassword used to login to user account.
UsernameStringLogin name of a user account.
CurrentRatioLongCurrent QPS ratio.
PathStringPath to the user home.
SizeLongSize of the user home.

ConfigData

KeyTypeDescription
EnableFreeTrialBooleanEnable/Disable the Free Trial Registration option.
ExpTrialStatusString"reset" or "suspend"
SuspendUserDaysIntegerThe number of days before the user account gets suspended. The value can be any one of the following: 7, 8, ..., 29, 30, 45, 60, 75 and 90.
SinceInactiveBooleanTime period in which user has been inactive.
TrialMsExchangeBooleanTrial option of Microsoft Exchange Server add-on module.
TrialMsSqlBooleanTrial option of Microsoft SQL Server add-on module.
TrialMySqlBooleanTrial option of MySQL Database Server add-on module.
TrialOracleBooleanTrial option of Oracle Database Server add-on module.
TrialDominoBooleanTrial option of Lotus Domino add-on module.
TrialNotesBooleanTrial option of Lotus Notes add-on module.
TrialWinServer2008BareMetalBooleanTrial option of Windows System Backup add-on module.
TrialMsWinSysStateBooleanTrial option of Windows System State Backup add-on module.
TrialVMwareBooleanTrial option of VMware add-on module.
TrialVMwareQuotaTypeArrayDefault value is GUESTVM if not provided. The value can either be: GUESTVM or SOCKET.
TrialMsVmBooleanTrial option of Hyper-V add-on module.
TrialMsVmQuotaTypeArrayDefault value is GUESTVM if not provided. The value can either be: GUESTVM or SOCKET.
TrialMsExchangeMailboxBooleanTrial option of Microsoft Exchange Mailbox add-on module.
TrialEMBQuotaStringMicrosoft Exchange Mailbox module quota.
TrialNasClientBooleanTrial option of NAS - Synology add-on module.
TrialQnapBooleanTrial option of NAS - QNAP add-on module.
TrialShadowProtectBareMetalBooleanTrial option of ShadowProtect System Backup add-on module.
TrialShadowCopyBooleanTrial option of Volume Shadow Copy add-on module.
TrialCdpBooleanTrial option of Continuous Data Protection add-on module.
TrialDeltaBlockBooleanTrial option of In-File Delta add-on module.
TrialMariaDBBooleanTrial option of MariaDB Database Server add-on module.
TrialMobileBooleanTrial option of Mobile add-on module.
TrialMobileQuotaStringThe quota of mobile add-on module.
TrialOpenDirectBooleanTrial option of OpenDirect / Granular Restore add-on module.
TrialOpenDirectQuotaStringThe quota of OpenDirect / Granular Restore add-on module. Only works on pre-v9.13 AhsayCBS.
EnableRemoveUserBooleanOption to remove trial user account.
RemoveUserDaysStringThe number of days when to remove user after registration. The value can be any one of the following: 30, 60, 90, 120, 150 and 180.
UserHomesArrayPath of the User Home.
TrialQuotaTypeStringQuota type, either TOTAL_QUOTA or PER_DESTINATION_QUOTA.
TrialStorageQuotaLongTotal quota in GB. Value validity examined when used by TOTAL_QUOTA.
TrialDeduplicationBooleanTrial option of Deduplication add-on module.
TrialTiberoBooleanTrial option of Tibero Database Server add-on module.
TrialLinuxBareMetalBooleanTrial option of Linux Bare Metal Backup add-on module.
TrialPostgreSqlBooleanTrial option of PostgreSQL Server add-on module.

ReportSettingsBean

KeyTypeDescription
SendLowDiskSpaceReminderAlertReportBooleanWhether Low Disk Space Reminder/Alert report will be sent to the admin/subadmin.
LowDiskSpaceReminderThresholdIntegerThreshold value for sending reminder when disk space is low. Value can be one of the following: 60, 65, 70, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98 and 99.
LowDiskSpaceAlertThresholdIntegerThreshold value for sending alert when disk space is low. Value can be one of the following: 60, 65, 70, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98 and 99.
SendLowDestinationSpaceReminderAlertReportBooleanWhether Low Destination Space Reminder/Alert report will be sent to the admin/subadmin.
LowDestinationSpaceReminderThresholdIntegerThreshold value for sending reminder when destination space is low. Value can be one of the following: 60, 65, 70, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98 and 99.
LowDestinationSpaceAlertThresholdIntegerThreshold value for sending alert when destination space is low. Value can be one of the following: 60, 65, 70, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98 and 99.
SendAdministratorConsolidatedReportBooleanWhether Consolidated Admin report will be sent to the admin/subadmin.
ConsolidatedReportSendHourIntegerHour when consolidated report is sent.
ConsolidatedReportSendMinIntegerMinute when consolidated report is sent.

TrialQuotaList

KeyTypeDescription
NameStringName of the backup destination.
QuotaStringUnit in bytes. Value validity examined when used by PER_DESTINATION_QUOTA.
DestinationKeyStringID of the predefined destination, or OBS for quota on AhsayCBS.
QuotaIntegerUnit in bytes.
Example

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%"
}

OUTPUT

{
	"Status":"OK",
	"Data":{
		"TrialMsVmQuotaType":[],
		"TrialMsVmQuota":"5",
		"TrialDeduplication":false,
		"TrialCdp":false,
		"TrialMySql":false,
		"TrialQuotaType":"TOTAL_QUOTA",
		"TrialMobileV2":false,
		"ExpTrialStatus":"suspend",
		"TrialShadowCopy":true,
		"TrialMobile":false,
		"TrialShadowProtectBareMetal":false,
		"TrialWinServer2008BareMetal":false,
		"TrialMsVmQuotaType":"GUESTVM",
		"TrialQuotaList":[
			{
				"DestinationKey":"OBS",
				"Quota":52428800,
				"Enabled":true,
				"Name":"AhsayCBS"
			}
		]
		"TrialMobileQuotaV2":"0",
		"TrialVMware":false,
		"TrialOracle":false,
		"TrialVMwareQuotaType":[],
		"RemoveUserDays":"90",
		"ReportSettingsBean":{
			"SendLowDiskSpaceReminderAlertReport":true,
			"SendLowDestinationSpaceReminderAlertReport":true,
			"ConsolidatedReportSendHour":13,
			"LowDestinationSpaceAlertThreshold":90,
			"LowDestinationSpaceReminderThreshold":65,
			"LowDiskSpaceAlertThreshold":80,
			"LowDiskSpaceReminderThreshold":70,
			"SendAdministratorConsolidatedReport":true,
			"ConsolidatedReportSendMin":45
		},
		"TrialStorageQuota":85,
		"TrialOffice365Mail":false,
		"TrialMsVm":false,
		"TrialMobileQuota":"0",
		"TrialOpenDirect":false,
		"TrialNasClient":false,
		"TrialMsSql":false,
		"TrialNotes":false,
		"TrialOpenDirectQuota":"10",
		"UserHomes":[
			{
				"Path":"C:\\Users\username\Documents",
				"QuotaSum":53896806400,
				"Quota":"Unlimited",
				"Username":"",
				"Size":959637876737,
				"CurrentRatio":5.613692,
				"PasswordProtected":false,
				"Password":""
			},
			{
				"Path":"C:\\Users\username\Desktop",
				"QuotaSum":104857600,
				"Quota":"Unlimited",
				"Username":"",
				"Size":959637876736,
				"CurrentRatio":0.010926789,
				"PasswordProtected":false,
				"Password":"y8.BxMA="
			}
		],
		"TrialEMBQuota":"20",
		"TrialDomino":false,
		"TrialQnap":false,
		"TrialMsExchangeMailbox":false,
		"EnableFreeTrial":true,
		"TrialMsExchange":false,
		"TrialOffice365MailQuota":"10",
		"EnableRemoveUser":true,
		"TrialDeltaBlock":false,
		"SinceInactive":false,
		"SuspendUserDays":25,
		"TrialMariaDB":true,
		"TrialLinuxBareMetal":false,
		"TrialVMwareQuotaType":"GUESTVM",
		"TrialMsWinSysState":false,
		"TrialTibero":false,
		"TrialPostgreSql":false
	}
}

 

UpdateReplicationConfig

This API can be used to update the following replication settings: replication destination, replication proxy server, replication traffic limmit and replication backup set.

The settings can be found on the AhsayCBS web console at:

  • Replication > Sending Data > Replication

 

URL

https://CBS.EXAMPLE.COM/obs/api/json/UpdateReplicationConfig.do

Available Since Version: 9.1

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
EnableReplicationBooleanEnable/disable the option to replicate back up data to predefined cloud storage.
RepDestIdStringDestination ID of the replication destination.
ReplicationUseProxyBooleanEnable/disable the use of proxy option in replication profile.
ReplicationUseTrafficLimitBooleanEnable/disable the use of replication traffic limit.
TrafficLimitsArray of TrafficLimitConfigure the traffic limit settings to contro traffic at a specific time.
ReplicateIndividualBSetBooleanEnable/disable the option to replicate individual backup set.
ReplicateNewPaidBSetBooleanEnable/disable the option to replicate new backup sets of paid users.
ReplicateNewTrialBSetBooleanEnable/disable the option to replicate new backup sets of trial users.
RepBSetArray of RepBSetList of individual backup sets marked for individual replication.
For Parameter "RepBSet", the array must relist to contain all backup sets for replication.
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

TrafficLimit

KeyTypeDescription
StartDayOfWeekIntegerThe start day of traffic limit. "1" stands for Sunday, "2" stands for Monday and so on.
StartHourIntegerThe start hour of traffic limit.
StartMinIntegerThe start minute of traffic limit.
EndDayOfWeekIntegerThe end day of traffic limit. "1" stands for Sunday, "2" stands for Monday and so on.
EndHourIntegerThe end hour of traffic limit.
EndMinIntegerThe end minute of traffic limit.
MaxTransferPerSecStringMaximum number of Kbytes transferred per second.

RepBSet

KeyTypeDescription
ValueStringThe username and backup set ID of the replicated backup set, joined with “++” as separator. For example, UserABC++123456789.
For Key "Value", API will update the whole list, so any existing backup sets in the list will be removed if your "RepBSet" array does not include them.
Examples

Example 1: Traffic Limit

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"EnableReplication":true,
	"ReplicationUseTrafficLimit":true,
	"TrafficLimits":[
		{
			"StartDayOfWeek":"4",
			"StartHour":"3",
			"StartMin":"30",
			"EndDayOfWeek":"5",
			"EndHour":"4",
			"EndMin":"30",
			"MaxTransferPerSec":"300"
		}
	]
}

OUTPUT

{
	"Status":"OK"
}

Example 2: Create or Update RepBSet List (not necessary to include subadmin#)

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"EnableReplication":true,
	"ReplicateIndividualBSet":true,
	"RepBSet":[
		{"Value":"user12345++1578027193000"},
		{"Value":"user67890++1578059639000"}
	]
}

OUTPUT

{
	"Status":"OK"
}

Example 3: Enable replication of new trial backup sets

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"EnableReplication":true,
	"ReplicateNewTrialBSet":true
}

OUTPUT

{
	"Status":"OK"
}

 

UpdateLicense

This API can be used to update the license name and license key on the AhsayCBS server (for backup server).

The settings can be found on the AhsayCBS web console at:

  • System Settings > License > Backup

 

URL

https://CBS.EXAMPLE.COM/obs/api/json/UpdateLicense.do

Available Since Version: 9.1

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
LicenseeStringLicensee name.
KeyStringProduct key.
UseProxyBooleanEnable/disable the use of proxy defined in the AhsayCBS to connect to the internet.
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":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"Licensee":"ABC_Backup",
	"Key":"XyZ98-AbcDE-fGhU-98bcd-YZ"
}

OUTPUT 1 - When License status is normal

{
	"Status":"OK",
	"Key":"XyZ98-AbcDE-fGhU-98bcd-YZ",
	"Deactivated":false,
	"Licensee":"ABC_Backup"
}

OUTPUT 2 - User action required (e.g. click the Update button on the web console)

{
	"Status":"OK","Key":"XyZ98-AbcDE-fGhU-98bcd-YZ","Deactivated":false,"Info":
	"Internal Error 1012. Please press the [Update] button in license page to correct this problem.
	If the problem persists, please contact our technical support team to resolve this problem","Licensee":"ABC_Backup"
}

OUTPUT 3 - When incorrect License Key was provided

{
	"Status":"Error",
	"Message":"License key incorrect. Please try again."
}

OUTPUT 4 - When AhsayCBS service was stopped

{
	"Status":"OK","Key":"XyZ98-AbcDE-fGhU-98bcd-YZ","Deactivated":false,"Info":"[OEM-License.checkLicTime] License expired on 2024-01-01. Backup server is stopped","Licensee":"ABC_Backup"
}

 

GetLicense (v1,v2)

This API can be used to collect the license and usage information of your AhsayCBS server.

The settings can be found on the AhsayCBS web console at:

  • System Settings > License > Backup

 

v1 GetLicense.do 


URL

https://CBS.EXAMPLE.COM/cbs/api/json/GetLicense.do

Available Since Version: 8.3

 

v2 GetLicense.do 


Since AhsayCBS version 8.3, the following add-on modules are combined into one add-on module, to make these modules that were previously separated, interchangeable:

  • Hyper-V and VMware (per Guest VM)
  • Hyper-V and VMware (per Socket)
  • NAS - Synology and NAS - QNAP
  • AhsayOBM and AhsayACB Microsoft 365

To facilitate such changes, a new version of the GetLicense.do API (v2 GetLicense.do) was introduced with the following parameters:

KeyTypeDescription
VMQuotaStringHyper-V or VMware Guest VM quota
UsedVMQuotaStringUsed Hyper-V or VMware Guest VM quota
RemainVMQuotaStringAvailable Hyper-V or VMware Guest VM quota
HypervisorSocketQuotaStringHyper-V or VMware Socket quota
UsedHypervisorSocketQuotaStringUsed Hyper-V or VMware Socket quota
RemainHypervisorSocketQuotaStringAvailable Hyper-V or VMware Socket quota
NasQuotaStringSynology or QNAP NAS client quota
UsedNasQuotaStringUsed Synology or QNAP NAS client quota
RemainNasQuotaStringAvailable Synology or QNAP NAS client quota
Office365QuotaStringAhsayOBM or AhsayACB Microsoft 365 quota
UsedOffice365QuotaStringUsed AhsayOBM or AhsayACB Microsoft 365 quota
RemainOffice365QuotaStringAvailable AhsayOBM or AhsayACB Microsoft 365 quota

For AhsayCBS pre-8.3, you should use the v1 API instead. For all other new versions, use the v2 API to get accurate licensing details.

URL

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

Available Since Version: 9.1

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
DataConfigDataContains the particulars of a user's license.
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, will only be displayed if the status is "Error".
JSON Objects

Licensing Data

KeyTypeDescription
KeyStringProduct key
LicenseeStringLicensee name
ProductNameStringName of the product, e.g. "Offsite Backup Software, OEM Edition".
VersionStringVersion of the AhsayCBS.
UseProxyBooleanEnable / disable the use of proxy defined in the AhsayCBS to connect to the internet.
LicTypeNameStringName of license type.
MaxObmUsersStringMaximu number of AhsayOBM user CALs.
UsedObmQuotaStringUsed AhsayOBM user CALs.
RemainObmQuotaStringRemaining AhsayOBM user CALs.
ExpiryDateStringExpiry date of the license key.
SupExpDateStringExpiry date of the software support.
MaxQuotaStringMaximum backup quota of a user.
IpStringThe IP address of AhsayCBS registered.
PortStringThe connection port of AhsayCBS registered.
MacStringThe MAC address of the network card that AhsayCBS registered.
MaxUsersStringMaximum number of users allowed.
AcbClientEnabledBooleanEnable / disable the use of the AhsayACB client module.
DagUseObmStringUsed AhsayOBM CALs due to DAG usage.
AcbUseObmStringUsed AhsayOBM CALs due to no AhsayACB CALs.
EnableReplicationBooleanEnable / disable the use of the replication module.
EnableMSExchangeMailboxBooleanEnable / disable the use of the Exchange Mailbox module.
ExchangeMailboxQuotaStringExchange Mailbox quota.
UsedExchangeMailboxQuotaStringUsed Exchange Mailbox quota.
RemainExchangeMailboxQuotaStringRemaining Exchange Mailbox quota.
VMQuotaStringHyper-V / VMware (Per Guest VM) quota.
UsedVMQuotaStringUsed Hyper-V / VMware (Per Guest VM) quota.
RemainVMQuotaStringRemaining Hyper-V / VMware (Per Guest VM) quota.
HypervisorSocketQuotaStringHyper-V / VMware (Per Socket) quota.
Used HypervisorSocketQuotaStringUsed Hyper-V / VMware (Per Socket) quota.
RemainHypervisorSocketQuotaStringRemaining Hyper-V / VMware (Per Socket) quota.
EnableMobileBooleanEnable / disable the use of Ahsay Mobile.
MobileQuotaStringAhsayMOB quota.
UsedMobileQuotaStringUsed AhsayMOB quota.
RemainMobileQuotaStringRemaining AhsayMOB quota.
Office365QuotaStringAhsayACB / AhsayOBM Microsoft 365 quota.
UsedOffice365QuotaStringUsed AhsayACB / AhsayOBM Microsoft 365 quota.
RemainOffice365QuotaStringRemaining AhsayACB / AhsayOBM Microsoft 365 quota.
OpenDirectQuotaStringGranular Restore / OpenDirect quota. Only works on pre-v9.13 AhsayCBS.
UsedOpenDirectQuotaStringUsed Granular Restore / OpenDirect quota. Only works on pre-v9.13 AhsayCBS.
RemainOpenDirectQuotaStringRemaining Granular Restore / OpenDirect quota. Only works on pre-v9.13 AhsayCBS.
NasQuotaStringSynology / QNAP - NAS client quota.
UsedNasQuotaStringUsed Synology / QNAP - NAS client quota.
RemainNasQuotaStringRemaining Synology / QNAP - NAS clien quota.
DeactivatedBooleanDisable / enable license key.
EnableNasServerBooleanEnable / disable the NAS server module.
EnableUbsBooleanEnable / disable the AhsayUBS module.
EnableHaBooleanEnable / disable the HA module.
MobileQuotaV2StringAhsay Mobile backup quota.
UsedMobileV2QuotaStringUsed Ahsay Mobile backup quota.
RemainMobileV2QuotaStringRemaining Ahsay Mobile backup quota.
Example

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%"
}

OUTPUT

{
	"Status":"OK",
	"Data":{
		"MobileQuota":"2000",
		"HypervisorSocketQuota":"4000",
		"ExpiryDate":"12/31/2024",
		"RemainMobileV2Quota":"32980",
		"ProductName":"Ahsay Cloud Backup Suite",
		"MaxUsers":"7100",
		"Port":"8081",
		"RemainVMQuota":"22000",
		"LicenseFile":"",
		"RemainObmQuota":"5099",
		"Version":"9.5.4.0",
		"NasQuota":"2010",
		"EnableCbs":true,
		"UsedNasQuota":"2",
		"Licensee":"EvaluationOnly",
		"RemainMobileQuota":"2000",
		"RemainOffice365Quota":"4000",
		"UsedObmQuota":"1",
		"UsedAcbRepQuota":0,
		"RemainAcbRepQuota":2000,
		"MaxObmUsers":"5100",
		"RemainOpenDirectQuota":"2000",
		"EnableUbs":true,
		"Mac":"08-00-27-72-37-A8",
		"RemainAcbQuota":"1999",
		"AcbRepQuota":2000,
		"UsedMobileQuota":"0",
		"RemainNasQuota":"2008",
		"UsedMobileV2Quota":"20",
		"RemainExchangeMailboxQuota":"2000",
		"RemainHypervisorSocketQuota":"4000",
		"Key":"62pMG-YPD6I-3ggaG-b5MCT-XX",
		"EnableHa":false,
		"ObmRepQuota":5100,
		"Description":"",
		"Ip":"127.0.0.1",
		"MaxAcbUsers":"2000",
		"UsedHypervisorSocketQuota":"0",
		"DagUseObm":"0",
		"UsedVMQuota":"0",
		"MobileQuotaV2":"33000",
		"AcbUseObm":"0",
		"UsedExchangeMailboxQuota":"0",
		"RemainObmRepQuota":5100,
		"UsedAcbQuota":"1",
		"OpenDirectQuota":"2000",
		"LicType":4,
		"UseProxy":false,
		"SupExpDate":"12/31/2024",
		"LicTypeName":"OEM License",
		"VMQuota":"22000",
		"Office365Quota":"4000",
		"AcbUseObmRep":0,
		"BrandedProductName":"",
		"UsedOffice365Quota":"0",
		"ExchangeMailboxQuota":"2000",
		"DateFormat":"MM/dd/yyyy",
		"MaxQuota":"UNLIMITED",
		"UsedOpenDirectQuota":"0",
		"UsedObmRepQuota":0
	}
}

 

GetReplicationMode

This API can be used to retrieve the current replication status on the backup server.

The settings can be found on the AhsayCBS web console at:

  • Monitoring > Replication Logs

 

URL

https://CBS.EXAMPLE.COM/obs/api/json/GetReplicationMode.do

Available Since Version: 9.1

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
DataConfigDataContains the particulars of replication settings.
MessageStringError message, it only appears if status displays "Error".
ExptTypeStringThe type of exception, will only be displayed if the status is "Error".
JSON Objects

ReplicationData

KeyTypeDescription
EnableBooleanEnable / Disable the replication.
ReplicatorsArray of ReplicatorShows details of all Replicators enlisted in the Backup Server.

Replicator

KeyTypeDescription
LoginNameStringClient user name.
BackupSetIDStringThe 13-digit backup set ID.
ModeStringThe value can be any one of the following: RESYNC, REPLAY, PENDING and SLEEPING.
FileStringThe file that is currently replicating.
Example

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%"
}

OUTPUT

{
	"Status":"OK",
	"Data":{
		"Enable":true,
		"Replicators":[
			{
				"LoginName":"userA",
				"File":"",
				"BackupSetID":"1463141188151",
				"Mode":"RESYNC"
			}
		]
	}
}

 

AddPredefinedDestination

This API can be used to add (create) a predefined destination on the backup server.

The settings can be found on the AhsayCBS web console at:

  • System Settings > Basic > Predefined Destinations

 

URL

https://CBS.EXAMPLE.COM/obs/api/json/AddPredefinedDestination.do

Available Since Version: 9.7

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
TypeStringThe type of the predefined destination, please use one of the available type within the set provided in the table "Destination Type".
DestinationNameStringThe name of the predefined destination, if not provided, the name will be auto-generated by the server.
DestinationSettingsJSON ObjectThe settings for the predefined destination, the underlying parameters are specific to each destination type. Please refer to the tables labeled with “DestinationSettings (DESTINATION_TYPE)” for the correct format of each destination type.
OwnerStringThe owner administrator name of the newly added predefined destination, defaults to ADMIN.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
DestinationIDStringThe ID for the newly added predefined destination, available only for successful addition.
ExptTypeStringThe type of exception (Java-class name), available only in error response body.
JSON Objects

Additional Fields (to merge with return values on error)

KeyTypeDescription
InstructionIDStringThe instruction id of this error, please refer to the table “Instruction ID” for the value set.
AvailableOptionsJSON ObjectThe available options for certain missing parameters, this field will be set when InstructionID equals MISSING_PARAMETER.
OAuthUrlStringThe authorization url for retrieving the authorization token, this field will be set when InstructionID equals OAUTH_OPEN_URL.
MessageStringThe detailed message of this error.

Destination Type

TypeDescription
FTPAn FTP-based destination.
SFTPAn SFTP-based destination.
LocalA local destination (local to the client).
OBSA destination ("User Home") provided by the AhsayCBS server.
PooledA destination pool.
RPSUsed for replication.
AliyunAlibaba Aliyun
AWSCompatibleAWS Compatible
AzureMicrosoft Azure.
BackblazeBackblaze
CTYunChina Telecom CTYun
DropboxDropbox
GCSGoogle Cloud Service
GDriveGoogle Drive
OneDriveMicrosoft OneDrive
OneDrive4BizMicrosoft OneDrive for Business
OpenStackOpenStack
RackspaceRackspace
S3Amazon S3
WasabiWasabi

Instruction ID

ValueDescription
MISSING_PARAMETERReturned from a failed addition of a predefined destination, due to a missing parameter with predefined value set. If this ID is encountered, please refer to the RESPONSE_BODY. Message for instructions and RESPONSE_BODY_AvailableOptions for the value set.
OAUTH_OPEN_URLReturned from a failed addition of predefined destination, due to undefined or empty authorization token in the request body. If encountered, please refer to RESPONSE_BODY. Message for instructions and RESPONSE_BODY.OAuthUrl for the url to kick start the authorization procedure.

Destination Settings - OBS

KeyTypeDescription
ImmutableBooleanWhether stored data cannot be changed, modified, or deleted after being created; defaults to false.
TempDeleteBooleanWhether temporary delete is enabled for AhsayCBS destination; defaults to false.
TempDeleteDateStringTemporary delete date in yyyy-mm-dd format; defaults to tomorrow’s date.
HourIntegerThe end hour of temporary delete. "0", "1"..."23" can be set; defaults to 0.
MinuteIntegerThe end minute of temporary delete. "0", "1"..."59" can be set; defaults to 0.

Destination Settings - FTP

KeyTypeDescription
HostStringThe hostname of the FTP server.
PortStringThe port of the FTP server.
UsernameStringThe username of the FTP account.
PasswordStringThe password of the FTP account.
SslBooleanWhether the FTP connection will be in SSL mode.

Destination Settings - SFTP

KeyTypeDescription
HostStringThe hostname of the SFTP server.
PortStringThe port of the SFTP server.
UsernameStringThe username of the SFTP account.
PasswordStringThe password of the SFTP account.

Destination Settings - Local

KeyTypeDescriptions
TopDirStringThe path to the target directory can be network locations.
UsernameStringThe username of the account.
PasswordStringThe password of the account.

Destination Settings - Pooled

KeyTypeDescription
DestinationIDListJSON ArrayAn array of predefined destination ids, all of the ids should reference any existing predefined destination within the AhsayCBS server.

Destination Settings - RPS

KeyTypeDescription
HostStringThe hostname of the target replication AhsayCBS server.
PortStringThe port of the target replication AhsayCBS server.
UsernameStringThe username of the replication account created within the replication AhsayCBS server.
PasswordStringThe password of the replication account created within the replication AhsayCBS server.
SslBooleanWhether the connection uses SSL, defaults to "false".

Destination Settings - Aliyun

KeyTypeDescription
AccessKeyStringThe access key.
SecretKeyStringThe secret key.
LocationStringThe location of this destination, please refer to Aliyun Locations for the value set.
BucketNameStringThe bucket name, optional.

Destination Settings - Aliyun Locations

LocationValue
China (Hangzhou)oss-cn-hangzhou
China (Shanghai)oss-cn-shanghai
China (Qingdao)oss-cn-qingdao
China (Beijing)oss-cn-beijing
China (Zhangjiakou)oss-cn-zhangjiakou
China (Hohhot)oss-cn-huhehaote
China (Ulanqab)oss-cn-wulanchabu
China (Shenzhen)oss-cn-shenzhen
China (Heyuan)oss-cn-heyuan
China (Guangzhou)oss-cn-guangzhou
China (Chengdu)oss-cn-chengdu
China (Hong Kong)oss-cn-hongkong
Singaporeoss-ap-southeast-1
Australia (Sydney)oss-ap-southeast-2
Malaysia (Kuala Lumpur)oss-ap-southeast-3
Indonesiaoss-ap-southeast-5
Japan (Tokyo)oss-ap-northeast-1
India (Mumbai)oss-ap-south-1
Germany (Frankfurt)oss-eu-central-1
UK (London)oss-eu-west-1
US (Silicon Valley)oss-us-west-1
US (Virginia)oss-us-east-1
UAE (Dubai)oss-me-east-1

Destination Settings - AWSCompatible

KeyTypeDescription
HostStringThe hostname of the AWS Compatible service.
PortStringThe port of the AWS Compatible service.
ImmutableBooleanWhether stored data cannot be changed, modified, or deleted after being created; defaults to false.
AccessKeyStringThe access key.
SecretKeyStringThe secret key.
BucketNameStringThe bucket name.

Destination Settings - Azure

KeyTypeDescription
StorageAccountNameStringThe storage account name.
AccessKeyStringThe access key of the storage account.
RegionStringThe region of the destination, please refer to Azure Regions section for the value set.
ImmutableBooleanWhether stored data cannot be changed, modified, or deleted after being created; defaults to false.

Destination Settings - Azure Regions

RegionValue
GlobalGLOBAL
ChinaCHINA
GermanyGERMANY
USGOVUSGOV

Destination Settings - Backblaze

KeyTypeDescription
KeyIdStringThe key ID.
ApplicationKeyStringThe application key.
ImmutableBooleanWhether stored data cannot be changed, modified, or deleted after being created; defaults to false.
BucketNameStringThe bucket name, optional.

Destination Settings - CTYun

KeyTypeDescription
AccessKeyStringThe access key.
AccessSecretKeyStringThe access secret key.

Destination Settings - Dropbox

KeyTypeDescription
AccessTokenStringThe authorization token retrieved from the Dropbox site, when this field is undefined or empty, the request will fail, with RESPONSE_BODY. InstructionID set to OAUTH_OPEN_URL and RESPONSE_BODY. OAuthUrl set to the url for kick-starting the authorization procedure.

Destination Settings - Google Cloud Storage

KeyTypeDescription
AccessKeyStringThe access key.
SecretStringThe access secret key.
ImmutableBooleanWhether stored data cannot be changed, modified, or deleted after being created; defaults to false.
LocationTypeStringThe location type of this destination, please refer to GCS Location Types section for the value sets.
LocationStringThe location of this destination, please refer to GCS Locations for the value set.
StorageClassStringThe storage class name of this destination, please visit this page for the latest documentation.
BucketNameStringThe bucket name, optional.

Destination Settings - GCS Location Types

TypeValue
RegionREGION
Multi-RegionMULTI_REGION
Dual-RegionDual-Region_REGION

Destination Settings - GCS Locations

RegionValue
MontrealNORTHAMERICA-NORTHEAST1L
IowaUS-CENTRAL1
South CarolinaUS-EAST1
Northern VirginiaUS-EAST4
OregonUS-WEST1
Los AngelesUS-WEST2
Salt Lake CityUS-WEST3
Las VegasUS-WEST4
Sao PauloSOUTHAMERICA-EAST1
WarsawEUROPE-NORTH1
BelgiumEUROPE-WEST1
LondonEUROPE-WEST2
FrankfurtEUROPE-WEST3
NetherlandsEUROPE-WEST4
ZurichEUROPE-WEST6
TaiwanASIA-EAST1
Hong KongASIA-EAST2
TokyoASIA-NORTHEAST1
OsakaASIA-NORTHEAST2
SeoulASIA-NORTHEAST3
MumbaiASIA-SOUTH1
SingaporeASIA-SOUTHEAST1
JakartaASIA-SOUTHEAST2
SydneyAUSTRALIA-SOUTHEAST1

Destination Settings - Google Drive

KeyTypeDescription
TokenStringThe authorization token retrieved from Google Drive site, when this field is undefined or empty, the request will fail, with RESPONSE_BODY. InstructionID set to OAUTH_OPEN_URL and RESPONSE_BODY. OAuthUrl set to the url for kick-starting the authorization procedure.

Destination Settings - Microsoft OneDrive

KeyTypeDescription
TokenStringThe token for the destination, if the provided value is undefined or empty, the request will fail, with RESPONSE_BODY. InstructionID set to OAUTH_OPEN_URL and RESPONSE_BODY. OAuthUrl set to the url for kick-starting the authorization procedure.

Destination Settings - Microsoft OneDrive4Biz

KeyTypeDescription
TokenStringThe token for the destination, if the provided value is undefined or empty, the request will fail, with RESPONSE_BODY. InstructionID set to OAUTH_OPEN_URL and RESPONSE_BODY. OAuthUrl set to the url for kick-starting the authorization procedure.
RegionStringThe region of the destination, please refer to the section OneDrive4Biz Regions for the value set.

Destination Settings - Microsoft OneDrive4Biz Regions

RegionValue
GlobalGLOBAL
ChinaCHINA
GermanyGERMANY

Destination Settings - OpenStack

KeyTypeDescriptions
HostStringThe hostname of the OpenStack service.
PortStringThe port of the OpenStack service.
UsernameStringThe username of the service account.
PasswordStringThe password of the service account.
ProjectStringThe project name for this destination. If the provided value is undefined, RESPONSE_BODY. InstructionID set to MISSING_PARAMETERS, please follow the instruction provided in RESPONSE_BODY. Message to select the project for this destination.

Destination Settings - Rackspace

KeyTypeDescription
UsernameStringThe username of the Rackspace account.
ApiKeyStringThe API key for accessing Rackspace APIs.
RegionStringThe region name of the Rackspace service, please refer to Rackspace Regions section for the value set.
ContainerNameStringThe container name of the destination.

Destination Settings - Rackspace Regions

RegionValue
ChicagoORD
Dallas Ft. WorthDFW
Hong KongHKG
LondonLON
Northern VirginiaIAD
SydneySYD

Destination Settings - Amazon S3

KeyTypeDescription
AccessKeyStringThe access key.
SecretKeyStringThe secret key.
ImmutableBooleanWhether stored data cannot be changed, modified, or deleted after being created; defaults to false.
LocationStringThe location of the destination, please refer to Amazon S3 Locations for the value sets.
StorageClassStringThe storage class of the destination, please refer to Amazon S3 Storage Classes for the value sets.
BucketNameStringThe bucket name, optional.

Destination Settings - Amazon S3 Locations

RegionValue
Africa (Cape Town)af-south-1
Asia Pacific (Hong Kong)ap-east-1
Asia Pacific (Mumbai)ap-south-1
Asia Pacific (Osaka-Local)ap-northeast-3
Asia Pacific (Seoul)ap-northeast-2
Asia Pacific (Singapore)ap-southeast-1
Asia Pacific (Singapore)ap-southeast-1
Asia Pacific (Sydney)ap-southeast-2
Asia Pacific (Tokyo)ap-northeast-1
Canada (Central)ca-central-1
China (Beijing)cn-north-1
China (Ningxia)cn-northwest-1
Europe (Ireland)eu-west-1
Europe (Frankfurt)eu-central-1
Europe (London)eu-west-2
Europe (Milan)eu-south-1
Europe (Stockholm)eu-north-1
AWS GovCloud (US-East)us-gov-east-1
AWS GovCloud (US)us-gov-west-1
Middle East (Bahrain)me-south-1
South America (Sao Paulo)sa-east-1
US East (Ohio)us-east-2
US West (Northern California)us-west-2

Destination Settings - Amazon S3 Storage Classes

TypeValueDescription
StandardSTANDARDIdeal for performance sensitive use cases and frequently accessed data. This is the default storage class.
Standard - Infrequent Access StorageSTANDARD_IA(IA, for infrequent access) is optimized for long-lived and less frequently accessed data, for example backups and older data where access has diminished, but the use case still demands high performance.
Intelligent - Tiering StorageINTELLIGENT_TIERINGLong-lived data with changing or unknown access patterns.
One Zone - Infrequent Access StorageONEZONE_IALong-lived, infrequently accessed, non-critical data.
Reduced Redundancy Storage (RRS)REDUCED_REDUNDANCY(RSS) Storage class is designed for non-critical, reproducible data stored at lower levels of redundancy than the STANDARD storage class, which reduces storage costs.

Destination Settings - Wasabi

KeyTypeDescription
AccessKeyStringThe access key.
SecretKeyStringThe secret key.
ImmutableBooleanWhether stored data cannot be changed, modified, or deleted after being created; defaults to false.
BucketNameStringThe bucket name, optional.
LocationStringThe location of the Wasabi service, please refer to Wasabi Locations section for the value sets.

Destination Settings - Wasabi Locations

RegionValue
Torontoca-central-1
Oregonus-west-1
Plano, Texasus-central
Northern Virginiaus-east-1
Southern Virginiaus-east-2
Amsterdameu-central-1
Frankfurteu-central-2
Londoneu-west-1
Pariseu-west-2
Tokyoap-northeast-1
Osakaap-northeast-2
Singaporeap-southeast-1
Sydneyap-southeast-2
Examples

Example 1: Creating a Google Drive Predefined Destination

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"Type":"GDrive",
	"SkipVerify":false,
	"DestinationSettings":{
		"Token":"9/abc0e-g5bc2XX2jepVtYRSiA6J4Q03rgVPfssYVu3xhyl9PiHqkiabmwM3i"
	}
}

OUTPUT

{
	"Status":"OK",
	"DestinationID":"-1620712268943"
}

Example 2: Invalid Token for Google Drive Predefined Destination

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"Type":"GDrive",
	"DestinationSettings":{
		"Token":"FAKE"
	}
}

OUTPUT

{
	"Status":"Error",
	"Message":"[GDriveManager$GDriveAuthorization.getOAuth2TokensByTempKey] Failed to get Oauth2Tokens after retrieved from GDrive",
	"ExptType":"java.lang.Exception"
}

Example 3: Creating AhsayCBS (OBS) Destination with no 2FA Setup

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"Type":"OBS",
	"DestinationSettings":{
		"Immutable":true,
		"TempDelete":true,
		"TempDeleteDate":"2024-08-25",
		"Hour":6,
		"Minute":13
	}
}

OUTPUT

{
	"Status":"Error",
	"Message":"Please setup 2FA devices to proceed with adding immutable destination.",
	"ExptType":"com.ahsay.obs.core.dbs.DbsException"
}