Restore

The Restore section defines paths and operations for performing restore.

NOTE
In this version, the REST API supports the following recovery operations:
  • Instant Recovery of a VMware vSphere VM to VMware vSphere
  • Instant Recovery of a Microsoft Hyper-V VM to Microsoft Hyper-V
  • Instant Recovery of Windows and Linux machines to Azure
  • Entire VM restore of a VMware vSphere VM to VMware vSphere
  • Entire VM restore of a Microsoft Hyper-V VM to Microsoft Hyper-V
  • Entire VM restore of a VMware Cloud Director VM to VMware Cloud Director
  • Restore of disks that will be registered as First Class Disks (FCD) — a type of virtual disks that can be managed independent of any VM
  • File restore from a backup or replica of a Microsoft Windows or Linux machine
  • Microsoft Entra item restore
  • Microsoft Entra audit log restore

Get All Instant Recovery Mount Points of VMware vSphere VMs

The HTTP GET request to the /api/v1/restore/instantRecovery/vSphere/vm path allows you to get an array of Instant Recovery mount points of VMware vSphere VMs.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
query Parameters
skip
integer <int32>

Number of mount points to skip.

limit
integer <int32>
Default: 200

Maximum number of mount points to return.

orderColumn
string (EInstantViVMRecoveryMountsFiltersOrderColumn)

Sorts mount points by one of the mount point parameters.

Enum: "state" "vmName" "jobName" "restorePointDate" "hostName"
orderAsc
boolean

If true, sorts mount points in the ascending order by the orderColumn parameter.

stateFilter
string (EInstantRecoveryMountState)

Filters mount points by mount point state.

Enum: "Failed" "Mounting" "Mounted" "Dismounting"
vmNameFilter
string

Filters mount points by the nameFilter pattern. The pattern can match any mount parameter. To substitute one or more characters, use the asterisk (*) character at the beginning, at the end or both.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/vSphere/vm
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Start Instant Recovery of VMware vSphere VM

The HTTP POST request to the /api/v1/restore/instantRecovery/vSphere/vm path allows you to start Instant Recovery of a VMware vSphere VM to VMware vSphere. You can recover a VM from the specified restore point to the original location with initial VM settings, or to any location but with different settings.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
restorePointId
required
string <uuid>

ID of the restore point.

type
required
string (EInstantVMRecoveryModeType)

Restore mode.

required
object (SecureRestoreSpec)

Secure restore settings.

vmTagsRestoreEnabled
boolean

If true, Veeam Backup & Replication restores tags that were assigned to the original VM, and assign them to the restored VM.

nicsEnabled
boolean

If true, the restored VM is connected to the network.

powerUp
boolean

If true, Veeam Backup & Replication powers on the restored VM on the target host.

reason
string

Reason for restoring the VM.

overwrite
boolean

If true, the existing VM with the same name is overwritten.

Responses
201

An InstantRecovery session has been started to start Instant Recovery. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/vSphere/vm
Request samples
application/json
{
  • "restorePointId": "af75ddaa-d680-4c50-ac82-07834a007707",
  • "type": "OriginalLocation",
  • "vmTagsRestoreEnabled": true,
  • "secureRestore": {
    },
  • "nicsEnabled": false,
  • "powerUp": true,
  • "reason": "Instant Recovery to VMware vSphere"
}
Response samples
application/json
{
  • "sessionType": "InstantRecovery",
  • "state": "Working",
  • "id": "2e0bf225-91b3-4005-8524-6f7971e9ac4f",
  • "name": "apache05",
  • "jobId": "9239c712-3c0e-49e9-ae4d-c9c6267504e0",
  • "creationTime": "2024-03-07T19:31:23.07555+01:00",
  • "endTime": null,
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "2e0bf225-91b3-4005-8524-6f7971e9ac4f",
  • "resourceReference": "/api/v1/restore/instantRecovery/vmware/vm/2e0bf225-91b3-4005-8524-6f7971e9ac4f",
  • "parentSessionId": null,
  • "usn": 0
}

Get Instant Recovery Mount Point of VMware vSphere VM

The HTTP GET request to the /api/v1/restore/instantRecovery/vSphere/vm/{mountId} path allows you to get an Instant Recovery mount point of a VMware vSphere VM, using the specified mountID.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Instant Recovery Mount Points of VMware vSphere VMs request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/vSphere/vm/{mountId}
Request samples
Response samples
application/json
{
  • "state": "Mounted",
  • "id": "32441b29-d55c-4b20-801a-c1b17cd75d55",
  • "sessionId": "32441b29-d55c-4b20-801a-c1b17cd75d55",
  • "spec": {
    },
  • "vmName": "apache04",
  • "errorMessage": ""
}

