You have the option to use “GET VM Jobs” to get the JobID and then use “POST Job Details” to get the individual VM details. I use a PowerShell function that you can modify and use.
function Get-CVJobDetails {
param (
$jobId, $cvToken
)
Write-Verbose "Getting details for Job ID: $jobId"
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Content-Type","application/json")
$headers.Add("Accept","application/json")
$headers.Add("Authtoken", $cvToken)
$body = "{
`n `"jobId`": $jobId
`n}"
$response = Invoke-RestMethod -Uri "http://$CommServ/webconsole/api/JobDetails" -Method POST -Headers $headers -Body $body
#Write-Verbose $response.job.jobDetail.clientStatusInfo.vmStatus[0]
$jobStatus = $response.job.jobDetail.clientStatusInfo.vmStatus.Status
if ($jobStatus -eq "0"){
$jobStatus = "Completed"
$percentComplete = 100
}
if ($jobStatus -eq "1"){
$jobStatus = "Failed"
}
if ($jobStatus -eq "2"){
$jobStatus = "In Progress"
$percentComplete = $response.job.jobDetail.progressInfo.percentComplete
}
if ($jobStatus -eq "3"){
$jobStatus = "Partial Success"
}
if ($jobStatus -eq "4"){
$jobStatus = "Waiting"
}
if ($jobStatus -eq "5"){
$jobStatus = "Kill Pending"
}
if ($jobStatus -eq "6"){
$jobStatus = "Killed"
}
$JobDetails = [PSCustomObject]@{
"VMName" = [STRING]$response.job.jobDetail.clientStatusInfo.vmStatus.VMName.toupper()
"JobId" = $jobId
"VirtualizationClient" = $response.job.jobdetail.generalInfo.subclient.clientName.toupper()
"SubClient" = [STRING]$response.job.jobdetail.generalInfo.subclient.displayName.toupper()
"Status" = $jobStatus
"PercentComplete" = [STRING]$percentComplete + " %"
"VMHost" = [STRING]$response.job.jobDetail.clientStatusInfo.vmStatus.Host.toupper()
"Proxy" = [STRING]$response.job.jobDetail.clientStatusInfo.vmStatus.Agent.toupper()
"MediaAgent" = [STRING]$response.job.jobDetail.clientStatusInfo.vmStatus.mediaAgentName.toupper()
"BackupStartTime" = Get-UnixDate $response.job.jobDetail.clientStatusInfo.vmStatus.BackupStartTime
"BackupEndTime" = Get-UnixDate $response.job.jobDetail.clientStatusInfo.vmStatus.BackupEndTime
"vmSize" = [STRING][Math]::Round((($response.job.jobDetail.clientStatusInfo.vmStatus.size)/1gb),2) + " GB"
"guestSize" = [STRING][Math]::Round((($response.job.jobDetail.clientStatusInfo.vmStatus.GuestSize)/1gb),2) + " GB"
"backupSize" = [STRING][Math]::Round((($response.job.jobDetail.clientStatusInfo.vmStatus.UsedSpace)/1gb),2) + " GB"
}
return $JobDetails
#return $response
}