All api calls should be sent to https://<va address>/<url>. The URL is shown in each call below

All API calls require the JWT token (obtained through login) to be present in the Authorization header.

Due to the complexity and single run requirement, this documentation does not document API calls for importing licenses from the portal, or manually applying licenses or enabling features. You should ensure these operations have been performed through the GUI before attempting to use the API.

POST
v1/users/auth
{
    "username": "Administrator",
    "password": "P@ssw0rd!#"
}
200
{
    "access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZGVudGl0eSI6MSwiaWF0IjoxNTg0MDI4Mzc5LCJhZG1pbiI6dHJ1ZSwibmJmIjoxNTg0MDI4Mzc5LCJleHAiOjE1ODQwNTcxNzl9.AhtZV3G9v1HYrrJVdSy65fuamwTjZMgOHVC6jQH1sgk"
}
You will need to add this JWT token as an Authorization header to all HTTP requests prefixed with "Bearer"
Example Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZGVudGl0eSI6MSwiaWF0IjoxNTg0MDI4Mzc5LCJhZG1pbiI6dHJ1ZSwibmJmIjoxNTg0MDI4Mzc5LCJleHAiOjE1ODQwNTcxNzl9.AhtZV3G9v1HYrrJVdSy65fuamwTjZMgOHVC6jQH1sgk

JWT tokens are valid for 8 hours.
POST
v1/control/hypervisors
{
    "type": "VSPHERE",
    "address": "10.10.21.63",
    "username": "leytham",
    "password": "SuperSecureP@ssword"
}
200
{
    "id": null,
    "uuid": "b4b2ed53-4789-48b4-b2d4-35caa225c73e",
    "task": "Hypervisor Discovery",
    "status": "In Progress",
    "details": "Starting hypervisor discovery",
    "completed": false,
    "percent": 0,
    "source": "VA",
    "target": "10.10.21.63",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "startTime": 1584029579058,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}
You can monitor the CristieEvent returned to check progress & check for completition using the event uuid.
Once complete, you can query hypervisors to confirm the hypervisor was added correctly.
GET
v1/control/events/<uuid>
200
{
    "id": null,
    "uuid": "b4b2ed53-4789-48b4-b2d4-35caa225c73e",
    "task": "Hypervisor Discovery",
    "status": "Completed",
    "details": "Discovery successful",
    "completed": true,
    "percent": 100,
    "source": "VA",
    "target": "10.10.21.63",
    "result": null,
    "modifiedTimestamp": 1584029582380545,
    "user": "Administrator",
    "startTime": 1584029579058,
    "finishTime": 1584029582379,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}
If the event is still in progress, you can repeat the request until the status is Completed or Failed
GET
v1/control/hypervisors
200
{
    "hypervisors": [
        {
        "id": 1,
        "name": "10.10.21.63",
        "selections": {
            "id": 1,
            "type": "VSPHERE",
            "selectedVmStorage": "set fire to the rain",
            "selectedNetwork": "Private Subnet-priv",
            "selectedIsoStorage": "Cristie ISO Storage-10.1.6.46",
            "selectedIso": null,
            "selectedDatacenter": "ha-datacenter",
            "selectedCluster": null,
            "selectedHost": "adele.cristiesoftware.com"
            },
        "type": "VSPHERE",
        "proxy": null,
        "datacenters": [
            {
            "id": 2,
            "name": "ha-datacenter",
            "hosts": [
                {
                "id": 2,
                "license": {
                "licensed": false,
                "contractID": 0
                },
                "vms": [
                    {
                    "id": null,
                    "addresses": [],
                    "hostname": null,
                    "name": "VM NAME",
                    "uuid": "522cce53-47eb-3a40-5238-59e35b181872",
                    "operatingSystem": "Windows",
                    "proxyUuid": "",
                    "osFamily": "WINDOWS",
                    "lastEvent": null,
                    "hypervisorId": 1,
                    "hostId": 2,
                    "powerState": "OFF",
                    "backupConfig": null,
                    "lastBackupStatus": null,
                    "backupStatus": null,
                    "offsiteBackupStatus": null,
                    "restoreStatus": null,
                    "events": [],
                    "protected": false
                    }
                ],
                "storage": ["set fire to the rain", "Cristie ISO Storage-10.1.6.46"],
                "networks": ["hello"],
                "isos": ["/cbmr-linux-intel-latest.iso", "/cbmr-linux-ppc64-latest.iso", "/cbmr-linux-ppc64le-latest.iso",
                "/cbmr-windows-pe10-latest.iso", "/cbmr-windows-pe5-latest.iso"],
                "name": "adele.cristiesoftware.com",
                "uuid": "4c4c4544-0052-4810-8035-c8c04f50344a",
                "proxy": null
            }
            ],
            "clusters": [],
            "proxy": null
        }
        ],
        "version": "VMware ESXi 6.0.0",
        "address": "10.10.21.63",
        "username": "leytham"
        }
    ]
}
POST
v1/recovery/backup-servers/deployproxy
{
    "target": {
        "type": "VSPHERE",
        "hostId": 1,
        "nic": "hello",
        "host": "adele.cristiesoftware.com",
        "datastore": "set fire to the rain"
    },
    "proxy": {
        "dhcpEnabled": true,
        "profile": 0,
        "hypervisorId": 1,
        "product": "TBMR",
        "dhcpIPs": ["10.10.21.22", "10.10.21.23"],
        "dhcpSubnet": "255.0.0.0",
        "dhcpGateway": "10.0.1.100",
        "dhcpDNS": "10.0.1.110"
    },
    "identifier": "API-EXAMPLE"
}
200
{
    "id": null,
    "uuid": "e46b46c9-c173-41cb-bc74-33f62b58749e",
    "task": "DR Proxy Deployment",
    "status": "In Progress",
    "details": "Deploying TBMR proxies on vSphere",
    "completed": false,
    "percent": 0,
    "source": "",
    "target": "",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "startTime": 1584032028771,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}