Stop Publishing VMware vSphere VM

The HTTP POST request to the /api/v1/restore/instantRecovery/vSphere/vm/{mountId}/unmount path allows you to stop publishing a VMware vSphere VM for which you have started Instant Recovery and unmount it from the destination host.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Instant Recovery Mount Points of VMware vSphere VMs request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

An InstantRecovery session has been started to stop publishing the VM. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/vSphere/vm/{mountId}/unmount
Request samples
Response samples
application/json
{
  • "sessionType": "InstantRecovery",
  • "state": "Working",
  • "id": "2e0bf225-91b3-4005-8524-6f7971e9ac4f",
  • "name": "apache05",
  • "jobId": "9239c712-3c0e-49e9-ae4d-c9c6267504e0",
  • "creationTime": "2024-03-07T19:31:23.07555+01:00",
  • "endTime": null,
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "2e0bf225-91b3-4005-8524-6f7971e9ac4f",
  • "resourceReference": "/api/v1/restore/instantRecovery/vmware/vm/2e0bf225-91b3-4005-8524-6f7971e9ac4f",
  • "parentSessionId": null,
  • "usn": 0
}

Start Migrating VMware vSphere VM

The HTTP POST request to the /api/v1/restore/instantRecovery/vSphere/vm/{mountId}/migrate path allows you to start migrating a VMware vSphere VM for which you have started Instant Recovery, using the specified mount point.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Instant Recovery Mount Points of VMware vSphere VMs request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
required
object (InventoryObjectModel)

Inventory object properties.

object (InventoryObjectModel)

Inventory object properties.

object (InventoryObjectModel)

Inventory object properties.

object (InventoryObjectModel)

Inventory object properties.

sourceProxyIds
Array of strings <uuid>

Array of source backup proxies.

targetProxyIds
Array of strings <uuid>

Array of target backup proxies.

VeeamQMEnabled
boolean

If true, the Veeam Quick Migration mechanism is used. Otherwise, Veeam Backup & Replication will use VMware vMotion for migration.

DeleteSourceVmsFiles
boolean

If true, Veeam Backup & Replication will delete source VM files upon successful migration.

Responses
200

A QuickMigration session has been started to migrate the VM. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/vSphere/vm/{mountId}/migrate
Request samples
application/json
{
  • "destinationHost": {
    },
  • "folder": {
    },
  • "resourcePool": {
    },
  • "datastore": {
    },
  • "sourceProxyIds": [
    ],
  • "targetProxyIds": [
    ],
  • "VeeamQMEnabled": true,
  • "DeleteSourceVmsFiles": false
}
Response samples
application/json
{
  • "sessionType": "QuickMigration",
  • "state": "Starting",
  • "id": "8228661b-861e-40c4-8133-8a97700f4dfa",
  • "name": "Quick Migration Job",
  • "jobId": "a00aa837-2c85-40c9-ae98-8b089dabc9b5",
  • "creationTime": "2024-03-07T21:16:08.216977+01:00",
  • "endTime": null,
  • "progressPercent": 0,
  • "result": null,
  • "resourceId": null,
  • "resourceReference": null,
  • "parentSessionId": null,
  • "usn": 0
}

Get All Instant Recovery Mount Points of Microsoft Hyper-V VMs

The HTTP GET request to the /api/v1/restore/instantRecovery/hyperV/vm path allows you to get an array of Instant Recovery mount points of Microsoft Hyper-V VMs.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
query Parameters
skip
integer <int32>

Number of mount points to skip.

limit
integer <int32>
Default: 200

Maximum number of mount points to return.

orderColumn
string (EInstantHvVMRecoveryMountsFiltersOrderColumn)

Sorts mount points by one of the mount point parameters.

Enum: "state" "vmName" "jobName" "restorePointDate" "hostName"
orderAsc
boolean

If true, sorts mount points in the ascending order by the orderColumn parameter.

stateFilter
string (EInstantRecoveryMountState)

Filters mount points by mount point state.

Enum: "Failed" "Mounting" "Mounted" "Dismounting"
vmNameFilter
string

Filters mount points by backup job name.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/hyperV/vm
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Start Instant Recovery of Microsoft Hyper-V VM

The HTTP POST request to the /api/v1/restore/instantRecovery/hyperV/vm path allows you to start Instant Recovery of a Microsoft Hyper-V VM to Microsoft Hyper-V VM. You can recover a VM from the specified restore point to the original location with initial VM settings, or to any location but with different settings.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
restorePointId
required
string <uuid>

ID of the restore point.

type
required
string (EInstantVMRecoveryModeType)

Restore mode.

object (SecureRestoreSpec)

Secure restore settings.

powerUp
boolean

If true, Veeam Backup & Replication powers on the restored VM on the target host.

