Help Center
Choose product document...
Veeam Backup & Replication 9.5
RESTful API Reference

(POST) /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath}?action=restore

Starts restore of the specified VM guest OS file or folder from the specified restore point. The file or folder is restored to its original location. 

Request

To restore a specific VM guest OS file or folder, you need to send the POST HTTP request to the /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath}?action=restore URL.

HTTP Request

POST http://<Enterprise-Manager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath}?action=restore

Request Headers

The request contains the following headers:

Header

Required

Description

X-RestSvcSessionId

True

The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.

Request Body

None.

Query Parameters

None.

Response

The server returns the following response to the client.

Response Codes

A successfully completed operation returns response code 202 Accepted.

Response Headers

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

Header

Description

Content-length

The length of the response body.

Content-type

The media type and syntax of the request body message: application/xml.

Response Body

In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.

Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.

Example

The example below lets the client restore the C:/Users folder from the VM guest OS:

Request:

POST http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/C:/Users?action=restore

 

Request Header:

X-RestSvcSessionId   NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

 

Response:

202 Accepted

 

Response Body:

<Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1">
 <Links>
   <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" />
 </Links>
 <TaskId>task-1</TaskId>
 <State>Running</State>
 <Operation>RestoreFile</Operation>
</Task>

To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:

Request:

GET http://localhost:9399/api/tasks/task-1

 

Request Header:

X-RestSvcSessionId   NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

 

Response:

200 Success

 

Response Body:

<Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1">
 <Links>
   <Link Rel="Delete" Href="http://localhost:9399/api/tasks/task-1" />
   <Link Rel="Related" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/8f20b44a-b96f-47c6-9a17-ba9d1c17a342?format=Entity" Name="Restore job session" />
 </Links>
 <TaskId>task-1</TaskId>
 <State>Finished</State>
 <Operation>RestoreFile</Operation>
 <Result Success="true">
   <Message>Restore operations started successfully.</Message>
 </Result>
</Task>

To monitor the restore session progress, find the necessary link component in the resource representation of the task and send the GET HTTP request to the http://<Enterprise-Manager>:9399/api/restoreSessions/{ID}?format=Entity URL:

Request:

GET http://localhost:9399/api/restoreSessions/8f20b44a-b96f-47c6-9a17-ba9d1c17a342?format=Entity

 

Request Header:

X-RestSvcSessionId:   NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

 

Response:

200 Success

 

Response Body:

<RestoreSession xmlns="http://www.veeam.com/ent/v1.0" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/8f20b44a-b96f-47c6-9a17-ba9d1c17a342?format=Entity" Name="FLR_[fileserver01]@2017-01-12 16:54:40" UID="urn:veeam:RestoreSession:8f20b44a-b96f-47c6-9a17-ba9d1c17a342" VmDisplayName="fileserver01">
 <Links>
   <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/be21c981-7353-4896-8b69-0bf300c05337" Name="172.17.53.1" />
   <Link Rel="Alternate" Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/8f20b44a-b96f-47c6-9a17-ba9d1c17a342" Name="FLR_[fileserver01]@2017-01-12 16:54:40" />
   <Link Rel="Related" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462" Name="filesever01@2017-01-06 07:59:00" />
 </Links>
 <JobType>FileLevelRestore</JobType>
 <CreationTimeUTC>2017-01-12T16:54:40Z</CreationTimeUTC>
 <EndTimeUTC>2017-01-12T16:56:28.7Z</EndTimeUTC>
 <State>Stopped</State>
 <Result>Success</Result>
 <Progress>100</Progress>
</RestoreSession>

 

Veeam Large Logo

User Guide for VMware vSphere

User Guide for Microsoft Hyper-V

Enterprise Manager User Guide

Veeam Cloud Connect Guide

Veeam Backup Explorers User Guide

PowerShell Reference

RESTful API Reference

Veeam Backup FREE Edition User Guide

Veeam Backup for Microsoft Office 365

Veeam ONE Documentation

Veeam Endpoint Backup Documentation

Veeam Management Pack Documentation