You can monitor the CristieEvent returned to check progress & check for completition using the event uuid.
Once complete, you can query backup proxies to confirm the proxy was deployed correctly.
GET
v1/recovery/backup-servers/deployproxy
200
{
    "proxies": [{
            "id": 1,
            "name": "Cristie TBMR Windows Proxy API-EXAMPLE",
            "ipAddress": "10.1.6.32",
            "macAddress": "00:0c:29:c3:05:c1",
            "dhcpEnabled": false,
            "dhcpIPs": [],
            "dhcpSubnet": "",
            "dhcpGateway": "",
            "dhcpDNS": "",
            "profile": 0,
            "hypervisorId": 2,
            "product": "TBMR",
            "productVersion": "8.7.1",
            "operatingSystem": "Windows",
            "legacy": false,
            "windowsProxy": true,
            "linuxProxy": false
        }, {
            "id": 2,
            "name": "Cristie TBMR Linux Proxy API-EXAMPLE",
            "ipAddress": "10.1.4.89",
            "macAddress": "00:0c:29:02:9b:e8",
            "dhcpEnabled": false,
            "dhcpIPs": [],
            "dhcpSubnet": "",
            "dhcpGateway": "",
            "dhcpDNS": "",
            "profile": 0,
            "hypervisorId": 2,
            "product": "TBMR",
            "productVersion": "8.7.6",
            "operatingSystem": "Linux",
            "legacy": false,
            "windowsProxy": false,
            "linuxProxy": true
        }
    ]
}
POST
v1/recovery/backup-servers
{
    "type":"TSM",
    "name": "TSM-Server-1",
    "host": "10.10.21.1",
    "userName":"admin",
    "password":"p@ssw0rd!",
    "port": 1500,
    "clientPort": 1500,
    "sslEnabled": true,
    "sslCertName": "tsm-server-1.arm"
}
200
{
    "id": null,
    "uuid": "a3a225ec-b38f-4ddc-9b73-4ec36146d125",
    "task": "Backup server configuration",
    "status": "In Progress",
    "details": "Discovering TSM proxies",
    "completed": false,
    "percent": 0,
    "source": "VA",
    "target": "10.10.21.1",
    "result": null,
    "modifiedTimestamp": 1584032649826867,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1584032649815,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}
If your server is SSL enabled you need to upload the SSL certificate BEFORE sending the request above.
To do this you should send a POST request to v1/recovery/backup-servers/upload with a form-data body type containing
certname - certificate name
content - the certificate file
servername - the server name specified above
                                            
You should check for a 202 HTTP code after uploading the certificate.
You can monitor the CristieEvent returned to check progress & check for completition using the event uuid.
GET
v1/recovery/backup-servers
200
{
    "servers": [{
            "id": 3,
            "type": "TBMR",
            "uuid": "45b60373-2833-4751-8694-59fd6547917d",
            "name": "tsm814",
            "host": "10.10.2.82",
            "userName": "admin",
            "sslCertName": "tsm814.arm",
            "port": 1500,
            "clientPort": 1500,
            "sslEnabled": true,
            "lastUpdate": 1584090639000,
            "serverVersion": null,
            "legacy": false,
            "backupClients": [{
                    "id": 1,
                    "name": "AUTOTEST-CENTOS7.3",
                    "platform": "LINUX",
                    "vms": [],
                    "domain": "",
                    "disrecDate": 1541555368000
                }, {
                    "id": 2,
                    "name": "AUTOTEST-WIN2016",
                    "platform": "WINDOWS",
                    "vms": [],
                    "domain": "",
                    "disrecDate": 1541535724000
                }
            ]
        }
    ]
}

POST
v1/control/estate/deployment
{
    "address": "10.10.21.13",
    "username": "Administrator",
    "password": "Passw0rd",
    "contractID": 9999,
    "product": "CLONEMANAGER",
    "port": 22,
    "installDir": "%ProgramFiles%\Cristie"
}
To deploy using a trial license, enter contractID 0.
You only need to specify install directory for Windows deployments.
The port is only used for Linux. This value should be the SSH port.
200
{
    "id": null,
    "uuid": "fd88820d-ed30-47d6-9fca-88727868016d",
    "task": "Software Deployment",
    "status": "In Progress",
    "details": "Deploying CloneManager to 10.10.21.23",
    "completed": false,
    "percent": 0,
    "source": "VA",
    "target": "10.10.21.13",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1584033972581,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}
You can monitor the CristieEvent returned to check progress & check for completition using the event uuid.
GET
v1/control/events/<uuid>
200
{
    "id": null,
    "uuid": "fd88820d-ed30-47d6-9fca-88727868016d",
    "task": "Software Deployment",
    "status": "Completed",
    "details": "Successfully deployed CloneManager to 10.10.21.23",
    "completed": true,
    "percent": 0,
    "source": "VA",
    "target": "10.10.21.13",
    "result": null,
    "modifiedTimestamp": 1584029582380545,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1584029579058,
    "finishTime": 1584029582379,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}
If the event is still in progress, you can repeat the request until the status is Completed or Failed
POST
v1/recovery/schedules
{
    "product": "CLONEMANAGER",
    "schedule": {
        "startTime": "2020-03-13T11:30:19.015Z",
        "type": "DAILY",
        "frequency": 1,
        "jobName": "Job 1",
        "enabled": true
    },
    "contractId": "18"
}
200
{
    "id": null,
    "uuid": "c0796f2f-0b34-4fd9-b764-7273bfd09d0a",
    "task": "DR Simulation",
    "status": "Completed",
    "details": "Job 1 job created successfully",
    "completed": true,
    "percent": 100,
    "source": "",
    "target": "",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "startTime": 1584094767507,
    "finishTime": 1584094767507,
    "error": 0,
    "scheduleReference": "1",
    "type": 1
}
GET
v1/recovery/schedules?type=Replication
200
{
    "schedules": [{
            "id": 1,
            "scheduleId": "",
            "product": "CLONEMANAGER",
            "schedule": {
                "id": null,
                "uuid": "6a6d4c2a-66cf-41c2-bd33-48e43618eab2",
                "type": "DAILY",
                "enabled": true,
                "groupName": null,
                "jobName": "Job 1",
                "cronTrigger": "0 10 14 */1 * ?",
                "startTime": 1589206200000,
                "nextRunTime": 1589206200208,
                "frequency": 1,
                "descriptor": "At 14:10 every day",
                "descriptorShort": "1 day",
                "continuous": false,
                "runOnce": false
            },
            "status": "NEW",
            "lastRunTime": null,
            "lastRunDurationInSec": 0,
            "contractId": null,
            "sourceTargetList": [],
            "orchestrationBlockId": null,
            "jobSummary": {
                "total": 0,
                "failed": 0,
                "running": 0,
                "waiting": 0,
                "completed": 0,
                "aborted": 0,
                "historicalFailures": {},
                "jobDurations": {},
                "recoveryDurations": []
            }
        }
    ]
}
GET
v1/recovery/schedules/replicationsummary
200
{
    "total": 4,
    "failed": 1,
    "completed": 3,
    "running": 0,
    "waiting": 0,
    "historicalFailures": {
        "0": 0,
        "1": 0,
        "2": 0,
        "3": 0,
        "4": 0,
        "5": 0,
        "6": 0,
        "7": 1,
        "8": 4,
        "9": 0,
        "10": 0,
        "11": 2,
        "12": 2,
        "13": 2,
        "14": 0,
        "15": 0,
        "16": 0,
        "17": 0,
        "18": 0,
        "19": 0,
        "20": 0,
        "21": 0,
        "22": 0,
        "23": 0,
        "24": 0,
        "25": 0,
        "26": 0,
        "27": 0,
        "28": 0,
        "29": 0,
        "30": 0
    },
    "jobDurations": {
        "JOB 1": 2564,
        "JOB 2": 1667,
        "JOB 3": 2932,
        "JOB 4": 367
    },
    "recoveryDurations": []
}
                            