reason
string

Reason for restoring the VM.

Responses
201

An InstantRecovery session has been started to start Instant Recovery. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/hyperV/vm
Request samples
application/json
{
  • "type": "OriginalLocation",
  • "restorePointId": "070f0e5b-7f69-443b-a34e-59b30b22da6a",
  • "secureRestore": {
    },
  • "powerUp": true,
  • "reason": "Recovery to previous state"
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Get Instant Recovery Mount Point of Microsoft Hyper-V VM

The HTTP GET request to the /api/v1/restore/instantRecovery/hyperV/vm/{mountId} path allows you to get an Instant Recovery mount point of a Microsoft Hyper-V VM, using the specified mountID.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Instant Recovery Mount Points of Microsoft Hyper-V VMs request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/hyperV/vm/{mountId}
Request samples
Response samples
application/json
{
  • "state": "Mounted",
  • "id": "76683fbf-9cc0-4766-a169-f01918fdaa60",
  • "sessionId": "76683fbf-9cc0-4766-a169-f01918fdaa60",
  • "spec": {
    },
  • "vmName": "appsrv001-ir729",
  • "jobName": "Backup Job 1 - appsrv001",
  • "restorePointDate": "2025-07-29T13:25:32.973718",
  • "hostName": "pdctwhv02.tech.local"
}

Stop Publishing Microsoft Hyper-V VM

The HTTP POST request to the /api/v1/restore/instantRecovery/hyperV/vm/{mountId}/unmount path allows you to stop publishing a Microsoft Hyper-V VM for which you have started Instant Recovery and unmount it from the destination host.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Instant Recovery Mount Points of Microsoft Hyper-V VMs request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

An InstantRecovery session has been started to stop publishing the VM. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/hyperV/vm/{mountId}/unmount
Request samples
Response samples
application/json
{
  • "sessionType": "InstantRecovery",
  • "state": "Working",
  • "id": "2e0bf225-91b3-4005-8524-6f7971e9ac4f",
  • "name": "apache05",
  • "jobId": "9239c712-3c0e-49e9-ae4d-c9c6267504e0",
  • "creationTime": "2024-03-07T19:31:23.07555+01:00",
  • "endTime": null,
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "2e0bf225-91b3-4005-8524-6f7971e9ac4f",
  • "resourceReference": "/api/v1/restore/instantRecovery/vmware/vm/2e0bf225-91b3-4005-8524-6f7971e9ac4f",
  • "parentSessionId": null,
  • "usn": 0
}

Start Migrating Microsoft Hyper-V VM

The HTTP POST request to the /api/v1/restore/instantRecovery/hyperV/vm/{mountId}/migrate path allows you to start migrating a Microsoft Hyper-V VM for which you have started Instant Recovery, using the specified mount point.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Instant Recovery Mount Points of Microsoft Hyper-V VMs request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
204

VM has been migrated to production.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/hyperV/vm/{mountId}/migrate
Request samples
Response samples
application/json
{ }

Get All Mount Points for Instant Recovery to Azure

The HTTP GET request to the /api/v1/restore/instantRecovery/azure/vm path allows you to get an array of Instant Recovery mount points of Microsoft Azure VMs.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
query Parameters
skip
integer <int32>

Number of mounts to skip.

limit
integer <int32>
Default: 200

Maximum number of mounts to return.

orderColumn
string (EAzureInstantVMRecoveryMountsFiltersOrderColumn)

Sorts mounts by one of the mount parameters.

Enum: "state" "name"
orderAsc
boolean

Sorts mounts in the ascending order by the orderColumn parameter.

stateFilter
string (EAzureInstantRecoveryMountState)

Filters mounts by mount state.

Enum: "Ready" "Migrating" "ReadyToSwitch" "Switching" "Starting" "Stopping" "Stopped"
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/azure/vm
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Start Instant Recovery to Azure

The HTTP POST request to the /api/v1/restore/instantRecovery/azure/vm path allows you to start Instant Recovery of a Linux or Windows machine to Azure.

NOTE
Deploying a helper appliance template with REST API is not supported in this version. Before you run this request, you must deploy a helper appliance template in the Veeam Backup & Replication UI or with the Deploy-VBRAzureApplianceTemplate cmdlet.

To get the values required in the request body, run the following requests:

  1. Run the Get All Restore Points request to get the RestorePointId property value.
  2. Run the Get Restore Point Disks request to get the diskUid property value.
  3. Run the Get All Cloud Credentials request to get the subscriptionId property value.
  4. Run the Get Cloud Hierarchy request to get the values for the remaining required properties.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
restorePointId
required
string <uuid>

Restore point ID. To get the ID, run the Get All Restore Points request.

required
object (AzureComputeSubscriptionModel)

Azure compute subscription.

required
object (AzureComputeVMSizeModel)

Size settings for Microsoft Azure VM.

required
object (AzureComputeResourceGroupModel)

Microsoft Azure resource group.

required
object (AzureComputeNetworkModel)

Microsoft Azure VM network settings.

required
object (AzureInstantVMRecoveryApplianceModel)

Helper appliance for Instant Recovery to Azure.

object (AzureComputeNameModel)

Name of Microsoft Azure VM.

reason
string

Reason for performing Instant Recovery to Azure.

verifyVMBoot
boolean

If true, Veeam Backup & Replication will verify whether the restored VM has booted properly.

Responses
201

Azure Instant Recovery mount has been initiated to start Instant Recovery. To check the progress, track the mount state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/azure/vm
Request samples
application/json
{
  • "restorePointId": "be6e2a88-1d7d-46cc-b375-616c632ab8df",
  • "subscription": {
    },
  • "name": {
    },
  • "vmSize": {
    },
  • "resourceGroup": {
    },
  • "network": {
    },
  • "appliance": {
    },
  • "reason": "Started at 7/12/2025 1:36:21 PM",
  • "verifyVMBoot": false
}
Response samples
application/json
{
  • "state": "Starting",
  • "id": "4e920162-6c42-4483-9b7a-768ed40d31fe",
  • "spec": {
    },
  • "errorMessage": ""
}

Get Mount Point for Instant Recovery to Azure

The HTTP GET request to the /api/v1/restore/instantRecovery/azure/vm/{mountId} path allows you to get a mount point that has the specified mountID.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Mount Points for Instant Recovery to Azure request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/azure/vm/{mountId}
Request samples
Response samples
application/json
{
  • "state": "Starting",
  • "id": "4e920162-6c42-4483-9b7a-768ed40d31fe",
  • "spec": {
    },
  • "errorMessage": ""
}

Get All Mount Sessions for Instant Recovery to Azure

The HTTP GET request to the /api/v1/restore/instantRecovery/azure/vm/{mountId}/sessions path allows you to get an array of Instant Recovery sessions associated with a mount point.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Mount Points for Instant Recovery to Azure request.

query Parameters
skip
integer <int32>

Number of mount sessions to skip.

limit
integer <int32>
Default: 200

Maximum number of mount sessions to return.

orderColumn
string (ESessionsFiltersOrderColumn)

Sorts mounts by one of the mount sessions parameters.

Enum: "Name" "SessionType" "CreationTime" "EndTime" "State" "Result" "InitiatedBy"
orderAsc
boolean

Sorts mount sessions in the ascending order by the orderColumn parameter.

createdAfterFilter
string <date-time>

Returns sessions that are created after the specified date and time.

createdBeforeFilter
string <date-time>

Returns sessions that are created before the specified date and time.

endedAfterFilter
string <date-time>

Returns sessions that are finished after the specified date and time.

endedBeforeFilter
string <date-time>

Returns sessions that are finished before the specified date and time.

typeFilter
string (ESessionType)

Filters sessions by session type.

Enum: "Infrastructure" "BackupJob" "Automation" "ConfigurationBackup" "PublishBackupContentViaMount" "RepositoryMaintenance" "RepositoryEvacuate" "InfrastructureItemDeletion" "RestoreVm" "InstantRecovery" "FirstClassDiskInstantRestore" "AzureApplianceDeploy" "QuickMigration" "FileLevelRestore" "LinuxFileLevelRestore" "ReplicaJob" "ConfigurationResynchronize" "Failover" "PlannedFailover" "PermanentFailover" "UndoFailover" "Failback" "CommitFailback" "UndoFailback" "SwitchReplicaToProduction" "CloudDirectorVmRestore" "CloudDirectorVAppRestore" "MalwareDetection" "FirstClassDiskQuickMigration" "EntraIdRestore" "EntraIdRestoreFromCopy" "UnstructuredDataBackupCopy" "SecurityComplianceAnalyzer" "FileServerSave" "SureBackup" "NasRestore" "LogsExport" "TestCredentials" "SqlLogBackup" "OracleLogBackup" "PostgreSqlLogBackup" "AzureInstantRecovery" "AzureInstantRecoveryMigration" "AzureInstantRecoverySwitchover" "AzureInstantRecoveryStart" "AzureInstantRecoveryStop" "AzureInstantRecoveryMigrationUndo" "AzureInstantRecoveryMount" "PublishBackupContentViaNfs" "VolumesDiscover" "DeleteBackup" "BackgroundOperation" "AgentDiscovery" "AgentPolicy" "AgentBackup" "ApplianceUpdatesInstall" "FailoverPlan" "FailoverPlanTask" "UnstructuredDataBrowse" "UnstructuredDownloadMeta" "EntraIdRescanRepository" "HostComponentsUpdate" "CopyBackup" "FileBackupHealthCheck" "ArchiveBackup" "ArchiveRehydration" "ArchiveSync" "ArchiveCopy" "ArchiveFreezing" "RetrieveBackup" "ArchiveTierDownload" "DirectBackupSync" "CheckpointRemoval" "Retention"
stateFilter
string (ESessionState)

Filters sessions by session state.

Enum: "Stopped" "Starting" "Stopping" "Working" "Pausing" "Resuming" "WaitingTape" "Idle" "Postprocessing" "WaitingRepository" "WaitingSlot"
resultFilter
Array of strings (ESessionResult)

Filters sessions by session result.

Items Enum: "None" "Success" "Warning" "Failed"
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/azure/vm/{mountId}/sessions
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Stop Publishing Machine to Azure

The HTTP POST request to the /api/v1/restore/instantRecovery/azure/vm/{mountId}/unmount path allows you to stop publishing the recovered VM and remove it from the destination host.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Mount Points for Instant Recovery to Azure request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
201

An AzureInstantRecoveryStop session has been started to stop publishing the VM. To check the progress, track the mount state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/azure/vm/{mountId}/unmount
Request samples
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "state": "Ready",
  • "spec": {
    },
  • "errorMessage": "string"
}

