Perform VM Restore

You can can restore an entire Azure VM to a restore point with the specified ID.

Request

To restore an Azure VM to a specific restore point, send the HTTP POST request to the /restorePoints/{restorePointId}/restoreVm endpoint. {restorePointId} is a system ID assigned to the restore point of an Azure VM in the Veeam Backup for Microsoft Azure REST API.

HTTP Request

POST https://<hostname>/api/v2/restorePoints/{restorePointId}/restoreVm

Request Headers

The request contains the following headers.

Header

Required

Value

Description

Authorization

Required

Bearer <Access-Token>

Authenticates a client who sends the request to the server. Must contain the access token for the current logon session in the Bearer <Access-Token> format.

Request Body

To perform a vm restore operation, use the VirtualMachineRestoreOptionsV2 schema to send parameters in the request body.

Set the parameter values in the following format:

{

 "reason": "string",

 "toAlternative": {

   "name": "string",

   "subscription": {

     "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",

     "environment": "Global",

     "tenantId": "string",

     "tenantName": "string",

     "name": "string",

     "status": "Active",

     "_links": {

       "additionalProp1": {

         "href": "string"

       },

       "additionalProp2": {

         "href": "string"

       },

       "additionalProp3": {

         "href": "string"

       }

     }

   },

   "resourceGroup": {

     "id": "string",

     "resourceId": "string",

     "name": "string",

     "azureEnvironment": "Global",

     "subscriptionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",

     "regionId": "string",

     "_links": {

       "additionalProp1": {

         "href": "string"

       },

       "additionalProp2": {

         "href": "string"

       },

       "additionalProp3": {

         "href": "string"

       }

     }

   },

   "region": {

     "id": "string",

     "name": "string"

   },

   "vmSizeName": "string",

   "virtualNetwork": {

     "id": "string",

     "name": "string",

     "regionName": "string",

     "addressSpaces": [

       "string"

     ]

   },

   "subnet": {

     "networkSecurityGroup": {

       "id": "string",

       "name": "string",

       "regionId": "string",

       "resourceGroupName": "string",

       "subscriptionId": "string"

     },

     "name": "string",

     "addressSpace": "string"

   },

   "networkSecurityGroup": {

     "id": "string",

     "name": "string",

     "regionId": "string",

     "resourceGroupName": "string",

     "subscriptionId": "string"

   },

   "availabilitySet": {

     "id": "string",

     "name": "string",

     "regionName": "string"

   },

   "availabilityZone": {

     "subscriptionId": "string",

     "regionId": "string",

     "name": "string"

   },

   "diskType": "Managed",

   "osDisk": {

     "diskId": "string",

     "name": "string",

     "resourceGroup": {

       "id": "string",

       "resourceId": "string",

       "name": "string",

       "azureEnvironment": "Global",

       "subscriptionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",

       "regionId": "string",

       "_links": {

         "additionalProp1": {

           "href": "string"

         },

         "additionalProp2": {

           "href": "string"

         },

         "additionalProp3": {

           "href": "string"

         }

       }

     },

     "storageAccount": {

       "id": "string",

       "resourceId": "string",

       "name": "string",

       "skuName": "string",

       "performance": "Standard",

       "redundancy": "Unknown",

       "accessTier": "string",

       "regionId": "string",

       "regionName": "string",

       "removedFromAzure": true,

       "supportsTiering": true

     }

   },

   "dataDisks": [

     {

       "diskId": "string",

       "name": "string",

       "resourceGroup": {

         "id": "string",

         "resourceId": "string",

         "name": "string",

         "azureEnvironment": "Global",

         "subscriptionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",

         "regionId": "string",

         "_links": {

           "additionalProp1": {

             "href": "string"

           },

           "additionalProp2": {

             "href": "string"

           },

           "additionalProp3": {

             "href": "string"

           }

         }

       },

       "storageAccount": {

         "id": "string",

         "resourceId": "string",

         "name": "string",

         "skuName": "string",

         "performance": "Standard",

         "redundancy": "Unknown",

         "accessTier": "string",

         "regionId": "string",

         "regionName": "string",

         "removedFromAzure": true,

         "supportsTiering": true

       }

     }

   ]

 },

 "startVmAfterRestore": true

}

Response

The server returns the following response to the client.

Response Codes

A successfully completed operation returns a response code 200 (OK).

Response Headers

The response to this request contains the following headers. The response may also include additional standard HTTP headers.

Header

Value

Description

Content-length

integer

Identifies the length of the response body message, in bytes.

Content-type

  • application/json
  • application/problem+json

Identifies the media type of the response body message.

Response Body

In the response body, Veeam Backup for Microsoft Azure returns the session ID of the restore operation. For the session log details, see VirtualMachineRestoreOptionsV2.