POST
/v1/recovery/schedules/<scheduleId>/machines
[{
        "vmHostType": "VSPHERE",
        "targetConfig": {
            "verboseLogging": false,
            "os": "Red Hat Enterprise Linux 6",
            "arch": "X64",
            "cpuCount": 1,
            "ramSizeInMB": 4096,
            "hardDisksInGB": [{
                    "diskNo": 0,
                    "sizeInGB": 20,
                    "bootDisk": true,
                    "diskPrefix": 0,
                    "recover": true
                }
            ],
            "vmName": "VM-NAME",
            "hostname": "TARGEt-HOSTNAME",
            "mapDisk": false,
            "firmwareOpt": "BIOS",
            "postScriptCmd": "",
            "recoverySuccessAction": "LEAVE",
            "recoveryFailureAction": "LEAVE"
        },
        "sourceMacAddress": "00:0c:29:2c:ae:aa",
        "networkConfig": [{
                "hostname": "KPS-RH6X64",
                "gateway": "DHCP",
                "dhcp": true,
                "canRemove": false,
                "dns": "DHCP",
                "mac": "00:0c:29:2c:ae:aa",
                "ip": "DHCP",
                "subnet": "DHCP",
                "number": 0,
                "network": "Private Subnet-priv"
            }, {
                "hostname": "KPS-RH6X64",
                "gateway": "DHCP",
                "dhcp": true,
                "canRemove": false,
                "dns": "DHCP",
                "mac": "52:54:00:5b:13:3d",
                "ip": "DHCP",
                "subnet": "DHCP",
                "number": 1,
                "network": "Private Subnet-priv"
            }
        ],
        "sendStats": 1,
        "source": {
            "type": "CLONEMANAGER",
            "sourceUuid": "1dbb0c23-573c-3c3a-adf8-eb1d05763f3f",
            "opType": "REPLICATION"
        },
        "target": {
            "type": "VSPHERE",
            "hostId": 1,
            "nic": "Private Subnet-priv",
            "iso": "/clonemanager-linux-latest.iso",
            "isoDatastore": "Cristie ISO Storage-10.1.6.46",
            "host": "adele.cristiesoftware.com",
            "datastore": "set fire to the rain"
        },
        "targetIP": "",
        "targetMAC": "",
        "type": "CLONEMANAGER",
        "sourceServer": 1,
        "dhwConfig": {
            "dissimilar": false
        },
        "bootOrder": null,
        "bootDelay": null,
        "failoverConfig" null
    }
]
204
To help you obtain the required information you can Get CloneManager Source Config
You can replicate to an existing machine by adding the target information. See TBMR Recover to existing target for more information.
This assumes you DO NOT want enhanced testing enabled. If you want enhanced testing, see below.
POST
/v1/recovery/schedules/<scheduleId>/machines
[{
        "vmHostType": "VSPHERE",
        "targetConfig": {
            "hardDisksInGB": [{
                    "diskNo": 0,
                    "sizeInGB": 46,
                    "bootDisk": true,
                    "diskPrefix": 0,
                    "recover": true,
                    "overhead": 6442450944
                }
            ],
            "postScriptCmd": null,
            "recoverySuccessAction": "LEAVE",
            "recoveryFailureAction": "LEAVE",
            "os": "Windows 2008 R2",
            "arch": "X64",
            "ramSizeInMB": 4096,
            "cpuCount": 4,
            "firmwareOpt": "BIOS",
            "hostname": "NEW-HOSTNAME",
            "vmName": "CM-NP-2008R2-1DISK",
            "failoverDR": true
        },
        "sourceMacAddress": "00-50-56-8A-70-51",
        "networkConfig": [{
                "ip": "10.10.11.130",
                "subnet": "255.0.0.0",
                "gateway": "10.0.1.100",
                "dns": "10.0.1.110",
                "dhcp": true,
                "userAdded": false,
                "name": "Intel(R) PRO/1000 MT Network Connection",
                "hostname": "np-2008r2-1disk",
                "mac": "00-50-56-8A-70-51",
                "network": "Private Subnet-priv"
            }
        ],
        "sendStats": false,
        "source": {
            "type": "CLONEMANAGER",
            "name": "Unknown type",
            "source": {
                "type": "CLONEMANAGER",
                "sourceUuid": "b9037fe7-d735-37d0-9e37-1be8df7436e1",
                "opType": "REPLICATION"
            },
            "disks": [{
                    "type": "Windows Disk",
                    "size": 42949672960,
                    "name": "Disk0",
                    "selected": true,
                    "bootDisk": true,
                    "systemDisk": true,
                    "mbrDisk": true,
                    "gptDisk": false,
                    "diskNo": 0,
                    "bytesPerSector": 512,
                    "guid": null,
                    "partitions": [{
                            "size": 104857600,
                            "name": null,
                            "selected": true,
                            "filesystem": "NTFS",
                            "raidName": null,
                            "id": 2147483647,
                            "mountPoints": null,
                            "bootPartition": false,
                            "systemPartition": false,
                            "msr": false,
                            "efi": false,
                            "mountedFolder": false,
                            "raid": false,
                            "valid": true,
                            "mountCount": 0,
                            "identifier": null,
                            "sizeKB": 102400,
                            "sizeMB": 100,
                            "sizeGB": 0
                        }, {
                            "size": 42842718208,
                            "name": "C",
                            "selected": true,
                            "filesystem": "NTFS",
                            "raidName": null,
                            "id": 0,
                            "mountPoints": ["C"],
                            "bootPartition": true,
                            "systemPartition": false,
                            "msr": false,
                            "efi": false,
                            "mountedFolder": false,
                            "raid": false,
                            "valid": false,
                            "mountCount": 1,
                            "identifier": "C",
                            "sizeKB": 41838592,
                            "sizeMB": 40858,
                            "sizeGB": 39
                        }
                    ],
                    "childCount": 1,
                    "pairedDisk": null,
                    "valid": false,
                    "dynamic": false,
                    "identifier": "Basic Disk - MBR",
                    "signatureString": "551548454",
                    "sizeKB": 41943040,
                    "sizeMB": 40960,
                    "sizeGB": 40,
                    "boot": true,
                    "expanded": false,
                    "replicate": true,
                    "level": 1,
                    "sizeString": "40.0 GB",
                    "diskSizeInGB": "40.0",
                    "recover": true,
                    "prefix": "Disk0",
                    "children": [{
                            "boot": true,
                            "id": 0,
                            "name": "C",
                            "selected": true,
                            "size": 42842718208,
                            "system": false,
                            "type": "Partition",
                            "level": 2,
                            "sizeString": "39.9 GB",
                            "diskSizeInGB": "39.9",
                            "recover": true,
                            "replicate": true
                        }
                    ]
                }
            ],
            "partitions": [],
            "postScript": null,
            "preScript": null
        },
        "target": {
            "type": "VSPHERE",
            "hostId": 2,
            "host": "adele.cristiesoftware.com",
            "datastore": "set fire to the rain",
            "nic": "Private Subnet-priv",
            "iso": "/enhanced-testing-environment-latest.iso"
        },
        "targetIP": "",
        "targetMAC": "",
        "type": "CLONEMANAGER",
        "sourceServer": 2,
        "dhwConfig": {},
        "bootOrder": null,
        "bootDelay": null,
        "failoverConfig": {
            "vlan": 0,
            "iso": "clonemanager-windows-pe5-latest.iso"
        },
        "vpcConfigId": 0,
        "vpcConfig": null
    }
]
204