Start Migrating Machine to Azure

The HTTP POST request to the /api/v1/restore/instantRecovery/azure/vm/{mountId}/migrate path allows you to start VM migration from the specified mount.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Mount Points for Instant Recovery to Azure request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
object (AzureInstantVMRecoverySwitchoverSettingsModel)

Switchover settings for Instant Recovery to Azure.

Responses
201

An AzureInstantRecoveryMigration session has been started to migrate the VM. To check the progress, track the mount state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/azure/vm/{mountId}/migrate
Request samples
application/json
{
  • "switchoverSettings": {
    }
}
Response samples
application/json
{
  • "state": "Starting",
  • "id": "4e920162-6c42-4483-9b7a-768ed40d31fe",
  • "spec": {
    },
  • "errorMessage": ""
}

Get Settings for Switchover to Azure

The HTTP GET request to the /api/v1/restore/instantRecovery/azure/vm/{mountId}/switchoverSettings path allows you to get switchover settings for a VM mount that has the specified mountID.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Mount Points for Instant Recovery to Azure request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/azure/vm/{mountId}/switchoverSettings
Request samples
Response samples
application/json
{
  • "type": "Scheduled",
  • "scheduleTime": "2025-08-24T14:15:22Z",
  • "verifyVMBoot": false,
  • "powerOnVM": true
}

