[v9] Report (API)
This subcategory provides users with APIs that generates reports for backup and restore jobs.
GetBackupJobReport
This API can be used to retrieve a detailed report of a specific backup job.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Backup / Restore Logs > Backup Jobs
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetBackupJobReport.do
Available Since Version: 9.7
Parameters
| Key | Type | Description | 
|---|---|---|
| SysUser | String | Username of an AhsayCBS System User with Admin or API role. | 
| SysPwd | String | Password matching SysUser. | 
| LoginName | String | Username of the backup user. | 
| Owner | String | Owner of the backup user. | 
| BackupSetID | String | ID of the backup set. Obtainable by calling the GetBackupSet API. | 
| DestinationID | String | For backup run by AhsayOBM v6 or older, this parameter can be omitted. For backup run by AhsayOBM v7, this parameter must be provided to get correct result. | 
| BackupJobID | String | ID of the backup job. Obtainable by calling the GetBackupSet API. | 
| Cdp | Boolean | True / False | 
Return Values
| Key | Type | Description | 
|---|---|---|
| Status | String | "OK" or "Error" | 
| Data | String | See JSON Objects | 
| Message | String | Error message, it only appears if status displays "Error". | 
| ExptType | String | The type of exception, will only be displayed if the status is "Error". | 
JSON Objects
Report
| Key | Type | Description | 
|---|---|---|
| ID | String | ID of the report. | 
| StartTime | String | In yyyy-MM-dd HH:mm:ss format. | 
| EndTime | String | In yyyy-MM-dd HH:mm:ss format. | 
| BackupJobStatus | String | Job status. BS_STOP_SUCCESS if successful backup. Error varies if the backup failed. | 
| NumOfWarnEntries | Long | Number of warning entries. | 
| NumOfErrorEntries | Long | Number of error entries. | 
| NumOfNewFiles | Long | Number of new files. | 
| TotalNewFilesSize | Long | Total size of new files. | 
| TotalUnzipNewFilesSize | Long | Total size of unzipped new files. | 
| NewFilesZipRatio | Long | Ratio of zipped new files. | 
| NumOfUpdatedFiles | Long | Number of updated files. | 
| TotalUpdatedFilesSize | Long | Total size of updated files. | 
| TotalUnzipUpdatedFilesSize | Long | Total size of unzipped updated files. | 
| UpdatedFilesZipRation | Long | Ratio of zipped updated files. | 
| NumOfUpdatedPermissionFiles | Long | Number of updated permission files. | 
| TotalUpdatedPermissionFilesSize | Long | Total size of updated permission files. | 
| TotalUnzipUpdatedPermissionFilesSize | Long | Total size of unzipped updated permission files. | 
| UpdatedPermissionFilesZipRatio | Long | Ratio zipped updated permission files. | 
| NumOfDeletedFiles | Long | Number of deleted files. | 
| TotalDeletedFilesSize | Long | Total size of deleted files. | 
| TotalUnzipDeletedFilesSize | Long | Total size of unzipped deleted files. | 
| DeletedFilesZipRatio | Long | Ratio of zipped deleted files. | 
| NumOfMovedFiles | Long | Number of moved files. | 
| TotalMovedFilesSize | Long | Total size of moved files. | 
| TotalUnzipMovedFilesSize | Long | Total size of unzipped moved files. | 
| MovedFilesZipRatio | Long | Ratio of zipped moved files. | 
| SuccessDatabase | Long | This key does not exist in VM backup. | 
| MissedDatabase | Long | This key does not exist in VM backup. | 
| SuccessVirtualMachine | Long | This key exists in VM backup. | 
| MissedVirtualMachine | Long | This key exists in VM backup. | 
| SuccessPublicFolder | Long | Public folder of successful jobs. | 
| MissedPublicFolder | Long | Public folder of missed jobs. | 
| info | Array of InfoLog | See InfoLog. | 
| new | Array of FileLog | See FileLog. | 
| upd | Array of FileLog | See FileLog. | 
| pmt | Array of FileLog | See FileLog. | 
| del | Array of FileLog | See FileLog. | 
| mov | Array of MoveLog | See MoveLog. | 
| cpy | Array of FileLog | See FileLog. | 
| DedupeEnabled | Boolean | Whether deduplication is enabled or not. | 
| DedupeOriginalSize | Long | Size of deduplication. | 
| DedupeSaving | Long | Difference between the original size of dedupe and current dedupe size. | 
InfoLog
| Key | Type | Description | 
|---|---|---|
| Type | String | Type of log. | 
| LogType | String | Type of log | 
| Timestamp | String | In yyyy/MM/dd HH:mm:ss format. | 
| Message | String | Description of log. | 
FileLog
| Key | Type | Description | 
|---|---|---|
| Type | String | Type of log. | 
| LastModified | String | In yyyy/MM/dd HH:mm:ss format. | 
| Name | String | Name of the log. | 
| FileSize | Long | Size of files. | 
| UnzipFilesSize | Long | Size of unzipped files. | 
| Ratio | String | Ratio of files. | 
MoveLog
| Key | Type | Description | 
|---|---|---|
| Type | String | Type of log. | 
| LastModified | String | In yyyy/MM/dd HH:mm:ss format. | 
| FromFile | String | Source file. | 
| ToFile | String | Destination file. | 
| FileSize | Long | Size of files. | 
| UnzipFilesSize | Long | Size of unzipped files. | 
| Ratio | String | Ratio of files. | 
Example
INPUT
{
	"SysUser":"system",
	"SysPwd":"system1",
	"LoginName":"obm",
	"Owner":"",
	"BackupSetID":"1692320086130",
	"DestinationID":"-169224967005",
	"BackupJobID":"2024-08-23-10-00-36",
	"Cdp":"false"
}
OUTPUT
{
    "Status":"OK",
	"Data":{
	     "ID":"2024-06-26-13-24-35",
         "FromIp":"10.3.121.64",
	     "SuccessDatabase":"",
	     "MissedDatabase":"",
	     "SuccessPublicFolder":"",
	     "MissedPublicFolder":"",
	     "Logs":[
		      {
			       "Type":"start",
			       "LogType":"start",
			       "Timestamp":"2024/06/26 13:24:37",
			       "Message":"Start [AhsayOBM v 9.11.0.0]"
		      },
		      {
			       "Type":"info",
			       "LogType":"info",
			       "Timestamp":"2024/06/26 13:24:38",
			       "Message":"Using Temporary Directory C:\\Users\\Administrator\\temp\\1687755057644\\OBS@1687755083984"			
		      },
		      {
			       "Type":"info",
			       "LogType":"info",
			       "Timestamp":"2024/06/26 13:24:40",
			       "Message":"Index file does not exist in the destination backup job folder \"null\""			
		      }
	     ],
	     "NumOfNewFiles":1169,
	     "NumOfNewDirCount":24,
	     "NumOfNewLinkDirCount":3,
	     "NumOfNewLinkFileCount":0,
	     "NumOfDeletedDirCount":0,
	     "NumOfDeletedLinkFileCount":0,
	     "TotalNewFilesSize":6827033,
	     "TotalUnzipNewFilesSize":10268480,
	     "NewFilesZipRatio":"33%",
	     "NumOfUpdatedFiles":0,
	     "TotalUpdatedFilesSize":0,
	     "TotalUnzipUpdatedFilesSize":0,
	     "UpdatedFilesZipRatio":"0%",
	     "NumOfUpdatedPermissionFiles":0,
	     "TotalUpdatedPermissionFilesSize":0,
	     "TotalUnzipUpdatedPermissionFilesSize":0,
	     "UpdatedPermissionFilesZipRatio":"0%",
	     "NumOfDeletedFiles":0,
	     "TotalDeletedFilesSize":0,
	     "TotalUnzipDeletedFilesSize":0,
	     "DeletedFilesZipRatio":"0%",
	     "NumOfMovedFiles":0,
	     "TotalMovedFilesSize":0,
	     "TotalUnzipMovedFilesSize":0,
	     "MovedFilesZipRatio":"05",
	     "NumOfCopiedFiles":0,
	     "TotalCopiedSize":0,
	     "TotalUnzipCopiedFilesSize":0,
	     "CopiedFilesZipRatio":"0%",
	     "StartTime":"2024-06-26 13:24:37",
	     "EndTime":"2024-06-26 13:24:58",
	     "BackupJobStatus":"BS_STOP_SUCCESS",
	     "NumOfWarnEntries":0,
	     "NumOfErrorEntries":0,
	     "DedupeEnabled":true,
	     "DedupeOriginalSize":2384,
	     "DedupeSaving":0
	}
}
GetBackupJobReportSummary
This API can be used to retrieve a summary report of a backup job.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Backup / Restore Logs > Backup Jobs
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetBackupJobReportSummary.do
Available Since Version: 9.7
Parameters
| Key | Type | Description | 
|---|---|---|
| SysUser | String | Username of an AhsayCBS System User with Admin or API role. | 
| SysPwd | String | Password matching SysUser. | 
| LoginName | String | Username of the backup user. | 
| Owner | String | Owner of the backup user. | 
| BackupSetID | String | ID of the backup set. Obtainable by calling the GetBackupSet API. | 
| DestinationID | String | For backup run by AhsayOBM v6 or older, this parameter can be omitted. For backup run by AhsayOBM v7, this parameter must be provided to get correct result. | 
| BackupJobID | String | ID of the backup job. Obtainable by calling the GetBackupSet API. | 
| Cdp | Boolean | True / False | 
Return Values
| Key | Type | Description | 
|---|---|---|
| Status | String | "OK" or "Error" | 
| Data | String | See JSON Objects | 
| Message | String | Error message, it only appears if status displays "Error". | 
| ExptType | String | The type of exception, it appears only if status is "Error". | 
JSON Objects
Report
| Key | Type | Description | 
|---|---|---|
| ID | String | ID of the report. | 
| StartTime | String | In yyyy-MM-dd HH:mm:ss format. | 
| EndTime | String | In yyyy-MM-dd HH:mm:ss format. | 
| BackupJobStatus | String | Job status. BS_STOP_SUCCESS if successful backup. Error varies if the backup failed. | 
| NumOfWarnEntries | Long | Number of warning entries. | 
| NumOfErrorEntries | Long | Number of error entries. | 
| NumOfNewFiles | Long | Number of new files. | 
| TotalNewFilesSize | Long | Total size of new files. | 
| NumOfUpdatedFiles | Long | Number of updated files. | 
| TotalUpdatedFilesSize | Long | Total size of updated files. | 
| NumOfDeletedFiles | Long | Number of deleted files. | 
| TotalDeletedFilesSize | Long | Total size of deleted files. | 
| NumOfMovedFiles | Long | Number of moved files. | 
| TotalMovedFilesSize | Long | Total size of moved files. | 
| NumOfUpdatedPermissionFiles | Long | Number of updated permission files. | 
| TotalUpdatedPermissionFilesSize | Long | Total size of updated permission files. | 
| SuccessDatabase | Long | This key does not exist in VM backup. | 
| MissedDatabase | Long | This key does not exist in VM backup. | 
| SuccessVirtualMachine | Long | This key exists in VM backup. | 
| MissedVirtualMachine | Long | This key exists in VM backup. | 
| SuccessPublicFolder | Long | Public folder of successful jobs. | 
| MissedPublicFolder | Long | Public folder of missed jobs. | 
| DedupeEnabled | Boolean | Whether deduplication is enabled or not. | 
| DedupeOriginalSize | Long | Size of deduplication. | 
| DedupeSaving | Long | Difference between the original size of dedupe and current dedupe size. | 
Example
INPUT
{
	"SysUser":"system",
	"SysPwd":"system1",
	"LoginName":"obm",
	"BackupSetID":"1687755057644",
	"BackupJobID":"2024-06-26-13-24-35",
	"DestinationID":"1687755083984"
}
OUTPUT
{
	"Status":"OK",
	"Data":{
		"TotalCopiedSize":0,
		"DedupeEnabled":true,
		"DedupeOriginalSize":2384,
		"DedupeSaving":0,
		"EndTime":"2024-08-23 10:00:59",
		"TotalDeletedFilesSize":0,
		"NumOfMovedFiles":0,
		"SuccessPublicFolder":"",
		"TotalUpdatedFilesSize":726,
		"TotalUpdatedPermissionFilesSize":0,
		"NumOfWarnEntries":0,
		"NumOfNewFiles":0,
		"NumOfUpdatedFiles":1,
		"NumOfCopiedFiles":0,
		"ID":"2024-08-23-10-00-36",
		"NumOfErrorEntries":0,
		"BackupJobStatus":"BS_STOP_SUCCESS",
		"TotalNewFilesSize":0,
		"MissedDatabase":"",
		"NumOfUpdatedPermissionFiles":0,
		"SuccessDatabase":"",
		"StartTime":"2024-08-23 10:00:37",
		"NumOfDeletedFiles":0,
		"MissedPublicFolder":"",
		"TotalMovedFilesSize":0
	}
}
GetRestoreJobReport
This API can be used to retrieve a detailed report of a restore job.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Backup / Restore Logs > Restore Jobs
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetRestoreJobReport.do
Available Since Version: 9.1
Parameters
| Key | Type | Description | 
|---|---|---|
| SysUser | String | Username of an AhsayCBS System User with Admin or API role. | 
| SysPwd | String | Password matching SysUser. | 
| LoginName | String | Username of the backup user. | 
| Owner | String | Owner of the backup user. | 
| BackupSetID | String | ID of the backup set. Obtainable by calling the GetBackupSet API. | 
| JobID | String | ID of the restore job. Obtainable from the client restore log or in the user how at: %Clientprofile%\.obm\log\%backupset_id%\Restore\YYYY-MM-DD\YYYY-MM-DD-hh-mm-ss.log or %Userhome%\username\pdf\restore\%backupset_id%\YYYY-MM-DD\YYYY-MM-DD-hh-mm-ss.pdf. Where the JobID is YYYY-MM-DD-hh-mm-ss (e.g. file name of the .log / .pdf file). | 
Return Values
| Key | Type | Description | 
|---|---|---|
| Status | String | "OK" or "Error" | 
| Data | JSON Object | See JSON Objects. | 
| Message | String | Error message, it only appears if status displays "Error". | 
| ExptType | String | The type of exception, it appears only if status is "Error". | 
JSON Objects
Report
| Key | Type | Description | 
|---|---|---|
| ID | String | ID of the report. | 
| StartTime | Long | Start time of the restore job. | 
| EndTime | Long | End time of the restore job. | 
| FromIp | String | Restore from specified IP address. | 
| DestinationID | String | ID of the destination. | 
| Status | String | Status of the restore. Can be one of the following: RESTORE_STOP_SUCCESS_WITH_ERROR, RESTORE_STOP_SUCCESS_WITH_WARNING, RESTORE_STOP_SUCCESS, RESTORE_STOP_BY_USER or RESTORE_STOP_BY_ERROR. | 
| TotalFileCount | Long | Total number of files restored. | 
| TotalFileSize | Long | Total size of files restored. | 
| Logs | Array of Log | Array list of logs. | 
Log
| Key | Type | Description | 
|---|---|---|
| Type | String | Type of log, can either be file or info. | 
| StartTime | Long | Start time of the restore job. | 
| EndTime | Long | End time of the restore job. | 
| Name | String | Name of the restore job. | 
| FileSize | Long | Size of the file. | 
| UncompressedSize | Long | Size of the uncompressed file. | 
| LastModified | Long | Date of last modification. | 
| Message | String | This key exists only if "Type" is "info". | 
| LogType | String | This key exists only if "Type" is "info". | 
| Timestamp | String | This key exists only if "Type" is "info". In yyyy/MM/dd hh:mm:ss format. | 
Example
INPUT
{
	"SysUser":"system",
	"SysPwd":"system1",
	"LoginName":"obm",
	"BackupSetID":"1687755057644",
	"JobID":""
}
OUTPUT
{
	"Status":"OK",
	"Data":{
		"Status":"RESTORE_STOP_SUCCESS",
		"EndTime":"2024-06-26 14:27;08",
		"TotalFileCount":0,
		"StartTime":"2024-06-26 14:26:59",
		"TotalFileSize":0,
		"Logs":[
			{
				"Type":"start"
			},
			{
				"Type":"info",
				"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_CDP.html\" exists already.",
				"LogType":"info",
				"Timestamp":"2024/06/26 14:27:03"
			},
			{
				"Type":"info",
				"Message":"Same file \”C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_CDP_Filter.html\” exists already.",
				"LogType":"info",
				"Timestamp":"2024/06/26 14:27:03"
			},
			{
				"Type":"info",
				"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_CloudFile_Source.html\" exists already.",
				"LogType":"info",
				"Timestamp":"2024/06/26 14:27:03"
			},
			{
				"Type":"info",
				"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_File_Source.html\" exists already.",
				"LogType":"info",
				"Timestamp":"2024/06/26 14:27:03"
			},
			{
				"Type":"info",
				"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_IBMDomino_Encryption.html\" exists already.",
				"LogType":"info",
				"Timestamp":"2024/06/26 14:27:03"
			},
			{
				"Type":"info",
				"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_IBMDomino_Source.html\" exists already.",
				"LogType":"info",
				"Timestamp":"2024/06/26 14:27:03"
			},
			{
				"Type":"info",
				"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_IBMDomino_WinUserAuthen.html\" exists already.",
				"LogType":"info",
				"Timestamp":"2024/06/26 14:27:03"
			},
			{
				"Type":"info",
				"Message":"Same file \"C:\\Users\\Administrator\\Desktop\\Help Files\\ACB\\BS_Create_IBMNotes_Dest.html\" exists already.",
				"LogType":"info",
				"Timestamp":"2024/06/26 14:27:03"
			}
		],
		"FromIp":"10.3.121.64",
		"DestinationID":"1687755083984"
	}
}
GetRestoreDrillJobReportSummary
This API can be used to display the summary of specified restore drill job.
The settings can be found on the AhsayCBS web console at:
- Monitoring > Backup / Restore Logs > Restore Drill Jobs
URL
https://CBS.EXAMPLE.COM/obs/api/json/GetRestoreDrillJobReportSummary.do
Available Since Version: 9.1
Parameters
| Key | Type | Description | 
|---|---|---|
| SysUser | String | Username of an AhsayCBS System User with Admin or API role. | 
| SysPwd | String | Password matching SysUser. | 
| LoginName | String | Username of the backup user. | 
| JobID | String | ID of the restore drill job in timestamp format (yyyy-MM-dd-HH-mm-ss). Obtainable by calling the ListRestoreDrillJobs API. | 
| BackupSetID | String | ID of the backup set. Obtainable by calling the ListRestoreDrillJobs API. | 
| DestinationID | String | ID of the destination. Obtainable by calling the ListRestoreDrillJobs API. | 
Return Values
| Key | Type | Description | 
|---|---|---|
| Status | String | "OK" or "Error" | 
| Data | JSON Object | See Data. | 
| Message | String | Error message, it only appears if status displays "Error". | 
| ExptType | String | The type of exception, it appears only if status is "Error". | 
JSON Objects
Data
| Key | Type | Description | 
|---|---|---|
| Status | String | Status of the restore drill job. SUCCESS if restore drill is successful otherwise error message varies if the restore drill failed. | 
| BackupSetID | String | ID of the backup set. | 
| DestinationID | String | ID of the destination. | 
| StartTime | Long | Start time of the restore drill job in millisecond time format. | 
| EndTime | Long | End time of the restore drill job in millisecond time format. | 
| LastBackupRun | String | Date and time when last backup was run, in yyyy-MM-dd-HH-mm-ss format. | 
| RunOnClient | Boolean | Whether backup set is run on client or not. | 
| TotalChunkSize | Long | Size of total data chunks, in bytes. | 
| TotalChunkCount | Long | Number of total data chunks. | 
| ValidChunkSize | Long | Size of data chunks in valid status, in bytes. | 
| ValidChunkCount | Long | Number of data chunks in valid status. | 
| CorruptedChunkSize | Long | Size of corrupted data chunks, in bytes. | 
| CorruptedChunkCount | Long | Number of corrupted data chunks. | 
| ToBeVerifiedChunkSize | Long | Size of data chunks in unknown status, in bytes. | 
| ToBeVerifiedChunkCount | Long | Number of data chunks in unknown status. | 
| LogoPath | String | Path for logo used in PDF reports. | 
| Footer | String | Footer in PDF reports. | 
Examples
Example 1
INPUT
{
	"SysUser":"system",
	"SysPwd":"system1",
	"LoginName":"obm",
	"BackupSetID":"1686639360356",
	"DestinationID":"1697505829484",
	"JobID":"2024-10-17-09-32-47"
}
OUTPUT
{
	"Status":"OK",
	"Data":{
		"Status":"INVALID_DETECTED",
		"ValidChunkSize":491185025,
		"LogoPath":"D:\\AhsayCBS\\webapps\\cbs\\images\\default.large.gif",
		"EndTime":1697506377112,
		"LastBackupRun":"2024-10-17-09-24-12",
		"StartTime":1697506367000,
		"CorruptedChunkCount":120,
		"BackupSetID":"1697505782921",
		"TotalChunkCount":1913,
		"DestinationID":"1697505829484",
		"RunOnClient":false,
		"ValidChunkCount":1793,
		"ToBeVerifiedChunkSize":0,
		"CorruptedChunkSize":33432652,
		"ToBeVerifiedChunkCount":0,
		"Footer":"1999-2024 (C) Ahsay Systems Corporation All rights reserved.",
		"TotalChunkSize":524617677
	}
}
Example 2: Incorrect Destination ID / Backup Set ID
INPUT
{
	"SysUser":"system",
	"SysPwd":"system1",
	"LoginName":"obm",
	"BackupSetID":"1686639360356",
	"DestinationID":"xxxx",
	"JobID":"2024-10-17-09-32-47"
}
OUTPUT
{
	"Status":"Erro",
	"Message":"[Error] Restore drill job not found.",
	"ExptType":"java.lang.Exception"
}