Overhead must be specified in MB.

Enhanced Testing requires an overhead on resources. It is recommended that target systems meet the following specification:
- Vitualisation enabled on the CPU
- RAM Overhead (Source System RAM + 6GB)
- Storage overhead (Source System + 10%)
Note: CPU virtualisation and RAM overhead will be added to vSphere VMs at time of creation.

When using Enhanced Testing, it is recommended to change the target system to use DHCP/Custom IP. This will allow you to test during replications without interfering with the source machine.

To help you obtain the required information you can Get CloneManager Source Config
You can replicate to an existing machine by adding the target information. See Recover to existing testing target for more information.
This assumes you DO want enhanced testing enabled. If you want enhanced testing, see above.
POST
v1/recovery/backup-servers/configs/<PLATFORM>/generate PLATFORM should be WINDOWSor LINUX
form-data body type containing
content - null
path - /etc/cristie/orchestration/repository/DISREC/<HOSTNAME>
200
{
    "os": "Red Hat Enterprise Linux 6",
    "arch": "x64",
    "hostname": "",
    "diskNo": 1,
    "disks": [{
            "type": "LinuxDisk",
            "size": 21474836480,
            "name": "/dev/sda",
            "selected": true,
            "bootDisk": true,
            "systemDisk": true,
            "mbrDisk": true,
            "gptDisk": false,
            "diskNo": 0,
            "bytesPerSector": 512,
            "guid": null,
            "partitions": [{
                    "size": 524288000,
                    "name": "/dev/sda1",
                    "selected": true,
                    "filesystem": null,
                    "raidName": null,
                    "id": 2147483647,
                    "mountPoints": ["/boot"],
                    "bootPartition": true,
                    "systemPartition": false,
                    "msr": false,
                    "efi": false,
                    "mountedFolder": false,
                    "raid": false,
                    "mountCount": 1,
                    "valid": false,
                    "identifier": "/boot",
                    "sizeKB": 512000,
                    "sizeMB": 500,
                    "sizeGB": 0
                }, {
                    "size": 20949499904,
                    "name": "/dev/sda2",
                    "selected": true,
                    "filesystem": null,
                    "raidName": null,
                    "id": 2147483647,
                    "mountPoints": null,
                    "bootPartition": false,
                    "systemPartition": false,
                    "msr": false,
                    "efi": false,
                    "mountedFolder": false,
                    "raid": false,
                    "mountCount": 0,
                    "valid": true,
                    "identifier": "/dev/sda2",
                    "sizeKB": 20458496,
                    "sizeMB": 19979,
                    "sizeGB": 19
                }
            ],
            "children": [{
                    "size": 524288000,
                    "name": "/dev/sda1",
                    "selected": true,
                    "filesystem": null,
                    "raidName": null,
                    "id": 2147483647,
                    "mountPoints": ["/boot"],
                    "bootPartition": true,
                    "systemPartition": false,
                    "msr": false,
                    "efi": false,
                    "mountedFolder": false,
                    "raid": false,
                    "mountCount": 1,
                    "valid": false,
                    "identifier": "/boot",
                    "sizeKB": 512000,
                    "sizeMB": 500,
                    "sizeGB": 0
                }, {
                    "size": 0,
                    "name": "vg_kpsrh6x64",
                    "selected": true,
                    "uuid": "4E30zI-6mU8-MwKT-42Aw-L8M9-n2IG-h81nXR",
                    "logicalVolumes": [{
                            "size": 18798870528,
                            "name": "lv_root",
                            "selected": true,
                            "systemVolume": true,
                            "bootVolume": false,
                            "uuid": "CDcBkv-0Qsp-MHUn-yu30-2wgb-81xQ-9IPyXi",
                            "mountPoints": ["/"],
                            "id": 0,
                            "amended": true,
                            "valid": false,
                            "fullName": "vg_kpsrh6x64-lv_root",
                            "sizeKB": 18358272,
                            "sizeMB": 17928,
                            "sizeGB": 17
                        }, {
                            "size": 2147483648,
                            "name": "lv_swap",
                            "selected": true,
                            "systemVolume": false,
                            "bootVolume": false,
                            "uuid": "5ikb3v-h8NU-3dvl-HqNV-hHkW-vduZ-qRVmxM",
                            "mountPoints": [],
                            "id": 2147483647,
                            "amended": true,
                            "valid": true,
                            "fullName": "vg_kpsrh6x64-lv_swap",
                            "sizeKB": 2097152,
                            "sizeMB": 2048,
                            "sizeGB": 2
                        }
                    ],
                    "physicalVolumes": [{
                            "size": 20946354176,
                            "name": "/dev/sda2",
                            "selected": true,
                            "systemVolume": false,
                            "bootVolume": false,
                            "valid": true,
                            "fullName": "vg_kpsrh6x64-/dev/sda2",
                            "sizeKB": 20455424,
                            "sizeMB": 19976,
                            "sizeGB": 19
                        }
                    ],
                    "childCount": 1,
                    "systemVolumeGroup": true,
                    "bootVolumeGroup": false,
                    "valid": false,
                    "sizeKB": 0,
                    "sizeMB": 0,
                    "sizeGB": 0
                }
            ],
            "raidName": null,
            "raidDisk": false,
            "volumeGroups": [{
                    "size": 0,
                    "name": "vg_kpsrh6x64",
                    "selected": true,
                    "uuid": "4E30zI-6mU8-MwKT-42Aw-L8M9-n2IG-h81nXR",
                    "logicalVolumes": [{
                            "size": 18798870528,
                            "name": "lv_root",
                            "selected": true,
                            "systemVolume": true,
                            "bootVolume": false,
                            "uuid": "CDcBkv-0Qsp-MHUn-yu30-2wgb-81xQ-9IPyXi",
                            "mountPoints": ["/"],
                            "id": 0,
                            "amended": true,
                            "valid": false,
                            "fullName": "vg_kpsrh6x64-lv_root",
                            "sizeKB": 18358272,
                            "sizeMB": 17928,
                            "sizeGB": 17
                        }, {
                            "size": 2147483648,
                            "name": "lv_swap",
                            "selected": true,
                            "systemVolume": false,
                            "bootVolume": false,
                            "uuid": "5ikb3v-h8NU-3dvl-HqNV-hHkW-vduZ-qRVmxM",
                            "mountPoints": [],
                            "id": 2147483647,
                            "amended": true,
                            "valid": true,
                            "fullName": "vg_kpsrh6x64-lv_swap",
                            "sizeKB": 2097152,
                            "sizeMB": 2048,
                            "sizeGB": 2
                        }
                    ],
                    "physicalVolumes": [{
                            "size": 20946354176,
                            "name": "/dev/sda2",
                            "selected": true,
                            "systemVolume": false,
                            "bootVolume": false,
                            "valid": true,
                            "fullName": "vg_kpsrh6x64-/dev/sda2",
                            "sizeKB": 20455424,
                            "sizeMB": 19976,
                            "sizeGB": 19
                        }
                    ],
                    "childCount": 1,
                    "systemVolumeGroup": true,
                    "bootVolumeGroup": false,
                    "valid": false,
                    "sizeKB": 0,
                    "sizeMB": 0,
                    "sizeGB": 0
                }
            ],
            "valid": false,
            "signatureString": "0x0005f674",
            "sizeKB": 20971520,
            "sizeMB": 20480,
            "sizeGB": 20
        }
    ],
    "cpuCount": 1,
    "ramSizeInMB": 2000,
    "efiSys": "BIOS",
    "netWorkInfo": [{
            "hostname": "KPS-RH6X64",
            "ipAddr": "10.10.19.97",
            "netMask": "255.0.0.0",
            "macAddr": "00:0c:29:2c:ae:aa",
            "gateway": "10.0.1.100",
            "nameServer": "10.0.1.110",
            "description": "eth0",
            "dhcp": false
        }, {
            "hostname": "KPS-RH6X64",
            "ipAddr": "192.168.122.1",
            "netMask": "255.255.255.0",
            "macAddr": "52:54:00:5b:13:3d",
            "gateway": "",
            "nameServer": "10.0.1.110",
            "description": "virbr0",
            "dhcp": false
        }
    ],
    "isHourlyBilling": false
}
You can monitor the CristieEvent returned to check progress & check for completition using the event uuid.
POST
/v1/recovery/schedules/<scheduleId>/run
null
204
To replicate an individual machine inside a schedule, add the ?uuid=<machine uuid> query parameter.
POST
/v1/recovery/failover/<machineId>/starttest
null
200
{
    "id": null,
    "uuid": "ddf76820-8265-43ee-a315-4e96d3a1373c",
    "task": "Enhanced Testing",
    "status": "In Progress",
    "details": "Starting Enhanced Testing",
    "completed": false,
    "percent": 0,
    "source": "CM7-WIN2016",
    "target": "CM-WIN2016",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1589294268279,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}