Update Settings for Switchover to Azure

The HTTP PUT request to the /api/v1/restore/instantRecovery/azure/vm/{mountId}/switchoverSettings path allows you to modify switchover settings for a VM mount that has the specified mountID.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Mount Points for Instant Recovery to Azure request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
type
required
string (EAzureInstantVMRecoverySwitchoverType)

Switchover type.

Enum: "Auto" "Manual" "Scheduled"
scheduleTime
string <date-time>

Date and time when switchover will be triggered.

verifyVMBoot
boolean

If true, Veeam Backup & Replication will verify whether the restored VM has booted properly.

powerOnVM
boolean

If true, Veeam Backup & Replication will power on the VM.

Responses
201

The switchover settings have been updated.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

put/api/v1/restore/instantRecovery/azure/vm/{mountId}/switchoverSettings
Request samples
application/json
{
  • "type": "Scheduled",
  • "scheduleTime": "2025-08-24T14:15:22Z",
  • "verifyVMBoot": false,
  • "powerOnVM": true
}
Response samples
application/json
{
  • "type": "Scheduled",
  • "scheduleTime": "2025-08-24T14:15:22Z",
  • "verifyVMBoot": false,
  • "powerOnVM": true
}

Start Switchover to Azure

The HTTP POST request to the /api/v1/restore/instantRecovery/azure/vm/{mountId}/switchover path allows you to start switchover for a mount point that has the specified mountID.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All Mount Points for Instant Recovery to Azure request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
201

An AzureInstantRecoverySwitchover session has been started to initiate a VM switchover. To check the progress, track the mount state.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/azure/vm/{mountId}/switchover
Request samples
Response samples
application/json
{
  • "state": "Starting",
  • "id": "4e920162-6c42-4483-9b7a-768ed40d31fe",
  • "spec": {
    },
  • "errorMessage": ""
}

Restore Entire VMware vSphere VM

The HTTP POST request to the /api/v1/restore/vmRestore/vSphere path allows you to perform entire VM restore of a VMware vSphere VM to VMware vSphere. You can restore a VM from the specified restore point to the original location with initial VM settings, or to any location but with different settings.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
restorePointId
required
string <uuid>