Perform VM RestoreExample

The following request starts the restore operation of the Azure VM to the restore point with the ID 047a1f81-b7fe-457b-90ce-531e465e2d7b.

Request:

POST https://51.11.247.127/api/v2/restorePoints/047a1f81-b7fe-457b-90ce-531e465e2d7b/restoreVm

 

Request Header:

Authorization: Bearer <Access-Token>

 

Request Body:

{

  "reason":"",

  "toAlternative":{

     "name":"abc",

     "subscription":{

        "id":"3a9a4330-7bac-4b83-9c68-15d674fbc801",

        "environment":"Global",

        "tenantId":"3e224ba9-93bc-40d5-8a47-33f07b139d52",

        "name":"Visual Studio Premium MSDN",

        "status":"Active"

     },

     "resourceGroup":{

        "id":"1yb941zuh6ze8bmfsnqcwot7i8wi8p5ufy34nc7mxiaq5z6mmc6y",

        "resourceId":"/subscriptions/3a9a4330-7bac-4b83-9c68-15d674fbc801/resourcegroups/abc",

        "name":"abc",

        "azureEnvironment":"Global",

        "subscriptionId":"3a9a4330-7bac-4b83-9c68-15d674fbc801",

        "regionId":"ukwest"

     },

     "region":{

        "id":"ukwest",

        "name":"UK West"

     },

     "vmSize":{

        "name":"Standard_D_v2",

        "subscriptionId":"3a9a4330-7bac-4b83-9c68-15d674fbc801",

        "maxDataDiskCount":16,

        "memoryInMB":14336,

        "numberOfCores":4,

        "osDiskSizeInMB":1047552,

        "resourceDiskSizeInMB":28672,

        "pricePerHour":{

           "value":0.351,

           "currency":"USD"

        },

        "_links":{

           "subscription":{

              "href":"https://51.11.247.127/api/v2/cloudInfrastructure/subscriptions/3a9a4330-7bac-4b83-9c68-15d674fbc801"

           }

        }

     },

     "virtualNetwork":{

        "id":"/subscriptions/3a9a4330-7bac-4b83-9c68-15d674fbc801/resourceGroups/abc/providers/Microsoft.Network/virtualNetworks/abc-Network",

        "name":"abc-Network",

        "regionName":"ukwest",

        "_links":{

 

        }

     },

     "subnet":{

        "name":"abc-Subnet"

     },

     "networkSecurityGroup":{

        "id":"/subscriptions/3a9a4330-7bac-4b83-9c68-15d674fbc801/resourcegroups/abc/providers/microsoft.network/networksecuritygroups/abc-nsg",

        "name":"abc-nsg",

        "regionId":"ukwest",

        "resourceGroupName":"abc"

     },

     "diskType":"Managed",

     "osDisk":{

        "diskId":"zut5o4j5dmxxgxp7p9sczta6b1n6837dmwkheu41qg8enrizbjfo",

        "name":"abc_disk1_813f0657e5fa4661aaceb53564eba021",

        "resourceGroup":{

           "id":"1yb941zuh6ze8bmfsnqcwot7i8wi8p5ufy34nc7mxiaq5z6mmc6y",

           "resourceId":"/subscriptions/3a9a4330-7bac-4b83-9c68-15d674fbc801/resourcegroups/abc",

           "name":"abc",

           "azureEnvironment":"Global",

           "subscriptionId":"3a9a4330-7bac-4b83-9c68-15d674fbc801",

           "regionId":"ukwest"

        }

     },

     "dataDisks":[

 

     ]

  }

}

 

Response:

200

 

Response Body:

{

 "id": "324e732d-a03c-4b9c-87a9-539ac825745b",

 "type": "RestoreDisk",

 "localizedType": "RestoreDisk",

 "executionStartTime": "2020-12-01T13:35:31.449Z",

 "executionStopTime": "2020-12-01T13:35:31.449Z",

 "executionDuration": "string",

 "status": "Canceled",

 },

 "restoreJobInfo": {

   "reason": "none",

   "vmId": "3a9a4930-7bbc-4b83-9c68-15d674fbc803",

   "items": [

     {

       "id": "3a9a4930-7bbc-4b83-9c68-15d674fbc803",

       "name": "Default VM",

       "type": "VirtualMachine"

     }

   ]

"_links":{

          "self":{

             "href":"https://51.11.247.127/api/v2/cloudInfrastructure/subscriptions/3a9a4930-7bbc-4b83-9c68-15d674fbc803"

                 },

          "expiringConnection":{

                    "href":"https://51.11.247.127/api/v2/accounts/1"

I want to report a typo

There is a misspelling right here:

 

I want to let the Veeam Documentation Team know about that.