You must have performed at least 1 successful replication before you can run a test.

You must have performed at least 1 successful replication before you can run a test.
POST
/v1/recovery/failover/<machineId>/stoptest
null
200
{
    "id": null,
    "uuid": "ddf76820-8265-43ee-a315-4e96d3a1373c",
    "task": "Enhanced Testing",
    "status": "In Progress",
    "details": "Stopping Enhanced Testing",
    "completed": false,
    "percent": 0,
    "source": "CM7-WIN2016",
    "target": "CM-WIN2016",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1589294268279,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}

You must have performed at least 1 successful replication before you can run a test.
POST
/v1/recovery/schedules/<job id>/reboot
null
200
{
    "id": null,
    "uuid": "ddf76820-8265-43ee-a315-4e96d3a1373c",
    "task": "Rebooting Group",
    "status": "In Progress",
    "details": "Rebooting systems in job: jobname",
    "completed": false,
    "percent": 0,
    "source": "VA",
    "target": "JOB NAME",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1589294268279,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}

You should ensure all operations are complete before rebooting.
You can monitor the event to check reboot progress.
POST
/v1/recovery/recoveries/<id>/reboot
null
200
{
    "id": null,
    "uuid": "ddf76820-8265-43ee-a315-4e96d3a1373c",
    "task": "Reboot",
    "status": "In Progress",
    "details": "Rebooting system",
    "completed": false,
    "percent": 0,
    "source": "VA",
    "target": "VM-NAME",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1589294268279,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}

You should ensure the replication is complete before rebooting.
You can monitor the event to check reboot progress.

POST
v1/control/estate/deployment
{
    "address": "10.10.21.13",
    "username": "Administrator",
    "password": "Passw0rd",
    "contractID": 9999,
    "product": "TBMR",
    "port": 22,
    "installDir": "%ProgramFiles%\Cristie"
}
To deploy using a trial license, enter contractID 0.
You only need to specify install directory for Windows deployments.
The port is only used for Linux. This value should be the SSH port.
200
{
    "id": null,
    "uuid": "fd88820d-ed30-47d6-9fca-88727868016d",
    "task": "Software Deployment",
    "status": "In Progress",
    "details": "Deploying TBMR to 10.10.21.23",
    "completed": false,
    "percent": 0,
    "source": "VA",
    "target": "10.10.21.13",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1584033972581,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}