ID of the restore point.

type
required
string (EEntireVMRestoreModeType)

Entire VM restore mode.

object (RestoreProxySpec)

Backup proxies for VM data transport.

object (SecureRestoreSpec)

Secure restore settings.

powerUp
boolean

If true, Veeam Backup & Replication powers on the restored VM on the target host.

reason
string

Reason for restoring the VM.

quickRollback
boolean

If true, Veeam Backup & Replication performs incremental restore.

Responses
201

Restore session has been created. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/vmRestore/vSphere
Request samples
application/json
{
  • "restorePointId": "8c843d10-6d0f-4abe-b898-e1ba18b94f68",
  • "type": "OriginalLocation",
  • "restoreProxies": {
    },
  • "secureRestore": {
    },
  • "powerUp": true,
  • "reason": "string",
  • "quickRollback": true
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Restore Entire VMware Cloud Director VM

The HTTP POST request to the /api/v1/restore/vmRestore/cloudDirector path allows you to perform entire VM restore of a VMware Cloud Director VM to VMware Cloud Director. You can restore a VM from the specified restore point to the original location with initial VM settings, or to any location but with different settings.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
restorePointId
required
string <uuid>

ID of the restore point.

type
required
string (EEntireVMRestoreModeType)

Entire VM restore mode.

object (RestoreProxySpec)

Backup proxies for VM data transport.

object (SecureRestoreSpec)

Secure restore settings.

powerUp
boolean

If true, Veeam Backup & Replication powers on the restored VM on the target host.

reason
string

Reason for restoring the VM.

quickRollback
boolean

If true, Veeam Backup & Replication performs incremental restore.

Responses
201

A RestoreVm session has been created. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/vmRestore/cloudDirector
Request samples
application/json
{
  • "restorePointId": "8c843d10-6d0f-4abe-b898-e1ba18b94f68",
  • "type": "OriginalLocation",
  • "restoreProxies": {
    },
  • "secureRestore": {
    },
  • "powerUp": true,
  • "reason": "string",
  • "quickRollback": true
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Restore Entire Microsoft Hyper-V VM

The HTTP POST request to the /api/v1/restore/vmRestore/hyperV path allows you to perform entire VM restore of a Microsoft Hyper-V VM to Microsoft Hyper-V. You can restore a VM from the specified restore point to the original location with initial VM settings, or to any location but with different settings.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
restorePointId
required
string <uuid>

ID of the restore point.

type
required
string (EEntireVMRestoreModeType)

Entire VM restore mode.

object (SecureRestoreSpec)

Secure restore settings.

powerUp
boolean

If true, Veeam Backup & Replication powers on the restored VM on the target host.

reason
string

Reason for restoring the VM.

quickRollback
boolean

If true, Veeam Backup & Replication performs incremental restore.

Responses
201

Restore session has been created. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/vmRestore/hyperV
Request samples
application/json
{
  • "restorePointId": "0899c74d-53f0-413a-a731-e1e7297285ba",
  • "type": "OriginalLocation",
  • "secureRestore": {
    },
  • "powerUp": true,
  • "reason": "Corruption of the VM",
  • "quickRollback": true
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Get All FCD Mount Points

The HTTP GET request to the /api/v1/restore/instantRecovery/vSphere/fcd path allows you to get an array of FCD mounts.

Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Restore Operator, Veeam Tape Operator, Veeam Backup Viewer.

SecurityBearer
Request
query Parameters
skip
integer <int32>

Number of mount points to skip.

limit
integer <int32>
Default: 200

Maximum number of mount points to return.

orderColumn
string (EVmwareFcdInstantRecoveryMountsFiltersOrderColumn)

Sorts mount points by one of the mount point parameters.

Enum: "state" "name"
orderAsc
boolean

If true, sorts mount points in the ascending order by the orderColumn parameter.

stateFilter
string (EInstantRecoveryMountState)

Filters mount points by mount point state.

Enum: "Failed" "Mounting" "Mounted" "Dismounting"
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/vSphere/fcd
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Start Instant FCD Recovery

The HTTP POST request to the /api/v1/restore/instantRecovery/vSphere/fcd path allows you to start Instant FCD Recovery from the restore point to the destination cluster.

Specify the destination cluster in the destinationCluster parameter of the request body as a model of the VMware vSphere object. For details on how to get the cluster model, see Get Inventory Objects.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
restorePointId
required
string <uuid>

ID of the restore point.

required
object (InventoryObjectModel)

Inventory object properties.

required
Array of objects (VmwareFcdInstantRecoveryDiskSpec)

Array of disks for restore.

object (VmwareFcdWriteCacheSpec)

Write cache for recovered disks.

Responses
201

Instant FCD Recovery has been started. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/vSphere/fcd
Request samples
application/json
{
  • "restorePointId": "8c843d10-6d0f-4abe-b898-e1ba18b94f68",
  • "destinationCluster": {
    },
  • "disksMapping": [
    ],
  • "writeCache": {
    }
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Get FCD Mount Point

The HTTP GET request to the /api/v1/restore/instantRecovery/vSphere/fcd/{mountId} path allows you to get information about the mounted vPower NFS datastore, such as restore session ID, mount point state, instant FCD recovery settings and disks that will be recovered.

Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Restore Operator, Veeam Tape Operator, Veeam Backup Viewer.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All FCD Mount Points request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/restore/instantRecovery/vSphere/fcd/{mountId}
Request samples
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459",
  • "state": "Failed",
  • "spec": {
    },
  • "errorMessage": "string",
  • "mountedDisks": [
    ]
}

Stop FCD Publishing

The HTTP POST request to the /api/v1/restore/instantRecovery/vSphere/fcd/{mountId}/dismount path allows you to stop publishing the recovered FCDs and remove the disks from the datastore.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All FCD Mount Points request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

The disks have been unmounted. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/vSphere/fcd/{mountId}/dismount
Request samples
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Start FCD Migration

The HTTP POST request to the /api/v1/restore/instantRecovery/vSphere/fcd/{mountId}/migrate path allows you to start migration of FCDs from the specified mount point.

In the request body specify FCD migration configuration:

  • Disks for migration
  • Target datastore
  • Storage policy that will be applied to the migrated disks
For details on how to get models of the datastore and storage policy, see Get Inventory Objects.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
mountId
required
string <uuid>

Mount point ID. To get the ID, run the Get All FCD Mount Points request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
required
object (InventoryObjectModel)

Inventory object properties.

mountedDiskNames
Array of strings

Array of disks that will be migrated to the targetDatastore associated with the storagePolicy.

object (InventoryObjectModel)

Inventory object properties.

Responses
200

FCD Migration has been started. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/instantRecovery/vSphere/fcd/{mountId}/migrate
Request samples
application/json
{
  • "mountedDiskNames": [
    ],
  • "targetDatastore": {
    },
  • "storagePolicy": {
    }
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Start File Restore

The HTTP POST request to the /api/v1/restore/flr path allows you to start file restore from a backup or replica of a Microsoft Windows or Linux machine. The operation starts a file restore session and mounts the machine file system to a mount point.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
restorePointId
required
string <uuid>

ID of the restore point from which you want to restore files.

type
required
string (EFlrType)

Restore type.

required
object (FlrAutoUnmountModel)

Settings for automatic unmount of the file system.

mountMode
required
string (EFlrMountModeType)

Mount mode.

Enum: "Automatic" "Manual"
reason
string

Reason for restoring files.

credentialsId
string <uuid>

ID of the credentials record used to connect to the source machine. The credentials will be used to compare files of the backup and the source machine.

object (WindowsFlrMountServerSettings)

Mount server settings for file restore from Windows machines. Specify these mount server settings if the mountMode property is set to Manual.

Responses
201

File system has been mounted.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/flr
Request samples
application/json
{
  • "restorePointId": "5777a78d-62f6-40a3-a7e3-8b56a56e58c0",
  • "type": "Linux",
  • "autoUnmount": {
    },
  • "reason": "File restore",
  • "helperHost": {
    }
}
Response samples
application/json
{
  • "type": "Linux",
  • "sessionId": "1dc723e8-12a0-4480-bc34-6cb117d3d4a1",
  • "properties": {
    },
  • "sourceProperties": {
    }
}

Unmount File System

The HTTP POST request to the /api/v1/restore/flr/{sessionId}/unmount path allows you to unmount the file system from a mount point and stop a file restore session that has the specified sessionId.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
sessionId
required
string <uuid>

Restore session ID. To get the ID, run the Get All File Restore Mount Points request.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
201

Restore session has been stopped.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/flr/{sessionId}/unmount
Request samples
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Get User Code for Delegated Restore of Microsoft Entra ID Items

The HTTP POST request to the /api/v1/restore/entraId/tenant/deviceCode path allows you to obtain a user code required to get credentials for delegated restore of Microsoft Entra ID items.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
sessionId
required
string <uuid>

Mount session ID.

Responses
201

User and device codes have been received.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/entraId/tenant/deviceCode
Request samples
application/json
{
  • "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459"
}
Response samples
application/json
{
  • "userCode": "string",
  • "deviceCode": "string",
  • "verificationUrl": "string",
  • "message": "string",
  • "clientId": "string",
  • "expiresOn": "2019-08-24T14:15:22Z"
}

Get Credentials for Delegated Restore of Microsoft Entra ID Items

The HTTP POST request to the /api/v1/restore/entraId/tenant/deviceCode/state path allows you to get credentials that are required for delegated restore of Microsoft Entra ID items. Before you request the credentials, obtain a user code using the Get User Code for Microsoft Entra ID Item Restore request.

You can use the credentials in the following requests:

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
sessionId
required
string <uuid>

Mount session ID.

userCode
required
string

User code. To get the code, use the Get Microsoft Entra ID User Code for Restore request.

Responses
200

OK

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/entraId/tenant/deviceCode/state
Request samples
application/json
{
  • "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459",
  • "userCode": "string"
}
Response samples
application/json
{
  • "credentialsId": "08e8bcd2-3d30-4d03-8e1a-ab6ac0cbf1ed",
  • "errorMessage": "string",
  • "status": "Pending",
  • "username": "string"
}

Mount Microsoft Entra ID Tenant

The HTTP POST request to the /api/v1/restore/entraId/tenant path allows you to mount a Microsoft Entra ID tenant from its backup and start a mount session required for Microsoft Entra ID tenant restore.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
backupId
required
string <uuid>

ID of a Microsoft Entra ID tenant backup.

Responses
201

Tenant has been mounted.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/entraId/tenant
Request samples
application/json
{
  • "backupId": "eb7cea43-10b2-42dd-8819-ab9aed37565f"
}
Response samples
application/json
{
  • "sessionId": "783241eb-5b56-4456-9736-379206ffc600",
  • "sourceProperties": {
    }
}

Start Microsoft Entra ID Tenant Restore from Copy

The HTTP POST request to the /api/v1/restore/entraId/tenant/fromCopy path allows you to start restore from backup copy for a Microsoft Entra ID tenant.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
restorePointId
required
string <uuid>

ID of a Microsoft Entra ID tenant restore point.

Responses
201

A EntraIdRestoreFromCopy session has been created to start restore from backup copy for a Microsoft Entra ID tenant. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/entraId/tenant/fromCopy
Request samples
application/json
{
  • "restorePointId": "8c843d10-6d0f-4abe-b898-e1ba18b94f68"
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Unmount Microsoft Entra ID Tenant

The HTTP POST request to the /api/v1/restore/entraId/tenant/{sessionId}/stop path allows you to unmount a Microsoft Entra ID tenant and stop a mount session that has the specified sessionId.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
sessionId
required
string <uuid>

Mount session ID.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
optional
gracefulStop
required
boolean
Default: true

If true, Veeam Backup & Replication will produce a new restore point for those VMs that have already been processed and for VMs that are being processed at the moment.

cancelChainedJobs
boolean
Default: false

If true, Veeam Backup & Replication will cancel chained jobs.

Responses
201

Mount session has been stopped.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/entraId/tenant/{sessionId}/stop
Request samples
application/json
{
  • "gracefulStop": true,
  • "cancelChainedJobs": false
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}

Start Microsoft Entra ID Audit Log Restore

The HTTP POST request to the /api/v1/restore/entraId/auditLog path allows you to start the Entra ID audit log restore from a backup of Microsoft Entra ID audit logs. The operation starts a file restore session and mounts the log files to a mount point.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
unstructuredDataServerId
string <uuid>

Unstructured data server ID.

restorePointId
string <uuid>

Restore point ID.

backupId
string <uuid>

Backup ID.

object (FlrAutoUnmountModel)

Settings for automatic unmount of the file system.

Responses
201

Log files has been mounted.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/entraId/auditLog
Request samples
application/json
{
  • "unstructuredDataServerId": "5fbcd1ff-3e99-4684-a268-511e1bdc1496",
  • "restorePointId": "8c843d10-6d0f-4abe-b898-e1ba18b94f68",
  • "backupId": "eb7cea43-10b2-42dd-8819-ab9aed37565f",
  • "autoUnmount": {
    }
}
Response samples
application/json
{
  • "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459",
  • "properties": {
    },
  • "sourceProperties": {
    }
}

Unmount Microsoft Entra ID Audit Logs

The HTTP POST request to the /api/v1/restore/entraId/auditLog/{sessionId}/unmount path allows you to unmount Microsoft Entra ID log files from a mount point and stop a file restore session that has the specified sessionId.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
sessionId
required
string <uuid>

Restore session ID.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
201

Restore session has been stopped.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/restore/entraId/auditLog/{sessionId}/unmount
Request samples
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "sessionType": "Infrastructure",
  • "creationTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "state": "Stopped",
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6",
  • "resourceReference": "string",
  • "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344",
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23",
  • "initiatedBy": "string"
}