You can monitor the CristieEvent returned to check progress & check for completition using the event uuid.
GET
v1/control/events/<uuid>
200
{
    "id": null,
    "uuid": "fd88820d-ed30-47d6-9fca-88727868016d",
    "task": "Software Deployment",
    "status": "Completed",
    "details": "Successfully deployed TBMR to 10.10.21.23",
    "completed": true,
    "percent": 0,
    "source": "VA",
    "target": "10.10.21.13",
    "result": null,
    "modifiedTimestamp": 1584029582380545,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1584029579058,
    "finishTime": 1584029582379,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}
If the event is still in progress, you can repeat the request until the status is Completed or Failed
POST
v1/recovery/recover-now
[{
    "vmHostType": "VSPHERE",
    "targetConfig": {
        "verboseLogging": false,
        "os": "Red Hat Enterprise Linux 7",
        "arch": "X64",
        "cpuCount": 1,
        "ramSizeInMB": 4096,
        "hardDisksInGB": [{
                "diskNo": 0,
                "sizeInGB": 30,
                "bootDisk": true,
                "recover": true
            }
        ],
        "vmName": "target-machine-name",
        "hostname": "recovered-hostname",
        "mapDisk": false,
        "firmwareOpt": "EFI",
        "postScriptCmd": "",
        "recoverySuccessAction": "LEAVE",
        "recoveryFailureAction": "LEAVE"
    },
    "sourceMacAddress": "00:0c:29:f1:28:a8",
    "networkConfig": [{
            "hostname": "np-centos73efi",
            "gateway": "DHCP",
            "dhcp": true,
            "canRemove": false,
            "dns": "DHCP",
            "mac": "00:0c:29:f1:28:a8",
            "ip": "DHCP",
            "subnet": "DHCP",
            "number": 0,
            "network": "hello"
        }, {
            "hostname": "np-centos73efi",
            "gateway": "10.0.1.100",
            "dhcp": false,
            "canRemove": false,
            "dns": "10.0.1.110",
            "mac": "52:54:00:ab:34:9b",
            "ip": "10.10.21.99",
            "subnet": "255.0.0.0",
            "number": 1,
            "network": "hello"
        }
    ],
    "sendStats": 1,
    "source": {
        "serverId": 3,
        "type": "TBMR",
        "pit": null,
        "nodeName": "AUTOTEST-CENTOS7.3",
        "nodePassword": "p@ssw0rd",
        "onlyRootVol": 0,
        "encryptionPasswords": [null]
    },
    "target": {
        "type": "VSPHERE",
        "hostId": 1,
        "nic": "Private Subnet-priv",
        "iso": "/tbmr-linux-intel-latest.iso",
        "isoDatastore": "Cristie ISO Storage-10.1.6.46",
        "host": "adele.cristiesoftware.com",
        "datastore": "set fire to the rain"
    },
    "targetIP": "",
    "targetMAC": "",
    "type": "TBMR",
    "sourceServer": 1,
    "dhwConfig": {
        "dissimilar": false
    },
    "bootOrder": null,
    "bootDelay": null
}
]
To obtain all of information required, you might want to make use of the following API calls:

Note: You send an array of SourceTargetBeans allowing you to recover multiple machines at once with the same API call.
200
[{
        "id": null,
        "uuid": "5594474f-c59a-4307-bb79-9f33df26f2e2",
        "task": "Recovery",
        "status": "In Progress",
        "details": "Recovery starting",
        "completed": false,
        "percent": 0,
        "source": "AUTOTEST-CENTOS7.3",
        "target": "target-machine-name",
        "result": null,
        "modifiedTimestamp": 0,
        "user": "Administrator",
        "startTime": 1584091980544,
        "finishTime": null,
        "error": 0,
        "scheduleReference": "1",
        "type": 1
    }
]
Note: This returns an array of CristieEvents as you can recover multiple machines in the same call. You can monitor the CristieEvents returned to check progress & check for completition using the event uuid.
POST
v1/recovery/recover-now
[{
        "vmHostType": "STANDARD",
        "targetConfig": {
            "verboseLogging": false,
            "os": "Red Hat Enterprise Linux 7",
            "arch": "X64",
            "cpuCount": 1,
            "ramSizeInMB": 4096,
            "hardDisksInGB": [{
                    "diskNo": 0,
                    "sizeInGB": 20,
                    "bootDisk": true,
                    "diskPrefix": "sda",
                    "recover": true
                }
            ],
            "vmName": "RS-np-centos73efi",
            "hostname": "TARGET-HOSTNAME",
            "mapDisk": false,
            "firmwareOpt": "EFI",
            "postScriptCmd": "",
            "recoverySuccessAction": "LEAVE",
            "recoveryFailureAction": "LEAVE"
        },
        "sourceMacAddress": "00:0c:29:f1:28:a8",
        "networkConfig": [{
                "hostname": "np-centos73efi",
                "gateway": "DHCP",
                "dhcp": true,
                "canRemove": false,
                "dns": "DHCP",
                "mac": "00:0c:29:f1:28:a8",
                "ip": "DHCP",
                "subnet": "DHCP",
                "number": 0,
                "network": ""
            }, {
                "hostname": "np-centos73efi",
                "gateway": "DHCP",
                "dhcp": true,
                "canRemove": false,
                "dns": "DHCP",
                "mac": "52:54:00:ab:34:9b",
                "ip": "DHCP",
                "subnet": "DHCP",
                "number": 1,
                "network": ""
            }
        ],
        "sendStats": 1,
        "source": {
            "serverId": 3,
            "type": "TBMR",
            "pit": null,
            "nodeName": "AUTOTEST-CENTOS7.3",
            "nodePassword": "p@ssw0rd!",
            "onlyRootVol": 0,
            "encryptionPasswords": [null]
        },
        "target": null,
        "targetIP": "10.1.4.61",
        "targetMAC": "00:0c:29:6b:08:5e",
        "type": "TBMR",
        "dhwConfig": {
            "dissimilar": true
        },
        "bootOrder": null,
        "bootDelay": null
    }
]
To obtain all of information required, you might want to make use of the following API calls:

Note: You send an array of SourceTargetBeans allowing you to recover multiple machines at once with the same API call.
200
[{
        "id": null,
        "uuid": "d84dde8e-7681-48c1-b82b-9ff8cc1682a4",
        "task": "Recovery",
        "status": "In Progress",
        "details": "Recovery starting",
        "completed": false,
        "percent": 0,
        "source": "AUTOTEST-CENTOS7.3",
        "target": "RS-np-centos73efi",
        "result": null,
        "modifiedTimestamp": 0,
        "user": "Administrator",
        "startTime": 1584092853311,
        "finishTime": null,
        "error": 0,
        "scheduleReference": "2",
        "type": 1
    }
]
Note: This returns an array of CristieEvents as you can recover multiple machines in the same call. You can monitor the CristieEvents returned to check progress & check for completition using the event uuid.
POST
v1/recovery/backup-servers/getconfig
{
    "serverId": 3,
    "clientName": "AUTOTEST-CENTOS7.3",
    "password": "p@ssw0rd",
    "encryptionPasswords": [],
    "clientDomain": "null"
}
200
{
    "os": "Red Hat Enterprise Linux 7",
    "arch": "x64",
    "hostname": "",
    "diskNo": 1,
    "disks": [{
            "type": "LinuxDisk",
            "size": 32212254720,
            "name": "/dev/sda",
            "selected": true,
            "bootDisk": true,
            "systemDisk": true,
            "mbrDisk": false,
            "gptDisk": true,
            "diskNo": 0,
            "bytesPerSector": 512,
            "guid": null,
            "partitions": [{
                    "size": 209715200,
                    "name": "/dev/sda1",
                    "selected": true,
                    "filesystem": null,
                    "raidName": null,
                    "id": 2147483647,
                    "mountPoints": ["/boot/efi"],
                    "bootPartition": false,
                    "systemPartition": false,
                    "msr": false,
                    "efi": false,
                    "mountedFolder": false,
                    "raid": false,
                    "mountCount": 1,
                    "valid": true,
                    "identifier": "/boot/efi",
                    "sizeKB": 204800,
                    "sizeMB": 200,
                    "sizeGB": 0
                }, {
                    "size": 1073741824,
                    "name": "/dev/sda2",
                    "selected": true,
                    "filesystem": null,
                    "raidName": null,
                    "id": 2147483647,
                    "mountPoints": ["/boot"],
                    "bootPartition": true,
                    "systemPartition": false,
                    "msr": false,
                    "efi": false,
                    "mountedFolder": false,
                    "raid": false,
                    "mountCount": 1,
                    "valid": false,
                    "identifier": "/boot",
                    "sizeKB": 1048576,
                    "sizeMB": 1024,
                    "sizeGB": 1
                }, {
                    "size": 30926700544,
                    "name": "/dev/sda3",
                    "selected": true,
                    "filesystem": null,
                    "raidName": null,
                    "id": 2147483647,
                    "mountPoints": null,
                    "bootPartition": false,
                    "systemPartition": false,
                    "msr": false,
                    "efi": false,
                    "mountedFolder": false,
                    "raid": false,
                    "mountCount": 0,
                    "valid": true,
                    "identifier": "/dev/sda3",
                    "sizeKB": 30201856,
                    "sizeMB": 29494,
                    "sizeGB": 28
                }
            ],
            "children": [{
                    "size": 209715200,
                    "name": "/dev/sda1",
                    "selected": true,
                    "filesystem": null,
                    "raidName": null,
                    "id": 2147483647,
                    "mountPoints": ["/boot/efi"],
                    "bootPartition": false,
                    "systemPartition": false,
                    "msr": false,
                    "efi": false,
                    "mountedFolder": false,
                    "raid": false,
                    "mountCount": 1,
                    "valid": true,
                    "identifier": "/boot/efi",
                    "sizeKB": 204800,
                    "sizeMB": 200,
                    "sizeGB": 0
                }, {
                    "size": 1073741824,
                    "name": "/dev/sda2",
                    "selected": true,
                    "filesystem": null,
                    "raidName": null,
                    "id": 2147483647,
                    "mountPoints": ["/boot"],
                    "bootPartition": true,
                    "systemPartition": false,
                    "msr": false,
                    "efi": false,
                    "mountedFolder": false,
                    "raid": false,
                    "mountCount": 1,
                    "valid": false,
                    "identifier": "/boot",
                    "sizeKB": 1048576,
                    "sizeMB": 1024,
                    "sizeGB": 1
                }, {
                    "size": 0,
                    "name": "cl",
                    "selected": true,
                    "uuid": "jsIqTo-yaik-8dw3-H86I-e1k1-tweo-vmPYi5",
                    "logicalVolumes": [{
                            "size": 27703377920,
                            "name": "root",
                            "selected": true,
                            "systemVolume": true,
                            "bootVolume": false,
                            "uuid": "6vE5n1-3lOQ-jgTs-4anS-OB6B-KN7D-beuH1V",
                            "mountPoints": ["/"],
                            "id": 0,
                            "amended": true,
                            "valid": false,
                            "fullName": "cl-root",
                            "sizeKB": 27054080,
                            "sizeMB": 26420,
                            "sizeGB": 25
                        }, {
                            "size": 3221225472,
                            "name": "swap",
                            "selected": true,
                            "systemVolume": false,
                            "bootVolume": false,
                            "uuid": "uankXj-9jZQ-Vor2-9dkv-72cH-kI9D-9x9UMW",
                            "mountPoints": [],
                            "id": 2147483647,
                            "amended": true,
                            "valid": true,
                            "fullName": "cl-swap",
                            "sizeKB": 3145728,
                            "sizeMB": 3072,
                            "sizeGB": 3
                        }
                    ],
                    "physicalVolumes": [{
                            "size": 30924603392,
                            "name": "/dev/sda3",
                            "selected": true,
                            "systemVolume": false,
                            "bootVolume": false,
                            "valid": true,
                            "fullName": "cl-/dev/sda3",
                            "sizeKB": 30199808,
                            "sizeMB": 29492,
                            "sizeGB": 28
                        }
                    ],
                    "childCount": 1,
                    "systemVolumeGroup": true,
                    "bootVolumeGroup": false,
                    "valid": false,
                    "sizeKB": 0,
                    "sizeMB": 0,
                    "sizeGB": 0
                }
            ],
            "raidName": null,
            "volumeGroups": [{
                    "size": 0,
                    "name": "cl",
                    "selected": true,
                    "uuid": "jsIqTo-yaik-8dw3-H86I-e1k1-tweo-vmPYi5",
                    "logicalVolumes": [{
                            "size": 27703377920,
                            "name": "root",
                            "selected": true,
                            "systemVolume": true,
                            "bootVolume": false,
                            "uuid": "6vE5n1-3lOQ-jgTs-4anS-OB6B-KN7D-beuH1V",
                            "mountPoints": ["/"],
                            "id": 0,
                            "amended": true,
                            "valid": false,
                            "fullName": "cl-root",
                            "sizeKB": 27054080,
                            "sizeMB": 26420,
                            "sizeGB": 25
                        }, {
                            "size": 3221225472,
                            "name": "swap",
                            "selected": true,
                            "systemVolume": false,
                            "bootVolume": false,
                            "uuid": "uankXj-9jZQ-Vor2-9dkv-72cH-kI9D-9x9UMW",
                            "mountPoints": [],
                            "id": 2147483647,
                            "amended": true,
                            "valid": true,
                            "fullName": "cl-swap",
                            "sizeKB": 3145728,
                            "sizeMB": 3072,
                            "sizeGB": 3
                        }
                    ],
                    "physicalVolumes": [{
                            "size": 30924603392,
                            "name": "/dev/sda3",
                            "selected": true,
                            "systemVolume": false,
                            "bootVolume": false,
                            "valid": true,
                            "fullName": "cl-/dev/sda3",
                            "sizeKB": 30199808,
                            "sizeMB": 29492,
                            "sizeGB": 28
                        }
                    ],
                    "childCount": 1,
                    "systemVolumeGroup": true,
                    "bootVolumeGroup": false,
                    "valid": false,
                    "sizeKB": 0,
                    "sizeMB": 0,
                    "sizeGB": 0
                }
            ],
            "raidDisk": false,
            "valid": false,
            "signatureString": "0x00000000",
            "sizeKB": 31457280,
            "sizeMB": 30720,
            "sizeGB": 30
        }
    ],
    "cpuCount": 1,
    "ramSizeInMB": 3776,
    "efiSys": "EFI",
    "netWorkInfo": [{
            "hostname": "np-centos73efi",
            "ipAddr": "10.10.11.218",
            "netMask": "255.0.0.0",
            "macAddr": "00:0c:29:f1:28:a8",
            "gateway": "10.0.1.100",
            "nameServer": "10.0.1.110",
            "description": "ens33",
            "dhcp": false
        }, {
            "hostname": "np-centos73efi",
            "ipAddr": "192.168.122.1",
            "netMask": "255.255.255.0",
            "macAddr": "52:54:00:ab:34:9b",
            "gateway": "",
            "nameServer": "10.0.1.110",
            "description": "virbr0",
            "dhcp": false
        }
    ],
    "isHourlyBilling": false
}
Once returned, this information is cached on the VA for 7 days. If you make any hardware changes you should delete the cached version before running this query again.
GET
v1/control/estate/machines
200
{
    "machines": [{
            "addresses": ["10.1.4.89"],
            "commAddr": "10.1.4.89",
            "agentId": null,
            "uuid": "2fabe6dd-0a60-3c4f-8ceb-1cd0def21b49",
            "hostname": "cristie",
            "cpuArch": null,
            "username": null,
            "passwordStored": false,
            "recoveryEnvironment": true,
            "discoveryType": "AGENT",
            "operatingSystem": "Linux",
            "platform": "LINUX",
            "macAddress": "00:0c:29:02:9b:e8",
            "hypervisorType": "VSPHERE",
            "productInfo": {
                "licensed": false,
                "tokens": null,
                "licType": "NOT_LICENSED",
                "signature": "",
                "licExpiry": null,
                "contractId": 0,
                "rentalSync": false,
                "type": "TBMR",
                "version": "8.7.6",
                "nextAvailableVersion": "Unknown",
                "activationCode": null,
                "bmr": true
            },
            "disrecDate": null,
            "lastUpdate": 1584092125000,
            "isoCreatedOn": null,
            "lastUpdated": 1584092125000,
            "port": 22,
            "backupStorage": null,
            "backupConfig": null,
            "backupStatus": null,
            "lastBackupStatus": null,
            "restoreStatus": null,
            "lastEvent": null,
            "forceNextFull": false,
            "newPassword": null,
            "events": [],
            "recovery": true
        }, {
            "addresses": ["10.10.67.20"],
            "commAddr": "10.10.67.20",
            "agentId": null,
            "uuid": "224dd283-5ab8-3a67-bcbd-9507f8e182c4",
            "hostname": "postman-rhel75",
            "cpuArch": null,
            "username": null,
            "passwordStored": false,
            "recoveryEnvironment": false,
            "discoveryType": "AGENT",
            "operatingSystem": "Linux",
            "platform": "LINUX",
            "macAddress": "00:0c:29:0d:f6:03",
            "hypervisorType": "VSPHERE",
            "productInfo": {
                "licensed": false,
                "tokens": null,
                "licType": "FULL",
                "signature": "TWE22VD5-YBPQJ6S4-RNDEET58-VFVCCZ8G",
                "licExpiry": 1924473600000,
                "contractId": 9999,
                "rentalSync": false,
                "type": "TBMR",
                "version": "8.7.1",
                "nextAvailableVersion": "Unknown",
                "activationCode": null,
                "bmr": true
            },
            "disrecDate": 1584042360000,
            "lastUpdate": 1584067649000,
            "isoCreatedOn": null,
            "lastUpdated": 1584067649000,
            "port": 22,
            "backupStorage": null,
            "backupConfig": null,
            "backupStatus": null,
            "lastBackupStatus": null,
            "restoreStatus": null,
            "lastEvent": null,
            "forceNextFull": false,
            "newPassword": null,
            "events": [],
            "recovery": false
        }
    ]
}
This call will return systems running any Cristie product, as well as the target recovery environments.
Target systems booted into the recovery ISO can be identified by "recovery": true
Source systems with "nextAvailableVersion": "Unknown" are already on the latest version.
POST
/v1/recovery/schedules/<job id>/reboot
null
200
{
    "id": null,
    "uuid": "ddf76820-8265-43ee-a315-4e96d3a1373c",
    "task": "Rebooting Group",
    "status": "In Progress",
    "details": "Rebooting systems in job: jobname",
    "completed": false,
    "percent": 0,
    "source": "VA",
    "target": "JOB NAME",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1589294268279,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}

You should ensure all recoveries are complete before rebooting.
You can monitor the event to check reboot progress.
POST
/v1/recovery/recoveries/<id>/reboot
null
200
{
    "id": null,
    "uuid": "ddf76820-8265-43ee-a315-4e96d3a1373c",
    "task": "Reboot",
    "status": "In Progress",
    "details": "Rebooting system",
    "completed": false,
    "percent": 0,
    "source": "VA",
    "target": "VM-NAME",
    "result": null,
    "modifiedTimestamp": 0,
    "user": "Administrator",
    "blockId": 0,
    "startTime": 1589294268279,
    "finishTime": null,
    "error": 0,
    "scheduleReference": null,
    "type": 1
}

You should ensure the recovery is complete before rebooting.
You can monitor the event to check reboot progress.