Sunteți pe pagina 1din 381

Veeam Backup Enterprise Manager RESTful API

Version 7.0
Reference November, 2013

2013 Veeam Software. All rights reserved. All trademarks are the property of their respective owners. No part of this publication may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language in any form by any means, without written permission from Veeam Software Inc (Veeam). The information contained in this document represents the current view of Veeam on the issue discussed as of the date of publication and is subject to change without notice. Veeam shall not be liable for technical or editorial errors or omissions contained herein. Veeam makes no warranties, express or implied, in this document. Veeam may have patents, patent applications, trademark, copyright, or other intellectual property rights covering the subject matter of this document. All other trademarks mentioned herein are the property of their respective owners. Except as expressly provided in any written license agreement from Veeam, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Important! Please read the End User Software License Agreement before using the accompanying software program(s). Using any part of the software indicates that you accept the terms of the End User Software License Agreement.

2 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

CONTENTS
CONTACTING VEEAM SOFTWARE......................................................................................9 ABOUT THIS GUIDE .......................................................................................................... 10 OVERVIEW........................................................................................................................11 CONCEPTS AND PRINCIPLES............................................................................................ 12 CLIENT-SERVER MODEL .................................................................................................... 12 RESOURCES ................................................................................................................... 12 Resource Types............................................................................................... 13 Resource URLs ................................................................................................ 14 Resource Representations ............................................................................... 16 Links............................................................................................................... 21 HTTP REQUESTS AND RESPONSES....................................................................................... 25 Requests......................................................................................................... 25 Responses ...................................................................................................... 31 QUERY SERVICE .............................................................................................................. 33 Query Syntax .................................................................................................. 33 Optional Query Parameters ............................................................................. 40 LOOKUP SERVICE ............................................................................................................ 49 Lookup Query................................................................................................. 49 GETTING STARTED ........................................................................................................... 53 VEEAM BACKUP ENTERPRISE MANAGER WEB CLIENT ............................................................... 53 AUTHENTICATION AND SECURITY ........................................................................................ 54 HTTP Authentication....................................................................................... 54 SSL Encryption................................................................................................ 56 VEEAM BACKUP ENTERPRISE MANAGER RESTFUL API WORKFLOW............................................. 57 VEEAM BACKUP ENTERPRISE MANAGER RESTFUL API SPECIFICATIONS........................................ 58 BEGINNER EXAMPLE......................................................................................................... 61 Step 1. Access Veeam Backup Enterprise Manager Web API.............................. 61 Step 2. Perform Logon..................................................................................... 61 Step 3. Get a List of Veeam Backup Servers ...................................................... 64 Step 4. Perform Logout ................................................................................... 65 VEEAM BACKUP ENTERPRISE MANAGER RESTFUL API REFERENCE................................ 68 /BACKUPSERVERS ............................................................................................................ 70 (GET) /backupServers ...................................................................................... 71 /BACKUPSERVERS/{ID} ..................................................................................................... 73 (GET) /backupServers{ID}................................................................................. 74

3 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/BACKUPSERVERS/{ID}/CREDENTIALS................................................................................... 77 (GET) /backupServers/{ID}/credentials ............................................................. 78 (POST) /backupServers/{ID}/credentials?action=create..................................... 81 /BACKUPSERVERS/{ID}/CREDENTIALS/{ID} ............................................................................ 83 (PUT) /backupServers/{ID}/credentials/{ID}....................................................... 84 (DELETE) /backupServers/{ID}/credentials/{ID} ................................................. 86 /REPOSITORIES................................................................................................................ 87 (GET) /repositories .......................................................................................... 88 /REPOSITORIES/{ID} ......................................................................................................... 90 (GET) /repositories/{ID}.................................................................................... 91 /JOBS ........................................................................................................................... 93 (GET) /jobs ...................................................................................................... 95 /JOBS/{ID} .................................................................................................................... 98 (GET) /jobs/{ID} ............................................................................................. 102 (POST) /jobs/{ID}?action=edit ........................................................................ 107 (POST) /jobs/{ID}?action=start ....................................................................... 117 (POST) /jobs/{ID}?action=stop ....................................................................... 119 (POST) /jobs/{ID}?action=retry....................................................................... 121 (POST) /jobs/{ID}?action=clone...................................................................... 123 (POST) /jobs/{ID}?action=toggleScheduleEnabled ......................................... 126 /JOBS/{ID}/INCLUDES .................................................................................................... 128 (GET) /jobs/{ID}/includes ............................................................................... 130 (POST) /jobs/{ID}/includes ............................................................................. 133 /JOBS/{ID}/INCLUDES/{ID}.............................................................................................. 137 (DELETE) /jobs/{ID}/includes/{ID} ................................................................... 138 /BACKUPSESSIONS......................................................................................................... 140 (GET) /backupSessions .................................................................................. 142 /BACKUPSESSIONS/{ID}.................................................................................................. 146 (GET) /backupSessions/{ID}............................................................................ 148 /REPLICASESSIONS ........................................................................................................ 150 (GET) /replicaSessions ................................................................................... 151 /REPLICASESSIONS/{ID} .................................................................................................. 153 (GET) /replicaSessions/{ID}............................................................................. 155 /RESTORESESSIONS ........................................................................................................ 157 (GET) /restoreSessions................................................................................... 159 /RESTORESESSIONS/{ID} ................................................................................................. 161 (GET) /restoreSessions/{ID} ............................................................................ 162 /BACKUPTASK SESSIONS.................................................................................................. 164
4 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /backupTaskSessions............................................................................ 165 /BACKUPTASK SESSIONS/{ID} ........................................................................................... 167 (GET) /backupTaskSessions/{ID}..................................................................... 169 /REPLICATASK SESSIONS .................................................................................................. 171 (GET) /replicaTaskSessions............................................................................. 172 /REPLICATASK SESSIONS/{ID} ........................................................................................... 174 (GET) /replicaTaskSessions/{ID}...................................................................... 176 /HIERARCHYROOTS ........................................................................................................ 178 (GET) /hierarchyRoots.................................................................................... 179 /HIERARCHYROOTS/{ID} ................................................................................................. 181 (GET) /hierarchyRoots/{ID}............................................................................. 182 /BACKUPS.................................................................................................................... 183 (GET) /backups.............................................................................................. 185 /BACKUPS/{ID}............................................................................................................. 187 (GET) /backups/{ID} ....................................................................................... 188 /REPLICAS ................................................................................................................... 190 (GET) /replicas............................................................................................... 191 /REPLICAS/{ID} ............................................................................................................. 193 (GET) /replicas/{ID} ........................................................................................ 194 /RESTOREPOINTS .......................................................................................................... 196 (GET) /restorePoints ...................................................................................... 198 /RESTOREPOINTS/{ID} .................................................................................................... 200 (GET) /restorePoints/{ID}................................................................................ 202 /VMRESTOREPOINTS ...................................................................................................... 204 (GET) /vmRestorePoints................................................................................. 206 /VMRESTOREPOINTS/{ID} ............................................................................................... 208 (GET) /vmRestorePoints/{ID} .......................................................................... 210 (POST) /vmRestorePoints/{ID}?action=restore ................................................ 212 (POST) /vmRestorePoints/{ID}/mounts........................................................... 216 /VMRESTOREPOINTS/{ID}/MOUNTS................................................................................... 219 (GET) /vmRestorePoints/{ID}/mounts............................................................. 220 /VMRESTOREPOINTS/{ID}/MOUNTS/{ID} ............................................................................ 222 (GET) /vmRestorePoints/{ID}/mounts/{ID} ...................................................... 223 (DELETE) /vmRestorePoints/{ID}/mounts/{ID}................................................. 224 /VMRESTOREPOINTS/{ID}/MOUNTS/{ID}/{FILEPATH}............................................................. 226 (GET) /vmRestorePoints/{ID}/mounts/{ID}/{filepath} ....................................... 231 (POST) /vmRestorePoints/{ID}/mounts/{ID}/{filepath}?action=restore ............. 233 /VMREPLICAPOINTS....................................................................................................... 236
5 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /vmReplicaPoints ................................................................................. 237 /VMREPLICAPOINTS/{ID} ................................................................................................ 240 (GET) /vmReplicaPoints/{ID} .......................................................................... 242 (POST) /vmReplicaPoints/{ID}?action=failover................................................ 244 (POST) /vmReplicaPoints/{ID}/mounts ........................................................... 246 /VMREPLICAPOINTS/{ID}/MOUNTS.................................................................................... 248 (GET) /vmReplicaPoints/{ID}/mounts ............................................................. 249 /VMREPLICAPOINTS/{ID}/MOUNTS/{ID}............................................................................. 250 (GET) /vmReplicaPoints/{ID}/mounts/{ID}....................................................... 251 (DELETE) /vmReplicaPoints/{ID}/mounts/{ID} ................................................. 253 /VMREPLICAPOINTS/{ID}/MOUNTS/{ID}/{FILEPATH}.............................................................. 254 (GET) /vmReplicaPoints/{ID}/mounts/{ID}/{filepath}........................................ 260 (POST) /vmReplicaPoints/{ID}/mounts/{ID}/{filepath}?action=restore.............. 261 /CATALOG/VMS ............................................................................................................ 265 (GET) /catalog/vms........................................................................................ 266 /CATALOG/VMS/{VMNAME} ............................................................................................. 267 (GET) /catalog/vms/{vmname}....................................................................... 268 /CATALOG/VMS/{VMNAME}/VMRESTOREPOINTS .................................................................. 269 (GET) /catalog/vms/{vmname}/vmRestorePoints............................................ 270 /CATALOG/VMS/{VMNAME}/VMRESTOREPOINTS/{ID}............................................................ 272 (GET) /catalog/vms/{vmname}/vmRestorePoints /{ID} .................................... 274 (POST) /catalog/vms/{vmname}/vmRestorePoints/{ID}?action=browse .......... 275 /CATALOG/VMS/{VMNAME}/VMRESTOREPOINTS/{ID}/GUESTFS/ .............................................. 277 (GET) /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/ ....................... 278 /CATALOG/VMS/{VMNAME}/VMRESTOREPOINTS/{ID}/GUESTFS/{FILEPATH} ................................ 280 (GET) /catalog/vms/{vmname}/vmRestorePoints /{ID}/guestfs/{filepath}......... 282 (POST) /catalog/vms/{vmname}/vmRestorePoints /{ID}/guestfs/{filepath}?action=restore........................................................... 284 /SECURITY ................................................................................................................... 286 (GET) /security............................................................................................... 287 /SECURITY/ROLES .......................................................................................................... 288 (GET) /security/roles...................................................................................... 289 /SECURITY/ROLES/{ID} ................................................................................................... 291 (GET) /security/roles/{ID} ............................................................................... 292 /SECURITY/ACCOUNTS .................................................................................................... 294 (GET) /security/accounts................................................................................ 295 (POST) /security/accounts ............................................................................. 296 (POST) /security/accounts?action=rebuildScope ............................................ 299

6 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/SECURITY/ACCOUNTS/{ID} ............................................................................................. 301 (GET) /security/accounts/{ID}......................................................................... 303 (POST) /security/accounts/{ID}....................................................................... 305 (POST) /security/accounts/{ID}/roles .............................................................. 306 (DELETE) /security/accounts/{ID} ................................................................... 308 /SECURITY/ACCOUNTS/{ID}/SCOPES .................................................................................. 309 (GET) /security/accounts/{ID}/scopes ............................................................. 310 (POST) /security/accounts /{ID}/scopes .......................................................... 311 /SECURITY/ACCOUNTS/{ID}/SCOPES/{ID} ........................................................................... 313 (GET) /security/accounts/{ID}/scopes/{ID} ...................................................... 314 (DELETE) /security/accounts /{ID}/scopes/{ID} ................................................ 316 /TASKS ....................................................................................................................... 317 (GET) /tasks ................................................................................................... 318 /TASKS/{ID}................................................................................................................. 319 (GET) /tasks/{ID} ............................................................................................ 320 /QUERYSVC ................................................................................................................. 322 (GET) /querySvc ............................................................................................ 323 /LOOKUPSVC ............................................................................................................... 325 (GET) /lookup?host={hostUID}&hierachyRef={hierachyRef}&name={objName}&type={obj Type} ............................................................................................................ 326 /SUMMARY .................................................................................................................. 328 (GET) /summary ............................................................................................ 329 /SUMMARY/OVERVIEW.................................................................................................... 330 (GET) /summary/overview............................................................................. 331 /SUMMARY/VMS_ OVERVIEW ............................................................................................ 332 (GET) /summary/vms_overview..................................................................... 333 /SUMMARY/JOB _ STATISTICS ............................................................................................ 334 (GET) /summary/job_statistics ....................................................................... 335 /SUMMARY/PROCESSED_ VMS .......................................................................................... 337 (GET) /summary/processed_vms ................................................................... 337 /SUMMARY/REPOSITORIES ............................................................................................... 339 (GET) /summary/repositories......................................................................... 340 /LOGONSESSIONS ......................................................................................................... 341 (GET) /logonSessions..................................................................................... 343 (POST) /sessionMngr/.................................................................................... 346 /LOGONSESSIONS/{ID}................................................................................................... 348 (GET) /logonSessions/{ID}.............................................................................. 350

7 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(DELETE) /logonSessions/{ID}......................................................................... 353 SAMPLE SCENARIOS....................................................................................................... 355 STARTING A J OB............................................................................................................ 355 PERFORMING 1-CLICK RESTORE ........................................................................................ 362 PERFORMING FULL VM RESTORE ...................................................................................... 370 ASSIGNING A RESTORE SCOPE .......................................................................................... 375 APPENDIX A. CONSTRUCTING HIERARCHYOBJREFTYPE............................................... 380

8 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

CONTACTING VEEAM SOFTWARE


At Veeam Software we value the feedback from our customers. It is important not only to help you quickly with your technical issues, but it is our mission to listen to your input, and build products that incorporate your suggestions.

Customer Support
Should you have a technical concern, suggestion or question, please visit our Customer Center Portal at cp.veeam.com to open a case, search our knowledge base, reference documentation, manage your license or obtain the latest product release.

Company Contacts
For the most up to date information about company contacts and offices location, please visit www.veeam.com/contacts.html.

Online Support
If you have any questions about Veeam Backup & Replication, you can use the following resources: Full documentation set: www.veeam.com/vmware-esx-backup/resources.html Community forum at www.veeam.com/forums

9 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

ABOUT THIS GUIDE


This user guide provides reference for Veeam Backup Enterprise Manager RESTful API. The document applies to version 7.0 and all subsequent versions until it is replaced with a new edition.

Intended Audience
The user guide is intended for anyone who wants to use Veeam Backup & Replication. It is primarily aimed at VMware administrators, consultants, analysts and any other IT professionals using the product.

Related Documentation
The complete set of Veeam Backup & Replication documentation can be found on the product resources web page at www.veeam.com/vmware-esx-backup/resources.html.

Document Revision History


Revision # Revision 1 Revision 2 Revision 3 Date 8/15/2013 9/23/2013 11/14/2013 Description of Changes Initial version of the document for Veeam Backup Enterprise Manager RESTful API. Changes in the Reference section; several scenarios added to the Sample scenarios section. Lookup section added; parameters for vCloud VM restore added.

10 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

OVERVIEW
Veeam Backup Enterprise Manager exposes its objects via the Web Service API based on the REST (Representational State Transfer) framework. Veeam Backup Enterprise Manager RESTful API lets developers communicate with Veeam Backup Enterprise Manager to query information about Veeam Backup Enterprise Manager objects and perform basic operations with them using HTTP and HTTPS protocols and the principles of REST. Since the HTTP protocol is very popular and widespread, REST API is platform-agnostic and can be used with practically any programming language. This document will help you get familiar with the Veeam Backup Enterprise Manager RESTful API. The document includes the following sections: Concepts and Principles highlights key features of REST API as applicable to Veeam Backup Enterprise Manager. Getting Started describes Veeam Backup Enterprise Manager RESTful API specifications, provides a generalized RESTful workflow to help you quickly start with Veeam Backup Enterprise Manager RESTful API and an example of Veeam Backup Enterprise Manager RESTful API use. Veeam Backup Enterprise Manager RESTful API Reference provides a complete reference for Veeam Backup Enterprise Manager RESTful API resources and operations you can perform with them. Sample Scenarios offers a set of examples of use for Veeam Backup Enterprise Manager RESTful API.

11 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

CONCEPTS AND PRINCIPLES


In this section, you will find a description of basic REST API concepts and principles that will help you quickly dive into Veeam Backup Enterprise Manager RESTful API. The information is given by the example of Veeam Backup Enterprise Manager objects. This section is primarily intended for novices in REST API; however, some information may be useful for experienced developers.

Client-Server Model
REST API relies on the client-server model: 1. 2. 3. The client makes requests to the server, Veeam Backup Enterprise Manager, over the HTTP protocol. The server processes the request and returns either a successful operation status or error. In case of success, the server returns a response in the form of an XML document. The client accepts the response, parses it and retrieves the information it needs from the response.

Resources
REST API is built around resources. A resource is an object that the client can address and with which it can perform certain actions. Some examples of resources in Veeam Backup Enterprise Manager are Veeam backup server, job, restore point and so on. Every resource in Veeam Backup Enterprise Manager RESTful API is described with: Specific resource type such as backupServer, job and so on URL, or resource address, that the client can use to access the resource Relationships to other resources in Veeam Backup Enterprise Manager Set of operations that can be performed with the resource (if applicable to resource)

12 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Types
Veeam Backup Enterprise Manager is practically a hierarchy of resources. When the client accesses the Veeam Backup Enterprise Manager RESTful API, it obtains a list of resources that the client can use. All Veeam Backup Enterprise Manager resources can be divided into two groups: Key resources, or entities, are top-level objects in Veeam Backup Enterprise Manager. These are primary Veeam Backup Enterprise Manager objects that the client can address: jobs, VMs, restore points and so on. Key resources are uniquely identified by entity IDs in the URN format. The client can get information about key resources and perform actions with them: modify resource properties, create and delete resources and so on. Other resources are auxiliary objects handled by Veeam Backup Enterprise Manager RESTful API, for example: tasks, file system entries, credentials and so on. Typically, these resources do not have any actions associated with them. The client can access such resources to get some information about them but cannot perform any operation with them.

The Veeam Backup Enterprise Manager RESTful API operates with the following types of resources: Key resources: BackupServer Repository Job Backup RestorePoint VmRestorePoint Replica VmReplicaPoint CatalogVm CatalogVmRestorePoint HierarchyRoot BackupJobSession ReplicaJobSession RestoreJobSession BackupTaskSession ReplicaTaskSession EnterpriseRole EnterpriseAccount

Other resources: EnterpriseManager LoginSession Task Report ReportFrame DirectoryEntry

13 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

FileEntry FileSystemItems VmRestorePointMount VmReplicaPointMount QueryService LookupService Credentials ObjectInJob EnterpriseAccountInRole EnterpriseAccountHierarchyScope EnterpriseSecuritySettings

Veeam Backup Enterprise Manager RESTful API resources can be grouped in collections. A resource collection contains objects of the same type: for example, the BackupServers collection contains all Veeam backup servers connected to Veeam Backup Enterprise Manager. The resource collection itself is a resource: you can access it and get information about all objects being a part of the collection.

Resource URLs
Every resource and resource collection in Enterprise Manager RESTful API has its own URL. A resource URL functions a reference to an Enterprise Manager object: it is a resource address that the client can use to access the resource. For example, a Veeam backup server connected to Enterprise Manager can be addressed by the URL of the following type:
http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a

Every resource URL consists of two parts: Base URL of Veeam Backup Enterprise Manager RESTful API Resource location

Base URL
The base URL is common for all resources: it is the entry point to Veeam Backup Enterprise Manager RESTful API. Veeam Backup Enterprise Manager RESTful API has the following base URL:
http://<Enterprise-Manager>:9399/api/

where: <Enterprise-Manager> is the name of the machine on which Veeam Backup Enterprise Manager is installed 9399 is an HTTP port used to communicate with the REST API web service. You can also access Veeam Backup Enterprise Manager RESTful API over the HTTPS using port 9398. By default, port 9399 is used. If you have specified another HTTP port during the Enterprise Manager installation, you should adjust the port number in the URL.

14 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Location
The resource location identifies the path to the resource itself in Enterprise Manager RESTful API. The resource location is suffixed to the base URL, forming the URL for the resource. For example, to access the collection of jobs by the URL of the following type:
http://localhost:9399/api/jobs

The resource location for key resources includes the entity ID. Every key resource has an entity ID an object identifier in the URN format. The entity ID is unique and persists for the time of the Veeam Backup Enterprise Manager RESTful API work session. For example, a Veeam backup server connected to Veeam Backup Enterprise Manager can have the following entity ID and the following URN:
http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a

Non-key resources may or may not have IDs that are called resource IDs. For example, the task resource has a resource ID of the following format:
http://localhost:9399/api/tasks/task-1

Such resources as files or directories do not have IDs:


http://localhost:9399/api/vmRestorePoints/e2b02b57-42dd-404a-b8af8e45a58c1a88/mounts/1/C:/pagefile.sys

Important!

The client must never construct URLs for resources itself. URLs for all resources and actions that the client can perform are generated automatically by the server and provided in resource representations. The client should only select the URL it needs and send a necessary HTTP request to it.

15 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representations
In REST API, a resource is an abstract notion. When the client and the server communicate with each other, they exchange representations of resources. The resource representation has the form of an XML document. For example, if you request information about a Veeam backup server connected to Veeam Backup Enterprise Manager, Veeam Backup Enterprise Manager will return a resource representation of the Veeam backup server resource similar to the following:
<BackupServer xmlns="http://www.veeam.com/ent/v1.0" Type="BackupServer" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a?format=Entity" Name="backupserver" UID="urn:veeam:BackupServer:21a631e0-af7f-46ba-afbd-273de2e6fd4a"> <Links> <Link Rel="Alternate" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a" Name="localhost" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a/credentials" /> <Link Rel="Create" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a/credentials?action=create" /> </Links> <Description /> <Port>9392</Port> <Version>7.0</Version> </BackupServer>

A resource representation is a document that holds all data you need to know about the resource and its behavior. Typically, a resource representation contains the following data on the resource: General information about the resource: name, ID, URL and type Information about other resources related to the resource Set of actions that can be performed with the resource (if applicable)

Information about related resources and actions available for the resource is presented in the form of links.

16 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representations for Non-Key Resources


For non-key resources, Veeam Backup Enterprise Manager RESTful API provides a reference resource representation. The reference resource representation is used to identify the resource and its relations to other resources. This type of representation provides the following data about the resource: Basic resource information: its ID (if available), name, URL and type Information about resources that are related to the current resource

For example, a reference representation for a credentials resource looks similar to the following:
<CredentialsInfo xmlns="http://www.veeam.com/ent/v1.0" Type="Credentials" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15/credentials/57bd1035-fb26-441b-9e8b-6d0301dd2d87"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15?format=Entity" Name="localhost" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15/credentials/57bd1035-fb26-441b-9e8b-6d0301dd2d87" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15/credentials/57bd1035-fb26-441b-9e8b-6d0301dd2d87" /> </Links> <Id>57bd1035-fb26-441b-9e8b-6d0301dd2d87</Id> <Username>administrator</Username> <Description>HP P4000</Description> <Password /> </CredentialsInfo>

Resource Representation for Key Resources


For key resources, or entities, Veeam Backup Enterprise Manager RESTful API provides two types of resource representations: Entity reference resource representation Entity resource representation

17 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Entity Reference Resource Representation


The entity reference resource representation provides short information about the resource that is uniform for all entity resources. This type of representation typically contains the following data: Basic resource information: its ID, name, URL and type Information about resources that are related to the current resource

For example, a reference representation for a job resource looks similar to the following:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="JobReference" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb" Name="Exchange Backup" UID="urn:veeam:Job:de14a4c9-3fb9419b-b622-c6e3ebda28cb"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb/backupSessions" /> </Links> </EntityRef>

Entity Resource Representation


The entity resource representation provides complete information about the resource: Basic information about the resource: its ID, name, URL and type Information about the related resources Links to actions that can be performed with the resource and information about the resource settings Other information related to the resource such as object settings and so on.

To get an entity of the resource representation, the client should send the GET HTTP request to the URL of the resource entity:
GET <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5?format=Entity" Name="Exchange Backup" />

In response the server returns an entity representation providing complete information about the resource:
<Job xmlns="http://www.veeam.com/ent/v1.0" Type="Job" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb?format=Entity" Name="Exchange Backup" UID="urn:veeam:Job:de14a4c9-3fb9-419b-b622-c6e3ebda28cb"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb/backupSessions" />

18 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb" Name="Exchange Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9419b-b622-c6e3ebda28cb?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9419b-b622-c6e3ebda28cb?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9419b-b622-c6e3ebda28cb?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9419b-b622-c6e3ebda28cb?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb?action=toggleScheduleEnabled" /> </Links> <JobType>Backup</JobType> <Platform>HyperV</Platform> <Description>Created by VEEAMBACKUP\Administrator at 8/21/2013 3:48:05 AM.</Description> <ScheduleConfigured>false</ScheduleConfigured> <ScheduleEnabled>true</ScheduleEnabled> <JobScheduleOptions> <RetryOptions> <RetryTimes>3</RetryTimes> <RetryTimeout>10</RetryTimeout> <RetrySpecified>true</RetrySpecified> </RetryOptions> <WaitForBackupCompletion>true</WaitForBackupCompletion> <BackupCompetitionWaitingPeriodMin>180</BackupCompetitionWaitingPeriodMin > <OptionsDaily Enabled="true"> <Kind>Everyday</Kind> <Days>Sunday</Days> <Days>Monday</Days> <Days>Tuesday</Days> <Days>Wednesday</Days> <Days>Thursday</Days> <Days>Friday</Days> <Days>Saturday</Days> <Time>22:00:00.0000000-07:00</Time> </OptionsDaily> <OptionsMonthly Enabled="false"> <Time>22:00:00.0000000-07:00</Time> <DayNumberInMonth>Fourth</DayNumberInMonth> <DayOfWeek>Saturday</DayOfWeek> <Months>January</Months> <Months>February</Months> <Months>March</Months> <Months>April</Months> <Months>May</Months> <Months>June</Months> <Months>July</Months> <Months>August</Months> <Months>September</Months> <Months>October</Months> <Months>November</Months> <Months>December</Months> </OptionsMonthly> <OptionsPeriodically Enabled="false">

19 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Kind>Hours</Kind> <FullPeriod>1</FullPeriod> <Schedule> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </Schedule> </OptionsPeriodically> <OptionsContinuous Enabled="false" /> <OptionsBackupWindow Enabled="false"> <TimePeriods> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </TimePeriods> </OptionsBackupWindow> <OptionsDaisyChaining Enabled="false"> <PreviousJobUid /> </OptionsDaisyChaining> </JobScheduleOptions> <JobInfo> <BackupJobInfo> <Includes> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb/includes/1767fb26-8d29-45c4-97b5-de69bd4136b0"> <ObjectInJobId>1767fb26-8d29-45c4-97b5-de69bd4136b0</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:195c7259-8d89-4f6e-909825ee1f432669.887980f5-a332-4105-8399-2d415227aee5</HierarchyObjRef> <Name>hv-exchange</Name> <DisplayName>hv-exchange</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions>

20 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</ObjectInJob> </Includes> <GuestProcessingOptions> <AppAwareProcessingMode>Disabled</AppAwareProcessingMode> <FileSystemIndexingMode>Disabled</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </BackupJobInfo> </JobInfo> </Job>

Links
The main constructs of a resource representation are links. Links are the primary means to address resources and manipulate them. When the client sends a request to the server, the server returns to the client a resource representation with a set of links. Links are elements in the XML document that the client can use to: Access resources to which the resource has relationships Perform actions with the resource Create new resources

Essentially, every link is a reference to another resource or some action. Links communicate to the client what the client can do next: get information about a related resource, perform some action with the resource or create a new resource, such as a new logon session. For example, if you send a request to get a representation for a specific backup job resource, you will get the following set of links:
<Job xmlns="http://www.veeam.com/ent/v1.0" Type="Job" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5?format=Entity" Name="Exchange Backup" UID="urn:veeam:Job:568c42ce-eb11-4140-92cf-39ab36712bf5"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5" Name="Exchange Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/568c42ce-eb114140-92cf-39ab36712bf5?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/568c42ce-eb11-

21 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

4140-92cf-39ab36712bf5?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/568c42ce-eb114140-92cf-39ab36712bf5?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/568c42ce-eb114140-92cf-39ab36712bf5?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5?action=toggleScheduleEnabled" /> </Links> ... </Job>

Using links from the representation of the job resource, you can get information about job sessions and the Veeam backup server on which the job was created, add objects to the job, edit the jobs settings, start, stop, retry and clone and disable/enable a job. This resource representation contains links to the following related resources: 1. Veeam backup server on which the job is created:
<Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46baafbd-273de2e6fd4a" Name="localhost" />

2.

Entity of the backup job. To learn more about entities, see Resource Representation for Key Resources.
<Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5" Name="Exchange Backup" />

3.

List of job sessions:


<Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/backupSessions" />

And a set of actions you can perform with the job resource: 1. Add VMs and VM containers to the job:
<Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/includes" />

2.

Edit a job:
<Link Rel="Start" Href="http://localhost:9399/api/jobs/568c42ceeb11-4140-92cf-39ab36712bf5?action=start" />

3.

Start a job:
<Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5" Name="Exchange Backup" />

4.

Stop a job:
<Link Rel="Stop" Href="http://localhost:9399/api/jobs/568c42ceeb11-4140-92cf-39ab36712bf5?action=stop" />

22 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

5.

Retry a job:
<Link Rel="Retry" Href="http://localhost:9399/api/jobs/568c42ceeb11-4140-92cf-39ab36712bf5?action=retry" />

6.

Clone a job:
<Link Rel="Clone" Href="http://localhost:9399/api/jobs/568c42ceeb11-4140-92cf-39ab36712bf5?action=clone" />

7.

Enable or disable the job:


<Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5?action=toggleScheduleEnabled" />

Attributes of a Link Element


A link element in the XML document usually has the following attributes: Rel The Rel attribute defines the type of relationship between the resource and the linked resource or state. The Rel attribute can identify the following relationships:
Relationship Action Description Identifies an action that can be performed with the linked object. For example, Create, Edit, Delete, Start, Stop, Retry, Clone and so on. Identifies the type of relations between the linked resource and the resource. Currently Veeam Backup Enterprise Manager RESTful API offers two types of relations: The Up value indicates that the linked resource is a parent element for the current resource. For example, the backup repository is a parent for the backup stored in this repository. The Down value indicates that the linked resource is a child element for the current resource. For example, the repository is a child for the Veeam backup server to which the repository is connected. The Alternate value in the Rel attribute identifies that the link is a reference to the resource entity. To learn more, see Resource Representation for Key Resources.

Type of relationship

Alternate URL

Type The Type attribute defines the type of a related resource. The type attribute is used only for linked resources, not actions. For example, the link below is provided in the representation of the restore point resource:
<Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/d8877ca3-6283-4011-b09a73696ef34bf0" Name="Exchange Backup" />

23 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

The link identifies a backup for which the restore point is created: Rel attribute defines the relationship between the current resource, restore point, and the linked resource, backup Up. This means that the linked backup resource is a parent element for the restore point resource. Type attribute defines the type of the linked resource Backup.
46ba-afbd-273de2e6fd4a.

Href

Href attribute contains a URL for the backup resource /backupServers/21a631e0-af7fName attribute defines a name for the backup Exchange Backup.

The Href attribute contains a reference to a related resource or an action in the URL format. The client can use the URL to get a representation of a related resource or perform some action with the resource. The resource URL should be treated as an immutable, opaque string: all URLs are controlled by the server, and the client should only select and use the necessary URL. Name The Name attribute defines the human-readable name of the resource. The name attribute is used for key resources and may be skipped in links to resource collections and actions to creating new resources.

24 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

HTTP Requests and Responses


When communicating via Veeam Backup Enterprise Manager RESTful API, the client makes a request to the URL of the resource and the server returns a response to the client. The client uses standard HTTP CRUD operations: CREATE, READ, PUT and DELETE.

Requests
For requests, the client can use the following standard HTTP methods: POST (Create) - creates a new resource GET (Read) - retrieves information about the resource the resource representation PUT (Update) - makes changes to a resource DELETE (Delete) removes a resource

In some cases, the same HTTP method can be used to perform different kinds of actions with the resource. For example, using the POST HTTP method, you can add objects to the job, start a job, stop, retry, clone or disable it. To identify the action that will be performed with the resource, Veeam Backup Enterprise Manager RESTful API adds the name of the action to the end of the action URL, for example:
<Link Rel="Start" Href="http://localhost:9399/api/jobs/568c42ce-eb114140-92cf-39ab36712bf5?action=start" />

Additionally, the action is described with the Rel attribute within the link, for example:
<Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5" Name="Exchange Backup" />

The table below describes relations between the operations that the client can perform with resources and HTTP verbs to be used:
Operation Create Delete Alternate Edit Start Stop Retry Clone Related Restore Failover Download HTTP Verb POST DELETE GET PUT POST POST POST POST GET POST POST POST Sample Actions Create a new resource, for example, a logon session or credentials record. Delete a resource, for example, a logon session or a task. Get an entity representation for the resource. Edit a resource, for example, a job. Start some operation, for example, a job. Stop some operation, for example, a job. Retry some operation, for example, a job. Clone a resource, for example, a job. Get a resource representation of the resource related to the current one, For example, a list of VM restore points related to the catalog VM restore point. Perform a restore operation, for example, full VM restore. Perform VM replica failover. Download a file.

25 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Operation Toggle Schedule Enabled Toggle RestoreScopes Enabled Browse Up Down Previous Next First Last

HTTP Verb

Sample Actions

POST

Enable or disable job launch by the schedule.

POST

Enable or disable restore scope settings for the account having a specific role in Veeam Backup Enterprise Manager. Launch the browsing operation for the VM file system. Retrieve a list of resources that are parent to the current resource, for example: Veeam backup server parent for a job resource. Retrieve a list of resources that are child to the current resource, for example: job sessions child for a job resource. Move back to the previous page with query results Move forward to the next page with query results Move to the first page with query results Move to the last page with query results

POST GET GET GET GET GET GET

POST Method
The POST HTTP Method is most often used to create a new resource: for example, a new logon session. However, in Veeam Backup Enterprise Manager RESTful API the POST HTTP method can be used for other activities, for example: Starting a job Cloning a job Downloading a file Restoring a VM

Some POST HTTP requests do not require a request body: they are simply sent to the URL of a resource. For example, if you want to start a job, you should send a request of the following type:
POST http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5?action=start

26 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Other POST HTTP requests require the request body. For example, if you want to clone a job in Veeam Backup Enterprise Manager, you need to send the HTTP POST request and communicate to the server the parameters for the cloned job in the request body. The body of the request must conform to the XML Schema of Veeam Backup Enterprise Manager RESTful API:
Request : POST http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5?action=clone Request Body : <?xml version="1.0" encoding="utf-8"?> <JobCloneSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BackupJobCloneInfo> <JobName>Exchange Backup Cloned</JobName> <FolderName>Exchange Backup Cloned</FolderName> <RepositoryUid>urn:veeam:Repository:3efc471c-04be-4dd1-9ed254e7fddc5ecf</RepositoryUid> </BackupJobCloneInfo> </JobCloneSpec>

If case of success, the server returns the HTTP response code 202 Accepted. The operation itself is performed in the asynchronous manner. The server creates a task for the operation completion and returns a link to this task to the client. Using this link, the client can monitor the task completion. The example below illustrates the job start operation:
Request : POST http://localhost:9399/api/jobs/115f560f-3a5f-4a88-b0c8096c845bafcd?action=start Response: 202 Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-10"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-10" /> </Links> <TaskId>task-10</TaskId> <State>Running</State> <Operation>StartJob</Operation> </Task>

27 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

To monitor the state of the task completion, the client sends the GET HTTP request to the URL of the task resource:
Request : GET http://localhost:9399/api/tasks/task-10 Response: 20O Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-10"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-10" /> </Links> <TaskId>task-10</TaskId> <State>Finished</State> <Operation>StartJob</Operation> <Result Success="true"> <Message>Job "SQL Backup" triggered to start.</Message> </Result> </Task>

GET Method
The GET HTTP method is used to read data or retrieve information about a resource. In case of success, the GET HTTP method returns the HTTP response code 200 Success; in the response body, the method returns a representation of the resource. In the example below, the GET HTTP method is used to retrieve a resource representation of the default backup repository entity:
Request : GET http://localhost:9399/api/repositories/3efc471c-04be-4dd1-9ed254e7fddc5ecf?format=Entity Response: 200 Success Response Body: <Repository xmlns="http://www.veeam.com/ent/v1.0" Type="Repository" Href="http://localhost:9399/api/repositories/3efc471c-04be-4dd1-9ed254e7fddc5ecf?format=Entity" Name="Default Backup Repository" UID="urn:veeam:Repository:3efc471c-04be-4dd1-9ed2-54e7fddc5ecf"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/3efc471c-04be-4dd1-9ed254e7fddc5ecf" Name="Default Backup Repository" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/3efc471c-04be-4dd1-9ed254e7fddc5ecf/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/3efc471c-04be-4dd1-9ed254e7fddc5ecf/replicas" />

28 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Links> <Capacity>85530243072</Capacity> <FreeSpace>20584992768</FreeSpace> </Repository>

PUT Method
The PUT HTTP method is used to update the properties of the resource, for example, edit job settings. The PUT HTTP method requires a request body. In the body of the request, the client must send an updated representation of the resource. The body may contain the whole resource representation or only those settings that the client wants to edit. The body of the request must conform to the XML Schema of Veeam Backup Enterprise Manager RESTful API. If case of success, the PUT HTTP method returns the HTTP response code 200 Success or 202 Accepted. Code 200 Success is returned if the operation can be performed immediately. Code 202 Accepted is returned if the operation takes much time to perform. In this case, the operation is performed in the asynchronous manner. The server creates a task for method completion and returns a link to this task to the client. Using this link, the client can monitor the task completion.

In the example below, the PUT HTTP request is sent to update the job description:
Request : PUT http://localhost:9399/api/jobs/115f560f-3a5f-4a88-b0c8-096c845bafcd Request Body : <?xml version="1.0" encoding="utf-8"?> <Job Href="http://localhost:9399/api/jobs/115f560f-3a5f-4a88-b0c8096c845bafcd?format=Entity" Type="Job" Name="vcloud" UID="urn:veeam:Job:115f560f-3a5f-4a88-b0c8-096c845bafcd" xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Description>Changing job description</Description> </Job> Response: 202 Accepted Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-12"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-12" /> </Links> <TaskId>task-12</TaskId> <State>Running</State> <Operation>EditJob</Operation> </Task>

29 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

To monitor the state of the task completion, the client sends the GET HTTP request to the URL of the task resource:
Request : GET http://localhost:9399/api/tasks/task-12 Response: 20O Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-12"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-12" /> </Links> <TaskId>task-12</TaskId> <State>Finished</State> <Operation>EditJob</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task>

DELETE Method
The DELETE HTTP method is used to delete a resource to whose URL the client sends a request. In case of success, the DELETE HTTP method returns the HTTP response code 204 (DELETED). In the example below, the DELETE HTTP request is used to delete the current logon session:
Request : DELETE http://localhost:9399/api/logonSessions/0e879be7-8854-4a54-990bec16e1c6d1ee Response: 204 Deleted

30 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Responses
Every request to the server returns a response. The response returned from the server includes: HTTP response code that indicates the status of the operation, for example: 200 Success. HTTP response header HTTP response body (if applicable to the operation)

HTTP Response Codes


The request to the server can return a successful status or an error.

Success Operation Statuses


Code Applies to HTTP Method GET PUT POST Description Response Body Content Resource representation Representation of the created resource Details

200 201

Success Created

The operation has been successfully completed. The resource has been successfully created. The request has been accepted and a task to handle the request has been created. A 202 response is typically used for actions that take a long while to process or performed asynchronously. This response is accompanied by a task resource. The request is valid and has been successfully completed; the response does not include a body. A 204 status can be sent, for example, as a response to the DELETE HTTP request, informing that a resource has been deleted and has no representation.

202

POST

Accepted

n/a

204

PUT POST DELETE

No Content

n/a

31 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Error operation statuses


Code Applies to HTTP Method POST PUT All All All All GET POST PUT POST PUT DELETE All Description Response Body Content Error Error Error Error Error Error Details The request body is malformed, incomplete or otherwise invalid. The authorization header has been expected but not found (or found but is expired). The user sending a request does not have adequate privileges to access one or more objects specified in the request. One or more resources specified in the request could not be found in the specified resource collection. The HTTP method specified in the request is not supported for this resource. The request has been received but could not be completed because of an internal error at the server side. The server does not support the functionality required to fulfill the request. The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.

400 401 403 404 405 500

Bad Request Unauthorized Forbidden Not Found Method is not Allowed Internal Server Error Not Implemented Service Unavailable

501

Error

503

Error

32 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Query Service
Some of the Veeam Backup Enterprise Manager resources support request query parameters. Using query, you can: Tip: Perform ad-hoc search for necessary resources Filter results by defined criteria Define the format of results display and pagination

To learn what query parameters are supported for specific resources, see the Query Parameters section in the GET HTTP method description for the corresponding resource. For example, (GET) /backupServers.

Query Syntax
In Veeam Backup Enterprise Manager RESTful API, the query component is added to the base URL. The query string has the following format:
http://<EnterpriseManage>:9399/api/query?type=<QueryType> [&ParamName=ParamValue]

where: http://<EnterpriseManage>:9399/api/ is the base URL for Veeam Backup Enterprise Manager RESTful API. query?type identifies the beginning of the query string. The query?type element is added to the base URL. <QueryType> identifies the resource type for which the query is executed, for example, BackupServer or Job. [ParamName=ParamValue]contains parameters passed to the query.

33 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

query?type=<QueryType>
The query?type component is a required part of the query. You can define the query for the following types of resources: BackupServer Job Backup RestorePoint VmRestorePoint Replica VmReplicaPoint HierarchyRoot BackupJobSession ReplicaJobSession RestoreJobSession BackupTaskSession ReplicaTasksSession Task Credentials

[ParamName=ParamValue]
The query parameters component [ParamName=ParamValue] is an optional part of the query. Using this component, you can pass arguments to the query. The query parameter component is separated with the & (ampersand) character from the rest of the query string. Parameters are passed to the query as "field=value" pairs. The query string can contain an unlimited number of field=value pairs. Multiple "field=value" pairs are separated with the & (ampersand) character. Important! The "field=value" pair must be presented as a string of the [A-Za-z_0-9] type without spaces. Stings containing spaces must be includes in quotes, for example: /query?type=job&filter=name==Fileserver Backup. If the string contains spaces and is not included in quotes, the server will ignore spaces in the string. If the string itself contains a quote character, the quote must be doubled. For example, if the job name is Backup, the query string will have the following format: /query?type=job&filter=name==Backup.

34 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

For example, using the query below, you can get a list of all job entities sorted in the ascending order. This query contains two "field=value" pairs: format=Entities (to display entities of resources, not references) sortAsc=name (to sort jobs in the ascending order by the Name field)
Request : GET http://localhost:9399/api/query?type=job&format=entities&sortAsc=name Response: 200 Success Response Body: <QueryResult xmlns="http://www.veeam.com/ent/v1.0"> <Entities> <Jobs> <Job Type="Job" Href="http://localhost:9399/api/jobs/568c42ce-eb114140-92cf-39ab36712bf5?format=Entity" Name="DC Backup" UID="urn:veeam:Job:568c42ce-eb11-4140-92cf-39ab36712bf5"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5" Name="DC Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5" Name="DC Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/568c42ceeb11-4140-92cf-39ab36712bf5?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/568c42ce-eb114140-92cf-39ab36712bf5?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/568c42ceeb11-4140-92cf-39ab36712bf5?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/568c42ceeb11-4140-92cf-39ab36712bf5?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5?action=toggleScheduleEnabled" /> </Links> <JobType>Backup</JobType> <Platform>VMware</Platform> <Description>Created by VEEAM\administrator at 7/30/2013 2:23:39 PM.</Description> <ScheduleConfigured>false</ScheduleConfigured> <ScheduleEnabled>true</ScheduleEnabled> <JobScheduleOptions> <RetryOptions> <RetryTimes>3</RetryTimes> <RetryTimeout>10</RetryTimeout> <RetrySpecified>true</RetrySpecified> </RetryOptions> <WaitForBackupCompletion>true</WaitForBackupCompletion>

35 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<BackupCompetitionWaitingPeriodMin>180</BackupCompetitionWaitingPeriodMin > <OptionsDaily Enabled="true"> <Kind>Everyday</Kind> <Days>Sunday</Days> <Days>Monday</Days> <Days>Tuesday</Days> <Days>Wednesday</Days> <Days>Thursday</Days> <Days>Friday</Days> <Days>Saturday</Days> <Time>22:00:00.0000000+04:00</Time> </OptionsDaily> <OptionsMonthly Enabled="false"> <Time>22:00:00.0000000+04:00</Time> <DayNumberInMonth>Fourth</DayNumberInMonth> <DayOfWeek>Saturday</DayOfWeek> <Months>January</Months> <Months>February</Months> <Months>March</Months> <Months>April</Months> <Months>May</Months> <Months>June</Months> <Months>July</Months> <Months>August</Months> <Months>September</Months> <Months>October</Months> <Months>November</Months> <Months>December</Months> </OptionsMonthly> <OptionsPeriodically Enabled="false"> <Kind>Hours</Kind> <FullPeriod>1</FullPeriod> <Schedule> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </Schedule> </OptionsPeriodically> <OptionsContinuous Enabled="false" /> <OptionsBackupWindow Enabled="false"> <TimePeriods> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day>

36 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </TimePeriods> </OptionsBackupWindow> <OptionsDaisyChaining Enabled="false"> <PreviousJobUid /> </OptionsDaisyChaining> </JobScheduleOptions> <JobInfo> <BackupJobInfo> <Includes> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/includes/9a3e17b6-00df-4cbc-8816-b4ae568983e3"> <ObjectInJobId>9a3e17b6-00df-4cbc-8816b4ae568983e3</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:4852fc4f-9646-41e6-988d60ea9b85bc39.vm-10537</HierarchyObjRef> <Name>win-tw4</Name> <DisplayName>win-tw4</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> </Includes> <GuestProcessingOptions> <AppAwareProcessingMode>Disabled</AppAwareProcessingMode> <FileSystemIndexingMode>Disabled</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </BackupJobInfo> </JobInfo> </Job> <Job Type="Job" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a4f3d-97a5-43cb95b67bcf?format=Entity" Name="Exchange Backup" UID="urn:veeam:Job:e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a543cb95b67bcf" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a543cb95b67bcf/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a543cb95b67bcf/includes" /> <Link Rel="Edit" Type="JobReference"

37 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a543cb95b67bcf" Name="Exchange Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a543cb95b67bcf/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/e5d94cae4b8a-4f3d-97a5-43cb95b67bcf?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a4f3d-97a5-43cb95b67bcf?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/e5d94cae4b8a-4f3d-97a5-43cb95b67bcf?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/e5d94cae4b8a-4f3d-97a5-43cb95b67bcf?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a543cb95b67bcf?action=toggleScheduleEnabled" /> </Links> <JobType>Backup</JobType> <Platform>VMware</Platform> <Description>Created by VEEAM\administrator at 7/30/2013 2:23:39 PM.</Description> <ScheduleConfigured>false</ScheduleConfigured> <ScheduleEnabled>false</ScheduleEnabled> <JobScheduleOptions> <RetryOptions> <RetryTimes>3</RetryTimes> <RetryTimeout>10</RetryTimeout> <RetrySpecified>true</RetrySpecified> </RetryOptions> <WaitForBackupCompletion>true</WaitForBackupCompletion> <BackupCompetitionWaitingPeriodMin>180</BackupCompetitionWaitingPeriodMin > <OptionsDaily Enabled="true"> <Kind>Everyday</Kind> <Days>Sunday</Days> <Days>Monday</Days> <Days>Tuesday</Days> <Days>Wednesday</Days> <Days>Thursday</Days> <Days>Friday</Days> <Days>Saturday</Days> <Time>22:00:00.0000000+04:00</Time> </OptionsDaily> <OptionsMonthly Enabled="false"> <Time>22:00:00.0000000+04:00</Time> <DayNumberInMonth>Fourth</DayNumberInMonth> <DayOfWeek>Saturday</DayOfWeek> <Months>January</Months> <Months>February</Months> <Months>March</Months> <Months>April</Months> <Months>May</Months> <Months>June</Months> <Months>July</Months> <Months>August</Months> <Months>September</Months> <Months>October</Months> <Months>November</Months> <Months>December</Months> </OptionsMonthly> <OptionsPeriodically Enabled="false"> <Kind>Hours</Kind> <FullPeriod>1</FullPeriod> <Schedule> <Day

38 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </Schedule> </OptionsPeriodically> <OptionsContinuous Enabled="false" /> <OptionsBackupWindow Enabled="false"> <TimePeriods> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </TimePeriods> </OptionsBackupWindow> <OptionsDaisyChaining Enabled="false"> <PreviousJobUid /> </OptionsDaisyChaining> </JobScheduleOptions> <JobInfo> <BackupJobInfo> <Includes> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a543cb95b67bcf/includes/0461a3f8-4d3e-42d7-8c91-f28e959278f2"> <ObjectInJobId>0461a3f8-4d3e-42d7-8c91f28e959278f2</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:4852fc4f-9646-41e6-988d60ea9b85bc39.vm-10537</HierarchyObjRef> <Name>win-tw4</Name> <DisplayName>win-tw4</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> </Includes> <GuestProcessingOptions>

39 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<AppAwareProcessingMode>Disabled</AppAwareProcessingMode> <FileSystemIndexingMode>Disabled</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </BackupJobInfo> </JobInfo> </Job> ... </Jobs> </Entities> <PagingInfo PagesCount="1" PageSize="100" PageNum="1"> <Links> <Link Rel="First" Href="http://localhost:9399/api/query?type=job&format=entities&sortAsc=na me&pageSize=100&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=job&format=entities&sortAsc=na me&pageSize=100&page=1" /> </Links> </PagingInfo> </QueryResult>

Optional Query Parameters


When building a query string, you can use one or several optional query parameters:

format
The format query parameter allows you to define the representation type that you want to retrieve using the query. Veeam Backup Enterprise Manager RESTful API lets you retrieve representations of two types: References (retrieved by default) Entities

To learn more, see Resource Representations.

40 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

For example, using the query below, you can get a list of restore point entities:
Request : GET http://localhost:9399/api/query?type=VmRestorePoint&format=entities Response: 200 Success Response Body: <QueryResult xmlns="http://www.veeam.com/ent/v1.0"> <Entities> <VmRestorePoints> <VmRestorePoint Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/eb036525-d214-4057-ac3f06ffe8b241ad?format=Entity" Name="sharepoint@2013-07-19 09:56:49" UID="urn:veeam:VmRestorePoint:eb036525-d214-4057-ac3f-06ffe8b241ad" VmDisplayName="sharepoint"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/eb036525-d214-4057-ac3f06ffe8b241ad?action=restore" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/03506bd0-e239-4538-be29cac3c3eec0d0" Name="Jul 19 2013 9:56AM" /> <Link Rel="Alternate" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/eb036525-d214-4057-ac3f06ffe8b241ad" Name="sharepoint@2013-07-19 09:56:49" /> <Link Rel="Down" Type="VmRestorePointMountList" Href="http://localhost:9399/api/vmRestorePoints/eb036525-d214-4057-ac3f06ffe8b241ad/mounts" /> <Link Rel="Create" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/eb036525-d214-4057-ac3f06ffe8b241ad/mounts" /> </Links> <CreationTimeUTC>2013-07-19T09:56:49Z</CreationTimeUTC> <Algorithm>Full</Algorithm> <PointType>Full</PointType> </VmRestorePoint> <VmRestorePoint Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/974ff763-5cb2-484f-962213f373dfac85?format=Entity" Name="sql01 (6ebb52e1-76e3-4659-8011d9d91dc79c97)@2013-07-30 10:44:04" UID="urn:veeam:VmRestorePoint:974ff763-5cb2-484f-9622-13f373dfac85" VmDisplayName="sql01"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/974ff763-5cb2-484f-962213f373dfac85?action=restore" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/8bcb389f-d7cd-4f86-89ffa7dd86f78779" Name="Jul 30 2013 10:42AM" /> <Link Rel="Alternate" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/974ff763-5cb2-484f-962213f373dfac85" Name="sql01 (6ebb52e1-76e3-4659-8011-d9d91dc79c97)@2013-0730 10:44:04" /> <Link Rel="Down" Type="VmRestorePointMountList" Href="http://localhost:9399/api/vmRestorePoints/974ff763-5cb2-484f-962213f373dfac85/mounts" />

41 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Create" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/974ff763-5cb2-484f-962213f373dfac85/mounts" /> </Links> <CreationTimeUTC>2013-07-30T10:44:04Z</CreationTimeUTC> <Algorithm>Full</Algorithm> <PointType>Full</PointType> </VmRestorePoint> ... </VmRestorePoints> </Entities> <PagingInfo PagesCount="1" PageSize="100" PageNum="1"> <Links> <Link Rel="First" Href="http://localhost:9399/api/query?type=VmRestorePoint&format=entities &pageSize=100&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=VmRestorePoint&format=entities &pageSize=100&page=1" /> </Links> </PagingInfo> </QueryResult>

sortAsc, sortDesc
The sortAsc and sortDesc query parameters let you sort the displayed items in the ascending or descending order. The displayed items are sorted by a specific field that is passed to the query as an argument. For example, using the query below, you can get a list of backup servers connected to Veeam Backup Enterprise Manager sorted by the Name field in the descending order:
Request : GET http://localhost:9399/api/query?type=backupServer&sortDesc=name Response: 200 Success Response Body: <QueryResult xmlns="http://www.veeam.com/ent/v1.0"> <Refs> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a" Name="localhost" UID="urn:veeam:BackupServer:21a631e0-af7f46ba-afbd-273de2e6fd4a"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a?format=Entity" Name="localhost" /> </Links> </Ref> <Ref Type="BackupServerReference"

42 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ecbcad37e72411" Name="backupserver2" UID="urn:veeam:BackupServer:44811b088ba6-4e18-b0ec-bcad37e72411"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ecbcad37e72411/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ecbcad37e72411/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ecbcad37e72411/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ecbcad37e72411?format=Entity" Name="backupserver2" /> </Links> </Ref> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a" Name="backupserver" UID="urn:veeam:BackupServer:69368052f7be-4be2-83d7-00ce2bbd7c0a"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a?format=Entity" Name="backupserver" /> </Links> </Ref> </Refs> <PagingInfo PagesCount="1" PageSize="100" PageNum="1"> <Links> <Link Rel="First" Href="http://localhost:9399/api/query?type=backupServer&sortAsc=name&page Size=100&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=backupServer&sortAsc=name&page Size=100&page=1" /> </Links> </PagingInfo> </QueryResult>

pageSize and page


The pageSize and page query parameters let you control pagination. pageSize Using the pageSize parameter, you can define the number of items to be displayed on one page. As a result, the server will return a set of pages with the defined number of items per page. By default, all query results are displayed on one page. To set the pageSize parameter, you should pass a value greater than 0 as a query argument. For example, using the query below, you can paginate a list of backup serves, 1 backup server per page:

43 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request : GET http://localhost:9399/api/query?type=backupServer&pageSize=1 Response: 200 Success Response Body: <QueryResult xmlns="http://www.veeam.com/ent/v1.0"> <Refs> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a" Name="backupserver" UID="urn:veeam:BackupServer:69368052f7be-4be2-83d7-00ce2bbd7c0a"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d700ce2bbd7c0a?format=Entity" Name="backupserver" /> </Links> </Ref> </Refs> <PagingInfo PagesCount="3" PageSize="1" PageNum="1"> <Links> <Link Rel="First" Href="http://localhost:9399/api/query?type=BackupServer&pageSize=1&page=1 " /> <Link Rel="Next" Href="http://localhost:9399/api/query?type=BackupServer&pageSize=1&page=2 " /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=BackupServer&pageSize=1&page=3 " /> </Links> </PagingInfo> </QueryResult>

page In the PagingInfo section of the returned resource representation, Veeam Backup Enterprise Manager returns URLs to pages with results. The page parameter in the URL defines the number of displayed page. For example, the page=2 string in the URL below defines that the displayed page is the 2nd page with query results:
http://localhost:9399/api/query?type=BackupServer&pageSize=1&page=2

Tip:

You can move forward or backward the pages with query results by following the links in PagingInfo section in the query results. Alternatively, you can manually increase or decrease the page number in the query string.

44 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

filter The filter parameter lets you filter the query results to limit a set of displayed items. By default, the query results are not filtered: Veeam Backup Enterprise Manager displays all items as a list. Using the filter parameter, you can display only those items that match the necessary criteria. The filter component in the query string has the following format:
&filter=(field==value)

where the filter criteria are specified as the "field=value" pairs. For example, using the query below, you can get a backup job with the Exchange Backup name:
Request : GET http://localhost:9399/api/query?type=job&filter=(name=="Exchange Backup") Response: 200 Success Response Body: <QueryResult xmlns="http://www.veeam.com/ent/v1.0"> <Refs> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ceeb11-4140-92cf-39ab36712bf5" Name="Exchange Backup" UID="urn:veeam:Job:568c42ce-eb11-4140-92cf-39ab36712bf5"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf39ab36712bf5/backupSessions" /> </Links> </Ref> </Refs> <PagingInfo PagesCount="1" PageSize="100" PageNum="1"> <Links> <Link Rel="First" Href="http://localhost:9399/api/query?type=job&filter=(name%3d%3d%22Excha nge+Backup%22)&pageSize=100&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=job&filter=(name%3d%3d%22Excha nge+Backup%22)&pageSize=100&page=1" /> </Links> </PagingInfo> </QueryResult>

Important!

The filter parameter is obligatory for the Credentials resource. In the query string, the client must provide a UID of the backup server on which the credentials record is created as a BackupServerUid=urn:veeam:BackupServer:UID value. For example, /query?type=credentials&filter=BackupServerUid==urn:veeam:BackupServer:15942270-fb56-4dcc-96e95f80e4725a15. For all other resources, this parameter can be skipped. In this case, the server will return a list of resources of the specified type.

45 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Logical AND/OR Operators


The query string may contain any number of "field=value" pairs. Multiple "field=value" pairs can be united using the following logical operators:
Logical Operator AND OR Query syntax character ; (Semicolon) , (Comma) Description All conditions specified in the filter parameter must be true. Any of the conditions specified in the filter parameter must be true

For example, using the query below, the client can get a list of jobs of the Backup type that are created for VMs on the Hyper-V platform:
Request : GET http://localhost:9399/api/query?type=job&filter=jobtype==backup;platform= =hyperv Response: 200 Success Response Body: <QueryResult xmlns="http://www.veeam.com/ent/v1.0"> <Refs> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/de14a4c93fb9-419b-b622-c6e3ebda28cb" Name="Exchange Backup" UID="urn:veeam:Job:de14a4c9-3fb9-419b-b622-c6e3ebda28cb"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/dce8568659c8-42c4-8766-f1c00a5b8067" Name="SQL" UID="urn:veeam:Job:dce85686-59c842c4-8766-f1c00a5b8067"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766f1c00a5b8067?format=Entity" Name="SQL" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766f1c00a5b8067/backupSessions" /> </Links> </Ref> </Refs> <PagingInfo PagesCount="1" PageSize="100" PageNum="1"> <Links> <Link Rel="First" Href="http://localhost:9399/api/query?type=job&filter=jobtype%3d%3dbackup %3bplatform%3d%3dhyperv&pageSize=100&page=1" />

46 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Last" Href="http://localhost:9399/api/query?type=job&filter=jobtype%3d%3dbackup %3bplatform%3d%3dhyperv&pageSize=100&page=1" /> </Links> </PagingInfo> </QueryResult>

Comparison Operators
The query string may contain comparison operators listed below.
Comparison Operator Greater Less Equal Does not equal Greater or equal Less or equal > Query syntax character Description The query result must be greater than the value specified in the fieldvalue pair. The query result must be less than the value specified in the field-value pair. The query result must be equal to the value specified in the field-value pair. The query result must not be equal to the value specified in the fieldvalue pair. The query result must be greater or equal to the value specified in the field-value pair. The query result must be less or equal to the value specified in the fieldvalue pair.

< ==
!= >= <=

Grouping Operators
The query string may contain conditions grouped using the grouping operators ( and ). The grouping operators help the client to form complex queries that contain a number of field-value pairs. For example, using the query below, the client can get a list of jobs that meets the following criteria: Backup jobs with scheduling options enabled Replication jobs with scheduling options disabled
Request : GET http://localhost:9399/api/ query?type=job&filter=(jobtype==replica; scheduleconfigured==false),(jobtype==backup;scheduleconfigured==true) Response: 200 Success Response Body: <QueryResult xmlns="http://www.veeam.com/ent/v1.0"> <Refs> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/795f2f576cc0-4c33-8c1b-bd7cd5df9aa7" Name="Fileserver Backup" UID="urn:veeam:Job:795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7?format=Entity" Name="Fileserver Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-

47 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

bd7cd5df9aa7/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/6c1375ece666-4b65-9537-d2d4b4b64dc8" Name="DC Replication" UID="urn:veeam:Job:6c1375ec-e666-4b65-9537-d2d4b4b64dc8"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/6c1375ec-e666-4b65-9537d2d4b4b64dc8?format=Entity" Name="DC Replication" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/jobs/6c1375ec-e666-4b65-9537d2d4b4b64dc8/replicaSessions" /> </Links> </Ref> </Refs> <PagingInfo PagesCount="1" PageSize="100" PageNum="1"> <Links> <Link Rel="First" Href="http://localhost:9399/api/query?type=job&filter=(jobtype%3d%3drepli ca%3b+scheduleconfigured%3d%3dtrue)%2c(jobtype%3d%3dbackup%3bname%3d%3d%2 2FileServer+Backup%22)&pageSize=100&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=job&filter=(jobtype%3d%3drepli ca%3b+scheduleconfigured%3d%3dtrue)%2c(jobtype%3d%3dbackup%3bname%3d%3d%2 2FileServer+Backup%22)&pageSize=100&page=1" /> </Links> </PagingInfo> </QueryResult>

48 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Lookup Service
In addition to the query service, Veeam Backup Enterprise Manager exposes the lookup service via its RESTful API. The lookup service lets the client facilitate search for objects in the virtual infrastructure hierarchy: hosts, VMs, clusters, resource pools, folders and so on. The lookup service is specifically targeted at retrieving resource representations of virtual infrastructuture objects and references to virtual infrastructure objects. Object references are required for some requests that refer to a specific node in the virtual infrastructure hierarchy. For example, if you want to add some VM to the backup job, you need to provide a reference to this VM when sending a request for job editing. Similarly, if you want to assign a restore scope to an account having a specific role in Veeam Backup Enterprise Manager, you need to provide a reference to the VM or VM container to which this account should have access. The resource representation of the lookup service looks in the following way:
<LookupSvc xmlns="http://www.veeam.com/ent/v1.0" Type="LookupService" Href="http://localhost:9399/api/lookupSvc"> <Links> <Link Rel="Up" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/764a855e-56a3-4cb1-a80acb5693b6527e" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 a3e7fea0c-e92d-4459-9842-0304df34c644&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 a195c7259-8d89-4f6e-9098-25ee1f432669&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 a1b07c378-bb71-445d-8652-50cead6309e1&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 af27785dc-237e-4bea-8bfd-ad131c50934e&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 afa099d3b-7376-49b1-884c-bb6fa47c7b1e&name=*&type=Vm" /> </Links> </LookupSvc>

The lookup service resource representation contains a set of links to hierarchy roots VMware and Hyper-V hosts added to Veeam backup servers that are managed by Veeam Backup Enterprise Manager. By following a link from the resource representation, the client can get a list of VMs that reside on a specific VMware or Hyper-V host. The resource representation of the lookup service provides links to hosts and VMs only and may be used for browsing. To obtain a reference to a specific virtual hierarchy object, the client must construct a query string to the lookup service in a specific format. Tip: The reference to the virtual infrastructure object can also be constructed manually. To learn more, see Appendix A. Constructing HierarchyObjRefType.

Lookup Query
To obtain a resource representation of a specific virtual infrastructure object, the client can must construct a query string to the lookup service. The query string can be constructed in two ways: Using the object reference. With this type of query, you can get a resource representation of an object via its object reference. Using query parameters. With this type of query, you can get a list of references to objects that match the specified criteria.

49 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Query String with Object Reference


If you have a reference to the virtual infrastructure object and want to get its resource representation, you can construct a query string of the following type:
http://localhost:9399/api/lookup?hierarchyRef={hierarchyRef}

where &hierarchyRef={hierarchyRef} identifies a hierarchy object reference. The hierarchy object reference is a string that is constructed by specific rules. This parameter explicitly refers to the necessary virtual infrastructure object and lets retrieve its resource representation. The example below returns a resource representation of the VM having the following object reference: urn:vCloud:Vm:fa099d3b-7376-49b1-884c-bb6fa47c7b1e.urn:vcloud:vm:6b2da27f-e653-495b-b5152b18bbb4d3ec.
Request : GET http://localhost:9399http://localhost:9399/api/lookup?hierarchyRef= urn:vCloud:Vm:fa099d3b-7376-49b1-884cbb6fa47c7b1e.urn:vcloud:vm:6b2da27f-e653-495b-b515-2b18bbb4d3ec Response: 200 Success Response Body: <HierarchyItems xmlns="http://www.veeam.com/ent/v1.0"> <HierarchyItem Type="HierarchyItem"> <ObjectRef>urn:vCloud:Vm:fa099d3b-7376-49b1-884cbb6fa47c7b1e.urn:vcloud:vm:6b2da27f-e653-495b-b5152b18bbb4d3ec</ObjectRef> <ObjectType>Vm</ObjectType> <ObjectName>dc-vm</ObjectName> </HierarchyItem> </HierarchyItems>

Query String with Parameters


If you want to get object references for one or several virtual infrastructure objects that match a specific criterion, you can construct a query string of the following type:
http://localhost:9399/api/lookup?host={hostUID}&name=(objectName)&type=(o bjectType)

where: ?host={hostUID} identifies a VMware vSphere or Microsoft Hyper-V host to which the virtual infrastructure object belongs, for example: 3afa099d3b-7376-49b1-884c-bb6fa47c7b1e name identifies a name of the object in the virtual infrastructure hierarchy, for example: DC-VM type identifies the object type, for example: VM

The client can use the following object types in the query string:

50 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

For the VMware virtual environments: VM Host Cluster Template VirtualApp Vc Datacenter Folder Datastore ComputeResource ResourcePool

For vCloud Director: VcdSystem Organization OrgVdc Vapp Vm VappTemplate VmTemplate Vm Host Cluster Scvmm HostGroup

For the Hyper-V virtual environments:

The example below returns a VM named DC that resides on the host having the following ID: fa099d3b7376-49b1-884c-bb6fa47c7b1e.
Request : GET http://localhost:9399/web/#/api/lookup?host=urn:veeam:HierarchyRoot:fa099 d3b-7376-49b1-884c-bb6fa47c7b1e&name=DC&type=Vm Response: 200 Success Response Body: <HierarchyItems xmlns="http://www.veeam.com/ent/v1.0"> <HierarchyItem Type="HierarchyItem"> <ObjectRef>urn:vCloud:Vm:fa099d3b-7376-49b1-884cbb6fa47c7b1e.urn:vcloud:vm:340be4d6-8657-4d70-92d7-

51 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

41ac6298f688</ObjectRef> <ObjectType>Vm</ObjectType> <ObjectName>DC</ObjectName> </HierarchyItem> </HierarchyItems>

52 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

GETTING STARTED
This section describes Veeam Backup Enterprise Manager RESTful API specifications, provides a generalized RESTful workflow to let you quickly start with Veeam Backup Enterprise Manager RESTful API and offers a sample of the Veeam Backup Enterprise Manager RESTful API use.

Veeam Backup Enterprise Manager Web Client


To work with Veeam Backup Enterprise Manager RESTful API, you can use any browser or client application that supports HTTP and HTTPS protocols. Veeam Backup Enterprise Manager additionally offers its own client, Veeam Backup Enterprise Manager Web Client, that you can use to evaluate and test capabilities of Veeam Backup Enterprise Manager RESTful API. Veeam Backup Enterprise Manager Web Client is a web-based client. It can be accessed via the Internet browser on the machine where Veeam Backup Enterprise Manager is installed by the following URL:
http://<Enterprise-Manager>:9399/web

Unlike a web browser that allows you to send only GET HTTP requests, Veeam Backup Enterprise Manager Web Client lets you send all types of HTTP requests by simply following URLs in a resource representation. For your convenience, resource URLs are underlined when you move the cursor over them. Additionally, you can access the list of current tasks and sessions using links at the top right corner of the window.

Veeam Backup Enterprise Manager RESTful API Client facilitates the client authentication. After you create a new logon session and log on to Veeam Backup Enterprise Manager, it automatically appends the authorization token to all requests to the server.

53 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Authentication and Security


When starting work with Veeam Backup Enterprise Manager RESTful API, the clients must first authenticate themselves. Client authentication involves two steps: 1. The client must log on to Veeam Backup Enterprise Manager with the user name and password. Veeam Backup Enterprise Manager RESTful API implements Basic HTTP Authentication as defined by RFC 2617. The client must obtain an authorization token that must be used in all requests during the current logon session.

2.

Similar to user authentication in Veeam Backup Enterprise Manager Web UI, client authentication in RESTful API dictates what operations the client can perform when working with Veeam Backup Enterprise Manager RESTful API. That is, if the client is authenticated using an account that does not have enough permissions to perform some actions, it will not be able to execute them. For example, if the client logs on using the account with the Restore Operators role (the role that only allows restoring files via Veeam Backup Enterprise Manager Web UI), the client will not be able to perform such actions as job starting, stopping, editing and so on. When the client attempts to send a request to the corresponding URL, for example, a URL for job starting, it will get the Access denied error with the 403 Forbidden status code.

HTTP Authentication
Every work cycle with Veeam Backup Enterprise Manager RESTful API must begin with the client logon. The logon procedure includes the following steps: 1. 2. The client sends an unauthorized GET HTTP request to the base URL of Veeam Backup Enterprise Manager RESTful API: In the response body, the server returns a link for creating a new logon session:
Request : GET http://localhost:9399/api/ Response: 200 Success Response Body: <EnterpriseManager xmlns="http://www.veeam.com/ent/v1.0"> <Links> <Link Rel="Down" Type="LogonSessionList" Href="http://localhost:9399/api/logonSessions" /> </Links> <SupportedVersions> <SupportedVersion Name="v1"> <Links> <Link Rel="Create" Type="LogonSession" Href="http://localhost:9399/api/sessionMngr/" /> </Links> </SupportedVersion> </SupportedVersions> </EnterpriseManager>

54 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

3.

The client sends the POST HTTP requests to the obtained URL to create a new logon session. In the header of the POST HTTP request, the client must provide the username and password of the account to be used for authentication. The account must have one of the following roles in Veeam Backup Enterprise Manager: Portal Administrators Portal Users Restore Operators For logon, Veeam Backup Enterprise Manager RESTful API uses the Basic HTTP Authentication. For example, if the client uses the account with the following credentials: Username: User Password: Password the client must compose the User:Password base64 encoded:
VXNlcjpQYXNzd29yZA==

The Username:Password pair is supplied in the Authorization header to the POST HTTP request. In the value of the header, the client must prepend Basic before the Username:Password pair:
Authorization: Basic VXNlcjpQYXNzd29yZA==

4.

The server analyses the provided credentials and checks if the specified account has the Portal Administrator, Portal User or Restore Operator role in Veeam Backup Enterprise Manager. If the provided credentials are valid and logon has been successful, the server creates a new authentication token and returns it to the client with a representation of a new logon session. If the provided credentials are not valid or the Authentication header is missing, the server returns a 401 Unauthorized error in response. The server also returns the WWWAuthenticate header indicating the authorization scheme to be used, for example:
WWW-Authenticate: Basic Realm=RestSvc

5.

If logon was successful, the server returns the created authentication token in the XRestSvcSessionId header of the response. The client must obtain the returned authentication token and add it to the header of every subsequent request to the server.
X-RestSvcSessionId: OsU6RL7OGkGKrPBGxKxURw==

Timeout Value for Idle Sessions


The timeout value for an idle logon session is 15 minutes. If the client sends no requests to the server for 15 minutes, the current session token expires. To continue working with Veeam Backup Enterprise Manager RESTful API, the client must obtain a new authorization token from the server.

55 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Logout
To log out, the client must delete a created logon session. A URL for a session deletion is provided in the representation of the logon session resource:
<Link Rel="Delete" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/d4130a8b-3f5a-4999-8a33b02c7ff4b441" />

Tip:

For an example of the logon and logout procedures, see Beginner Example.

SSL Encryption
Veeam Backup Enterprise Manager RESTful API is a self-hosted WCF service that can be run over the HTTP and HTTPS protocols: In case of the HTTP protocol, port 9399 is used In case of the HTTPS protocol, port 9398 is used

When Veeam Backup Enterprise Manager RESTful API is running over HTTPS, the communication between the client and the server is secured with the SSL protocol. For SSL connections, Veeam Backup Enterprise Manager RESTful API uses the same SSL self-signed certificate that is created for Veeam Backup Enterprise Manager during its installation. By default, when Veeam Backup Enterprise Manager is installed, the SSL certificate is bind to the HTTPS port 9398.

To view the SSL certificate used for Veeam Backup Enterprise Manager RESTful API, enter the following command in the command line:
netsh http show sslcert ipport=0.0.0.0:9398

56 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

If the existing SSL certificate expires, you need to update the SSL certificate with the netsh command.

Veeam Backup Enterprise Manager RESTful API Workflow


The workflow of communication with Veeam Backup Enterprise Manager RESTful API typically includes the following steps: 1. 2. 3. 4. 5. 6. The client accesses Veeam Backup Enterprise Manager RESTful API by its base URL: http://<Enterprise-Manager>:9399/api/ https://<Enterprise-Manager>:9398/api/ The client creates a new logon session and sends to the server user credentials to authenticate the user who plans to work with Veeam Backup Enterprise Manager RESTful API. The server creates a new authentication token for the logon session. The server returns a resource representation of the logon session to the client: In the header of the logon session representation, the server returns the authorization token an ID of the created logon session. In the body of the logon session representation, the server returns a list of links for resources with which the client can work. The client retrieves the authorization token from the server response. The client retrieves a URL of the necessary resource from the server response and sends the GET HTTP request for the URL to get a representation of this resource. In the header of the request, the client sends the obtained authorization token. The server returns a resource representation to the client. The client parses the response and retrieves the information it needs from the received response. Typically, it is a URL of another resource or action the client wants to perform with the resource. Using the retrieved URL and the necessary HTTP verb, the client composes a new request to the server and so on and so forth.

7. 8.

9.

57 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Important!

The authorization token issued by Veeam Backup Enterprise Manager should be passed in the header of every request. To learn more, see the HTTP Authentication section.

58 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Veeam Backup Enterprise Manager RESTful API Specifications


In this section, you will find general notes and requirements on work with Veeam Backup Enterprise Manager RESTful API.

Transport Protocol
Veeam Backup Enterprise Manager RESTful API is based on Hypertext Transfer Protocol version 1.1. For secure connections, Veeam Backup Enterprise Manager RESTful API can be used over HTTPS. To learn more, see the SSL Encryption section.

Media Type
Currently Veeam Backup Enterprise Manager RESTful API supports resource representation in the XML format only. The media type is defined in the Content-Type header of requests sent to the server. To learn more, see the Header Format section.

XML Schema Definitions


All resources and specifications in Veeam Backup Enterprise Manager RESTful API are described in XML based on the XML schema definition RestAPI.xds. The XSD file defines the structure, content and semantics of elements and types used in Veeam Backup Enterprise Manager RESTful API. The XSD file can be used by third-party tools and libraries to generate data structures that represent elements described by the XML schema. You can find the XSD file in the installation folder for Veeam Backup Enterprise Manager: %Program Files%\Veeam\Backup and Replication\Enterprise Manager\schemas\RestAPI.xsd.

Header Format
In Veeam Backup Enterprise Manager RESTful API, the client and the server add specific headers to request and response message. Request Header For HTTP requests made to the server, the following headers are used:
Header Description Identifies an authenticated user who makes requests to the server. Identifies the media type and syntax of the request body message. Identifies a logon session used to work with Enterprise Manager RESTful API. Value Basic username:password (base64 encoded) application/xml Session ID copied from the server reply to the Create new logon session request. Required/Optional Must be sent with a request for creating a new logon session. To learn more, see the HTTP Authentication session. Must be sent with all requests with the request body message. Must be sent with all requests to the server. To learn more, see the HTTP Authentication session.

Authorization

Content-Type

X-RestSvcSessionId

59 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Header In server responses sent to the client from the server, the following headers are used:
Header Content-Length Description Identifies the length of the response body message. Identifies the media type and syntax of the request body message. Contains a URL for the resource that was created in response to the POST HTTP request. Contains an ID for a new logon session. Value Length of the response body message in bytes. application/xml Required/Optional Contained in all responses with the request body message. Contained in all responses with the request body message. Contained in responses to the POST HTTP requests Contained in the response to the Create new logon session request. To learn more, see the HTTP Authentication session.

Content-Type

Location

URL for the created resource

X-RestSvc SessionId

ID of the created logon session.

60 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Beginner Example
The example below describes the steps you should follow to get a list of Veeam backup servers connected to Veeam Backup Enterprise Manager. The example will help you start working with Veeam Backup Enterprise Manager RESTful API and perform basic operations such as logon, retrieving a resource representation and so on. To follow this exercise, you will perform the next steps: 1. 2. 3. 4. Access Veeam Backup Enterprise Manager RESTful API Perform logon Get a list of Veeam backup servers Perform logout

Step 1. Access Veeam Backup Enterprise Manager Web API


To access Veeam Backup Enterprise Manager RESTful API, send the GET HTTP request to its base URL. The base URL is http://<Enterprise-Manager>:9399/api/, where: <Enterprise-Manager> is the name of the server on which Veeam Backup Enterprise Manager is installed. 9399 is the HTTP communication port. By default, port 9399 is used for HTTP and port 9398 is used for HTTPS.

If you specified another port for communication over HTTP during the Veeam Backup Enterprise Manager installation, adjust the port number in the URL as required.
GET http://localhost:9399/api/

Step 2. Perform Logon


Before you can start working with Veeam Backup Enterprise Manager RESTful API resources, you must log on to Veeam Backup Enterprise Manager and create a new logon session. 1. When you access the Veeam Backup Enterprise Manager RESTful API by its base URL, Veeam Backup Enterprise Manager returns a representation with a link to a list of existing sessions and a link to creating a new logon session.
Request : GET http://localhost:9399/api/ Response: 200 Success Response Body: <EnterpriseManager xmlns="http://www.veeam.com/ent/v1.0"> <Links> <Link Rel="Down" Type="LogonSessionList" Href="http://localhost:9399/api/logonSessions" /> </Links> <SupportedVersions> <SupportedVersion Name="v1"> <Links> <Link Rel="Create" Type="LogonSession" Href="http://localhost:9399/api/sessionMngr/" />

61 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Links> </SupportedVersion> </SupportedVersions> </EnterpriseManager>

2.

As there are no existing logon session, you need to create a new one. A new logon session is created by sending the POST HTTP request to the /sessionMngr/ resource. In the header of the request, provide user credentials of the account you plan to use for the current logon session. To make up the credentials string: a) b) c) Construct a string in the username:password format. Encode the string with base64 encoding. Add the Authorization header to the POST HTTP request. In the value of the header, specify Basic <encoded_string>:
Authorization: Basic QWRtaW5pc3RyYXRvcjpUcmVzc3Bhc3Mx

3.

Send the composed POST HTTP request to the /sessionMngr/ resource. Veeam Backup Enterprise Manager will return a list of resources with which you can work using Veeam Backup Enterprise Manager RESTful API. In the UserName element, Veeam Backup Enterprise Manager will return a name of the user who is currently logged on. In the header of the response, Veeam Backup Enterprise Manager will supply a newly generated authorization token for the created logon session:
Request : POST http://localhost:9399/api/sessionMngr/ Request Header: Authorization: Basic QWRtaW5pc3RyYXRvcjpUcmVzc3Bhc3Mx Response: 201 Created Response Header: X-RestSvcSessionId: O9Msj3rq7EGUhtSMBQx+mw== Response Body: <LogonSession xmlns="http://www.veeam.com/ent/v1.0" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/2e712cc5-33d2-4f418cce-fe422fc259e6"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/backups" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/restorePoints" /> <Link Rel="Down" Type="VmRestorePointReferenceList"

62 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/vmRestorePoints" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/vmReplicaPoints" /> <Link Rel="Down" Type="CatalogVmReferenceList" Href="http://localhost:9399/api/catalog/vms" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/backupSessions" /> <Link Rel="Down" Type="RestoreSessionReferenceList" Href="http://localhost:9399/api/restoreSessions" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/replicaSessions" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupTaskSessions" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/repicaTaskSessions" /> <Link Rel="Down" Type="EnterpriseSecuritySettings" Href="http://localhost:9399/api/security" /> <Link Rel="Down" Type="TaskList" Href="http://localhost:9399/api/tasks" /> <Link Rel="Down" Type="QueryService" Href="http://localhost:9399/api/querySvc" /> <Link Rel="Down" Type="LookupService" Href="http://localhost:9399/api/lookupSvc" /> <Link Rel="Down" Type="Report" Href="http://localhost:9399/api/reports/summary" Name="Summary" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/backupServers?format=Entity" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/jobs?format=Entity" /> <Link Rel="Down" Type="HierarchyRootList" Href="http://localhost:9399/api/hierarchyRoots?format=Entity" /> <Link Rel="Down" Type="RepositoryList" Href="http://localhost:9399/api/repositories?format=Entity" /> <Link Rel="Down" Type="BackupList" Href="http://localhost:9399/api/backups?format=Entity" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/restorePoints?format=Entity" /> <Link Rel="Down" Type="VmRestorePointList" Href="http://localhost:9399/api/vmRestorePoints?format=Entity" /> <Link Rel="Down" Type="ReplicaList" Href="http://localhost:9399/api/replicas?format=Entity" /> <Link Rel="Down" Type="VmReplicaPointList" Href="http://localhost:9399/api/vmReplicaPoints?format=Entity" /> <Link Rel="Down" Type="CatalogVmList" Href="http://localhost:9399/api/catalog/vms?format=Entity" /> <Link Rel="Down" Type="BackupJobSessionList" Href="http://localhost:9399/api/backupSessions?format=Entity" /> <Link Rel="Down" Type="RestoreSessionList" Href="http://localhost:9399/api/restoreSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/replicaSessions?format=Entity" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/backupTaskSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/repicaTaskSessions?format=Entity" /> <Link Rel="Delete" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/2e712cc5-33d2-4f418cce-fe422fc259e6" /> </Links> <UserName>VEEAMBACKUP\Administrator</UserName> <SessionId>2e712cc5-33d2-4f41-8cce-fe422fc259e6</SessionId>

63 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</LogonSession>

4.

You must copy the obtained RestSvcSessionId header and send it in the header of all subsequent requests to Veeam Backup Enterprise Manager.

Step 3. Get a List of Veeam Backup Servers


To get a list of all Veeam backup servers, you need to retrieve a resource representation of the /backupServers resource. This resource contains a collection of Veeam backup servers connected to Veeam Backup Enterprise Manager. 1. In the resource representation of the logon session created at the previous step, find a link to the /backupServers resource. The Rel attribute within the link component has the Down value and the Type attribute is set to BackupServerReferenceList or BackupServerList:
<Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers>

2.

Get the URL for the Veeam backup servers collection. The URL is provided in the Href attribute of the link component:
http://localhost:9399/api/backupServers

3.

Send the GET HTTP request to the retrieved URL. Veeam Backup Enterprise Manager will return a representation of all connected Veeam backup servers:
Request : GET http://localhost:9399/api/backupServers Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-47478bd4-d686f99b0540" Name="backupserver" UID="urn:veeam:BackupServer:f62624c1-8462-4747-8bd4d686f99b0540"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-47478bd4-d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-47478bd4-d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-47478bd4-d686f99b0540/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-47478bd4-d686f99b0540?format=Entity" Name="backupserver" /> </Links> </Ref> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05816f-e298eb2f995c" Name="localhost" UID="urn:veeam:BackupServer:50a1b2fb-b90a-4e05-816fe298eb2f995c">

64 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05816f-e298eb2f995c/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05816f-e298eb2f995c/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05816f-e298eb2f995c/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05816f-e298eb2f995c?format=Entity" Name="localhost" /> </Links> </Ref> </EntityReferences>

Step 4. Perform Logout


To finish working with Veeam Backup Enterprise Manager RESTful API and log out: 1. Send the GET HTTP request to the /logonSessions resource to get a list of existing logon sessions:
Request : GET http://localhost:9399/api/logonSessions/ Response: 200 Success Response Body: <LogonSession xmlns="http://www.veeam.com/ent/v1.0" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/2e712cc5-33d2-4f418cce-fe422fc259e6"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/backups" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/restorePoints" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/vmRestorePoints" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/vmReplicaPoints" /> <Link Rel="Down" Type="CatalogVmReferenceList" Href="http://localhost:9399/api/catalog/vms" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/backupSessions" /> <Link Rel="Down" Type="RestoreSessionReferenceList"

65 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/restoreSessions" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/replicaSessions" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupTaskSessions" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/repicaTaskSessions" /> <Link Rel="Down" Type="EnterpriseSecuritySettings" Href="http://localhost:9399/api/security" /> <Link Rel="Down" Type="TaskList" Href="http://localhost:9399/api/tasks" /> <Link Rel="Down" Type="QueryService" Href="http://localhost:9399/api/querySvc" /> <Link Rel="Down" Type="LookupService" Href="http://localhost:9399/api/lookupSvc" /> <Link Rel="Down" Type="Report" Href="http://localhost:9399/api/reports/summary" Name="Summary" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/backupServers?format=Entity" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/jobs?format=Entity" /> <Link Rel="Down" Type="HierarchyRootList" Href="http://localhost:9399/api/hierarchyRoots?format=Entity" /> <Link Rel="Down" Type="RepositoryList" Href="http://localhost:9399/api/repositories?format=Entity" /> <Link Rel="Down" Type="BackupList" Href="http://localhost:9399/api/backups?format=Entity" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/restorePoints?format=Entity" /> <Link Rel="Down" Type="VmRestorePointList" Href="http://localhost:9399/api/vmRestorePoints?format=Entity" /> <Link Rel="Down" Type="ReplicaList" Href="http://localhost:9399/api/replicas?format=Entity" /> <Link Rel="Down" Type="VmReplicaPointList" Href="http://localhost:9399/api/vmReplicaPoints?format=Entity" /> <Link Rel="Down" Type="CatalogVmList" Href="http://localhost:9399/api/catalog/vms?format=Entity" /> <Link Rel="Down" Type="BackupJobSessionList" Href="http://localhost:9399/api/backupSessions?format=Entity" /> <Link Rel="Down" Type="RestoreSessionList" Href="http://localhost:9399/api/restoreSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/replicaSessions?format=Entity" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/backupTaskSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/repicaTaskSessions?format=Entity" /> <Link Rel="Delete" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/2e712cc5-33d2-4f418cce-fe422fc259e6" /> </Links> <UserName>VEEAMBACKUP\Administrator</UserName> <SessionId>2e712cc5-33d2-4f41-8cce-fe422fc259e6</SessionId> </LogonSession>

2.

Examine the representation of the logon session and find a link to logon session deletion:
<Link Rel="Delete" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/2e712cc5-33d2-4f41-8ccefe422fc259e6"

66 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

3.

Send the DELETE HTTP request to the obtained link:


Request : DELETE http://localhost:9399/api/logonSessions/2e712cc5-33d2-4f41-8ccefe422fc259e6 Response: 204 Deleted

4.

If you are using Veeam Backup Enterprise Manager Web Client, close the browser window.

The logon session will be deleted.

67 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

VEEAM BACKUP ENTERPRISE MANAGER RESTFUL API REFERENCE


This Enterprise Manager RESTful API reference is organized by resource type. Every resource type has an XML data representation and one or more methods that you can perform for it. /backupServers /backupServers/{ID} /backupServers/{ID}/crede ntials /backupServers/{ID}/crede ntials/{ID} /repositories /repositories/{ID} /jobs /jobs/{ID} /jobs/{ID}/includes /jobs/{ID}/includes/{ID} /backupSessions /backupSessions/{ID} /replicaSessions /replicaSessions/{ID} /restoreSessions /restoreSessions/{ID} /backupTaskSessions /backupTaskSessions/{ID} /replicaTaskSessions /replicaTaskSessions/{ID} /hierarchyRoots /hierarchyRoots/{ID} /backups /backups/{ID} /replicas /replicas/{ID} /restorePoints /restorePoints/{ID} /vmRestorePoints /vmRestorePoints/{ID} /vmRestorePoints/{ID}/mounts /vmRestorePoints/{ID}/mounts/{ID}

68 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/vmRestorePoints/{ID}/mounts/{ID}/{filepath} /vmReplicaPoints /vmReplicaPoints/{ID} /vmReplicaPoints/{ID}/mounts /vmReplicaPoints/{ID}/mounts/{ID}/{file path} /catalog/vms /catalog/vms/{vmname} /catalog/vms/{vmname}/vmRestorePoints /catalog/vms/{vmname}/vmRestorePoints/{ID} /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/ /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath} /security /security/roles /security/roles/{ID} /security/accounts/{ID} /scopes /security/accounts/{ID} /scopes/{ID} /tasks /tasks/{ID} /querySvc /lookupSvc /summary /summary/overview /summary/vms_overview /summary/job_statistics /summary/processed_vms /summary/repositories /logonSessions /logonSessions/{ID}

69 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/backupServers
Represents a collection of all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/backupServers

Related Resources
/backupServers/{ID}

Methods
The following methods are supported for the /backupServers resource: (GET) /backupServers

Resource Representation
The /backupServers resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="backupserver" UID="urn:veeam:BackupServer:f62624c18462-4747-8bd4-d686f99b0540"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540?format=Entity" Name="backupserver" /> </Links> </Ref> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="localhost" UID="urn:veeam:BackupServer:50a1b2fb-b90a4e05-816f-e298eb2f995c"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c?format=Entity" Name="localhost" /> </Links> </Ref>

70 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</EntityReferences>

(GET) /backupServers
Returns a resource representation of a collection of all Veeam Backup Servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of Veeam backup servers connected to the Veeam Backup Enterprise Manager, you need to send the GET HTTP request to the URL of the /backupServers resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/backupServers

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupServers resource collection.

71 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a list of all Veeam backup servers that are currently connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/backupServers Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="backupserver" UID="urn:veeam:BackupServer:f62624c18462-4747-8bd4-d686f99b0540"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540?format=Entity" Name="backupserver" /> </Links> </Ref> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="localhost" UID="urn:veeam:BackupServer:50a1b2fb-b90a4e05-816f-e298eb2f995c"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c?format=Entity" Name="localhost" /> </Links> </Ref> </EntityReferences> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

72 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/backupServers/{ID}
Represents a Veeam backup server having the specified ID.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/backupServers/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/backupServers/{ID}?format=Entity

Related Resources
/backupServers /jobs /repositories /backupServers/{ID}/crede ntials

Methods
The following methods are supported for the /backupServers/{ID} resource: (GET) /backupServers{ID}

Resource Representation
The /backupServers/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="backupserver" UID="urn:veeam:BackupServer:f62624c18462-4747-8bd4-d686f99b0540"> <Links> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540?format=Entity" Name="backupserver" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials" /> </Links> </EntityRef>

73 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Entity resource representation:


<BackupServer xmlns="http://www.veeam.com/ent/v1.0" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540?format=Entity" Name="backupserver" UID="urn:veeam:BackupServer:f62624c1-8462-4747-8bd4-d686f99b0540"> <Links> <Link Rel="Alternate" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="backupserver" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials" /> <Link Rel="Create" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials?action=create" /> </Links> <Description /> <Port>9392</Port> <Version>7.0</Version> </BackupServer>

(GET) /backupServers{ID}
Returns a resource representation of the Veeam backup server having the specified ID.

Request
To get a resource representation of the Veeam backup server, you need to send the GET HTTP request to the URL of the /backupServers/{ID} resource: HTTP Request
GET http://<Enterprise-Manager>:9399/api/backupservers/{ID}

or
GET http://<Enterprise-Manager>:9399/api/backupServers/{ID}?format=Entity

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None.

74 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Query Parameters The following parameters can be used in queries:


Parameter Type Description ID of the Veeam backup server connected to Veeam Backup Enterprise Manager, for example: urn:veeam:BackupServer:15942270fb56-4dcc-96e9-5f80e4725a15. Name of the Veeam backup server connected to Veeam Backup Enterprise Manager. for example: BACKUPSERVER. Description specified for the Veeam backup server in Veeam Backup Enterprise Manager. IP or DNS name that has been used for adding the Veeam backup server to Veeam Backup Enterprise Manager. for example, 172.16.11.22. Port used by Veeam Backup Enterprise Manager for collecting data from Veeam backup servers. By default, port 9392 is used. Version of Veeam Backup & Replication installed on the Veeam backup server, for example: 7.0. Can Be Used for Filtering Can Be Used for Sorting

UID

URN

True

True

Name Description IpOrDns Name Port

String String IP address or String

True True

True True

True

True

Int64

True

True

Version

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupServer/{ID} resource.

75 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns an entity representation of the Veeam backup server having ID f62624c18462-4747-8bd4-d686f99b0540:
Request : GET http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540?format=Entity Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <BackupServer xmlns="http://www.veeam.com/ent/v1.0" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540?format=Entity" Name="backupserver" UID="urn:veeam:BackupServer:f62624c1-8462-4747-8bd4-d686f99b0540"> <Links> <Link Rel="Alternate" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="backupserver" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials" /> <Link Rel="Create" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials?action=create" /> </Links> <Description /> <Port>9392</Port> <Version>7.0</Version> </BackupServer> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

The example below executes a query to get a Veeam backup server having the description "Columbus backup server":
Request : GET http://localhost:9399/api/query?type=BackupServer&filter=(description=="C olumbus backup server") Request Header: X-RestSvcSessionId Response: 200 Success Response Body: NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

76 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" UID="urn:veeam:BackupServer:50a1b2fbb90a-4e05-816f-e298eb2f995c"> <Links> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c?format=Entity" Name="backupserver" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials" /> </Links> </EntityRef>

/backupServers/{ID}/credentials
Represents a collection of credentials created on the Veeam backup server having the specified ID.

Resource URL
http://<Enterprise-Manager>:9399/api/backupServers/{ID}/credentials

Related Resources
/backupServers/{ID}/crede ntials/{ID}

Methods
The following methods are supported for the /backupServers/{ID}/credentials resource: (GET) /backupServers/{ID}/cre dentials (POST) /backupServers/{ID}/credentials

Resource Representation
The /backupServers/{ID}/credentials resource has a resource representation of the following type:
<CredentialsInfoList xmlns="http://www.veeam.com/ent/v1.0"> <CredentialsInfo Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c?format=Entity" Name="win-tw5" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-

77 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

e298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1" /> </Links> <Id>a45eb049-6f8d-49d4-9dba-4f1499f9d8d1</Id> <Username>root</Username> <Description>Credentials for ESX(i) and Linux hosts.</Description> <Password /> </CredentialsInfo> <CredentialsInfo Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c?format=Entity" Name="win-tw5" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682" /> </Links> <Id>d5e6816b-155d-4c2f-a555-4ad249fab682</Id> <Username>VEEAM\administrator</Username> <Description>Credentials for virtual infrastructure servers</Description> <Password /> </CredentialsInfo> </CredentialsInfoList>

(GET) /backupServers/{ID}/credentials
Returns a resource representation of the credentials collection created on the Veeam backup server with the specified ID.

Request
To get a list of credentials created on a specific Veeam backup server, you need to send the GET HTTP request to the URL of the /backupServers/{ID}/credentials resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/backupServers/{ID}/credentials

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None.

78 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Query Parameters The following parameters can be used in queries.


Parameter Type Description User name of the credentials record, for example: BACKUPSERVER/Administrator. Description of the credentials record, for example: Administrator credentials. ID of the Veeam backup server on which the credentials record has been created, for example: urn:veeam:BackupServer:15942270-fb56-4dcc-96e95f80e4725a15. ID of the credentials record, for example:3ff61155-ed3d47c5-a07b-29c7ca0d36b9. Can Be Used for Filtering True True Can Be Used for Sorting True True

Username Description BackupSer verUid Credentials Id

String String

URN

True

True

URN

True

True

Important!

The filter parameter is obligatory for the Credentials resource. In the query string, the client must provide a UID of the backup server on which the credentials record is created as a BackupServerUid=urn:veeam:BackupServer:UID value. For example, /query?type=credentials&filter=BackupServerUid==urn:veeam:BackupServer:15942270-fb56-4dcc-96e95f80e4725a15.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupServers/{ID}/credentials collection resource.

79 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a list of all credentials created on the Veeam backup server having ID 50a1b2fb-b90a-4e05-816f-e298eb2f995c.
Request : GET http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <CredentialsInfoList xmlns="http://www.veeam.com/ent/v1.0"> <CredentialsInfo Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c?format=Entity" Name="win-tw5" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1" /> </Links> <Id>a45eb049-6f8d-49d4-9dba-4f1499f9d8d1</Id> <Username>root</Username> <Description>Credentials for ESX(i) and Linux hosts.</Description> <Password /> </CredentialsInfo> <CredentialsInfo Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c?format=Entity" Name="win-tw5" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682" /> </Links> <Id>d5e6816b-155d-4c2f-a555-4ad249fab682</Id> <Username>veeam\administrator</Username> <Description>Credentials for virtual infrastructure servers</Description> <Password /> </CredentialsInfo> </CredentialsInfoList> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

80 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(POST) /backupServers/{ID}/credentials?action=create
Creates new credentials on the Veeam backup server having the specified ID.

Request
To create new credentials record on a specific Veeam backup server, you need to send the POST HTTP request to the /backupServers/{ID}/credentials?action=create URL. HTTP Request
POST http://<EnterpriseManager>:9399/api/backupServers/{ID}/credentials?action=create

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body In the request body, the client must send parameters for the new credentials record that should be created on the Veeam backup server. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. The request body must contain the following elements:
Element Username Description Password Type String String String Description User name of the added credentials record in the DOMAIN\USENAME format. Description of the added credentials record. Password of the added credentials. Modifiable Yes Yes Yes Min/Max Occurrence 0/1 0/1 0/1

For example:
<?xml version="1.0" encoding="utf-8"?> <CredentialsInfoSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Username>VEEAM\Administrator</Username> <Description>Created via RESTful API</Description> <Password>1234</Password> </CredentialsInfoSpec>

Query Parameters None.

81 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

Example
The example below adds a new credentials credentials record on the Veeam backup server having ID f62624c1-8462-4747-8bd4-d686f99b0540. The credentials have the following parameters: User name VEEAM\Administrator Password 1234 Description Credentials created via RESTful API
Request : POST http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials?action=create Request Header: X-RestSvcSessionId Request Body : <?xml version="1.0" encoding="utf-8"?> <CredentialsInfoSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Username>VEEAM\Administrator</Username> <Description>Credentials created via RESTful API</Description> <Password>1234</Password> </CredentialsInfoSpec> Response: 201 Created Response Body: None NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

82 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/backupServers/{ID}/credentials/{ID}
Represents a credentials record with the specified ID created on the Veeam backup server with the specified ID.

Resource URL
http://<Enterprise-Manager>:9399/api/backupServers/{ID}/credentials/{ID}

Related Resources
/backupServers

Methods
The following methods are supported for the /backupServers/{ID}/credentials/{ID} resource: (PUT) /backupServers/{ID}/credentials/{ID} (DELETE) /backupServers/{ID}/credentials/{ID}

Resource Representation
The /backupServers/{ID}/credentials/{ID} resource has a resource representation of the following type:
<CredentialsInfo xmlns="http://www.veeam.com/ent/v1.0" Type="Credentials" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials/70275b03-e805-49e1-9535-1867c62371e2"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540?format=Entity" Name="localhost" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials/70275b03-e805-49e1-9535-1867c62371e2" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials/70275b03-e805-49e1-9535-1867c62371e2" /> </Links> <Id>70275b03-e805-49e1-9535-1867c62371e2</Id> <Username>root</Username> <Description>FLR helper appliance credentials</Description> <Password /> </CredentialsInfo>

83 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(PUT) /backupServers/{ID}/credentials/{ID}
Edits a credentials record having specified ID on the Veeam backup server with the specified ID.

Request
To edit a credentials record, you need to send the PUT HTTP request to the URL of the /backupServers/{ID}/credentials/{ID} resource. HTTP Request
PUT http://<EnterpriseManager>:9399/api/backupServers/{ID}/credentials/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body In the request body, the client must send parameters for the record credentials that should be updated on the Veeam backup server. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. The request body must contain the following elements:
Element Username Description Password Type String String String Description User name of the edited credentials record in the DOMAIN\USENAME format. Description of the added credentials record. Password of the added credentials. Modifiable Yes Yes Yes Min/Max Occurrence 0/1 0/1 0/1

For example:
<?xml version="1.0" encoding="utf-8"?> <CredentialsInfoSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Username>VEEAM\Administrator</Username> <Description>Edited via RESTful API</Description> <Password>1234</Password> </CredentialsInfoSpec>

Query Parameters None.

84 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 204 No Content. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

Example
The example below updates the password parameter in the credentials record having ID c473b8df-449941b8-ba6b-7f76def6fea1 on the Veeam backup server with ID f62624c1-8462-4747-8bd4-d686f99b0540.
Request : PUT http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials/c473b8df-4499-41b8-ba6b-7f76def6fea1 Request Header: X-RestSvcSessionId Request Body : <?xml version="1.0" encoding="utf-8"?> <CredentialsInfo Href="http://localhost:9399/api/backupServers/f62624c18462-4747-8bd4-d686f99b0540/credentials/9a8fb433-cacd-4089-a97e437e99f128bc" Type="Credentials" xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Id>9a8fb433-cacd-4089-a97e-437e99f128bc</Id> <Description>Edited via RESTful API</Description> </CredentialsInfo> Response: 204 No Content NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

85 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(DELETE) /backupServers/{ID}/credentials/{ID}
Deletes a credentials record having the specified ID from the Veeam backup server with the specified ID.

Request
To remove a credentials record from the Veeam backup server, you need to send the DELETE HTTP request to the URL of the /backupServers/{ID}/credentials/{ID} resource. HTTP Request
DELETE http://<EnterpriseManager>:9399/api/backupServers/{ID}/credentials/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 204 No Content. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

86 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below removes a credentials record having ID c473b8df-4499-41b8-ba6b-7f76def 6fea1 on the Veeam backup server with ID f62624c1-8462-4747-8bd4-d686f99b0540.
Request : DELETE http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540/credentials/c473b8df-4499-41b8-ba6b-7f76def6fea1 Request Header: X-RestSvcSessionId Response: 204 No Content NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

Important!

You cannot delete credentials that are currently being used by any backup infrastructure component.

/repositories
Represents a collection of all backup repositories created on Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/repositories

Related Resources
/repositories/{ID}

Methods
The following methods are supported for the /repositories resource: (GET) /repositories

Resource Representation
The /repositories resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="RepositoryReference" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34" Name="Backup Volume1" UID="urn:veeam:Repository:0771a7310238-405c-9821-b4b6e7397b34"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34?format=Entity" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList"

87 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/replicas" /> </Links> </Ref> <Ref Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51" Name="Default Backup Repository" UID="urn:veeam:Repository:33f2c2f6-4461-4ffc-92b1-f07af6cf2f51"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51?format=Entity" Name="Default Backup Repository" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51/replicas" /> </Links> </Ref> </EntityReferences>

(GET) /repositories
Returns a resource representation of the collection of backup repositories created on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of repositories, you need to send the GET HTTP request to the URL of the /repositories resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/repositories

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client.

88 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /repositories resource collection.

Example
The example below returns a list of all backup repositories created on Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/repositories Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="RepositoryReference" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34" Name="Backup Volume1" UID="urn:veeam:Repository:0771a7310238-405c-9821-b4b6e7397b34"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34?format=Entity" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/replicas" /> </Links> </Ref> <Ref Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51" Name="Default Backup Repository" UID="urn:veeam:Repository:33f2c2f6-4461-4ffc-92b1-f07af6cf2f51"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

89 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51?format=Entity" Name="Default Backup Repository" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51/replicas" /> </Links> </Ref> </EntityReferences>

/repositories/{ID}
Represents a backup repository having the specified ID. The backup repository is created on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/repositories/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/ repositories/{ID}?Format=Entity

Related Resources
/backupServers/{ID} /backups /replicas

Methods
The following methods are supported for the /repositories/{ID} resource: (GET) /repositories/{ID}

Resource Representation
The /repositories /{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34" Name="Backup Volume1" UID="urn:veeam:Repository:0771a7310238-405c-9821-b4b6e7397b34"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-

90 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34?format=Entity" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/replicas" /> </Links> </EntityRef>

Entity resource representation:


<Repository xmlns="http://www.veeam.com/ent/v1.0" Type="Repository" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34?format=Entity" Name="Backup Volume1" UID="urn:veeam:Repository:0771a731-0238-405c-9821-b4b6e7397b34"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/replicas" /> </Links> <Capacity>212545302528</Capacity> <FreeSpace>78642466816</FreeSpace> </Repository>

(GET) /repositories/{ID}
Returns a resource representation of a backup repository having the specified ID. The backup repository is created on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Request
To get a backup repository, you need to send the GET HTTP request to the URL of the /repositories/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/repositories/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

91 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Type Description ID of the backup repository resource, for example: urn: veeam:Repository:b609c947-dd30-4295-8b57cc880329dbd6. Name of the backup repository, for example: Backups Vol2. Free space available on the backup repository. Total space available on the backup repository. ID of the Veeam backup server parent to the backup repository resource, for example: urn:veeam:BackupServer:15942270-fb56-4dcc-96e95f80e4725a15. Name of the Veeam backup server parent to the backup repository resource. for example: BACKUPSERVER. Can Be Used for Filtering True True True True Can Be Used for Sorting True True True True

Uid Name FreeSpace Capacity BackupServer Uid Backup ServerName

URN String Int64 Int64

URN

True

True

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /repositories/{ID} resource.

92 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a backup repository having ID 0771a731-0238-405c-9821-b4b6e7397b34
Request : GET http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34" Name="Backup Volume1" UID="urn:veeam:Repository:0771a7310238-405c-9821-b4b6e7397b34"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34?format=Entity" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821b4b6e7397b34/replicas" /> </Links> </EntityRef> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/jobs
Represents a collection of all jobs created on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/jobs

Related Resources
/jobs/{ID}

Methods
The following methods are supported for the /jobs resource: (GET) /jobs

93 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representation
The /jobs resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/d1b850182769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" UID="urn:veeam:Job:d1b85018-2769-45be-89bc-03f66b60e6cb"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/288a3c15fe00-42ad-9946-074ad0c2d97f" Name="Exchange Backup" UID="urn:veeam:Job:288a3c15-fe00-42ad-9946-074ad0c2d97f"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946074ad0c2d97f?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946074ad0c2d97f/backupSessions" /> </Links> </Ref> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/9134541690d4-4862-94a8-276659ce72cd" Name="Sharepoint Backup" UID="urn:veeam:Job:91345416-90d4-4862-94a8-276659ce72cd"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/91345416-90d4-4862-94a8276659ce72cd?format=Entity" Name="Sharepoint Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/91345416-90d4-4862-94a8276659ce72cd/backupSessions" /> </Links> </Ref> ... </Ref> </EntityReferences>

94 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /jobs
Returns a resource representation of a collection of jobs created on all Veeam backup servers that are connected to Veeam Backup Enterprise Manager.

Request
To get a list of jobs created on all Veeam backup servers connected to Veeam Backup Enterprise Manager, you need to send the GET HTTP request to the URL of the /jobs resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/jobs

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /jobs collection resource.

Example
The example below returns a list of all jobs created on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

95 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request : GET http://localhost:9399/api/jobs Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/d1b850182769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" UID="urn:veeam:Job:d1b85018-2769-45be-89bc-03f66b60e6cb"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/288a3c15fe00-42ad-9946-074ad0c2d97f" Name="Exchange Backup" UID="urn:veeam:Job:288a3c15-fe00-42ad-9946-074ad0c2d97f"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946074ad0c2d97f?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946074ad0c2d97f/backupSessions" /> </Links> </Ref> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/9134541690d4-4862-94a8-276659ce72cd" Name="Sharepoint Backup" UID="urn:veeam:Job:91345416-90d4-4862-94a8-276659ce72cd"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/91345416-90d4-4862-94a8276659ce72cd?format=Entity" Name="Sharepoint Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/91345416-90d4-4862-94a8276659ce72cd/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c34fce-4aa0-b022-29ac5b4dd29a" Name="Exchange Backup HV" UID="urn:veeam:Job:13b734c3-4fce-4aa0-b022-29ac5b4dd29a"> <Links> <Link Rel="Up" Type="BackupServerReference" NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

96 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b02229ac5b4dd29a?format=Entity" Name="Exchange Backup HV" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b02229ac5b4dd29a/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/d6a0240ef97e-40c1-84c8-445bd314d416" Name="Oracle Backup" UID="urn:veeam:Job:d6a0240e-f97e-40c1-84c8-445bd314d416"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/d6a0240e-f97e-40c1-84c8445bd314d416?format=Entity" Name="Oracle Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/d6a0240e-f97e-40c1-84c8445bd314d416/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c54d7-43fe-b047-485d3566f11f" Name="Fileservers Backup" UID="urn:veeam:Job:78c3919c-54d7-43fe-b047-485d3566f11f"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?format=Entity" Name="Fileservers Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/29edcb13aa21-4a56-b89b-bfb6f4b59f6e" Name="DC Backup" UID="urn:veeam:Job:29edcb13-aa21-4a56-b89b-bfb6f4b59f6e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/29edcb13-aa21-4a56-b89bbfb6f4b59f6e?format=Entity" Name="DC Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/29edcb13-aa21-4a56-b89bbfb6f4b59f6e/backupSessions" /> </Links> </Ref> </EntityReferences>

Note:

Currently the GET method returns jobs of the Backup and Replication types only.

97 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/jobs/{ID}
Represents a job having the specified ID.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/jobs/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/jobs/{ID}?Format=Entity

Related Resources
/backupServers/{ID} /jobSessions

Methods
The following methods are supported for the /jobs/{ID} resource: (GET) /jobs/{ID} (POST) /jobs/{ID}?action=edit (POST) /jobs/{ID}?action=start (POST) /jobs/{ID}?action=stop (POST) /jobs/{ID}?action=retry (POST) /jobs/{ID}?action=clone (POST) /jobs/{ID}?action=toggleSchedule Enabled

Resource Representation
The /jobs/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f" Name="Fileservers Backup" UID="urn:veeam:Job:78c3919c-54d743fe-b047-485d3566f11f"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?format=Entity" Name="Fileservers Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/backupSessions" /> </Links> </EntityRef>

98 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Entity resource representation:


<Job xmlns="http://www.veeam.com/ent/v1.0" Type="Job" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?format=Entity" Name="Fileservers Backup" UID="urn:veeam:Job:78c3919c-54d7-43fe-b047-485d3566f11f"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f" Name="Fileservers Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f" Name="Fileservers Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/78c3919c-54d743fe-b047-485d3566f11f?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/78c3919c-54d743fe-b047-485d3566f11f?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/78c3919c-54d743fe-b047-485d3566f11f?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/78c3919c-54d743fe-b047-485d3566f11f?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?action=toggleScheduleEnabled" /> </Links> <JobType>Backup</JobType> <Platform>VMware</Platform> <Description>Created by VEEAM\administrator at 7/19/2013 11:19:48 AM.</Description> <ScheduleConfigured>false</ScheduleConfigured> <ScheduleEnabled>true</ScheduleEnabled> <JobScheduleOptions> <RetryOptions> <RetryTimes>3</RetryTimes> <RetryTimeout>10</RetryTimeout> <RetrySpecified>true</RetrySpecified> </RetryOptions> <WaitForBackupCompletion>true</WaitForBackupCompletion> <BackupCompetitionWaitingPeriodMin>180</BackupCompetitionWaitingPeriodMin > <OptionsDaily Enabled="true"> <Kind>Everyday</Kind> <Days>Sunday</Days> <Days>Monday</Days> <Days>Tuesday</Days> <Days>Wednesday</Days> <Days>Thursday</Days> <Days>Friday</Days> <Days>Saturday</Days> <Time>22:00:00.0000000-07:00</Time> </OptionsDaily> <OptionsMonthly Enabled="false"> <Time>22:00:00.0000000-07:00</Time> <DayNumberInMonth>Fourth</DayNumberInMonth>

99 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<DayOfWeek>Saturday</DayOfWeek> <Months>January</Months> <Months>February</Months> <Months>March</Months> <Months>April</Months> <Months>May</Months> <Months>June</Months> <Months>July</Months> <Months>August</Months> <Months>September</Months> <Months>October</Months> <Months>November</Months> <Months>December</Months> </OptionsMonthly> <OptionsPeriodically Enabled="false"> <Kind>Hours</Kind> <FullPeriod>1</FullPeriod> <Schedule> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </Schedule> </OptionsPeriodically> <OptionsContinuous Enabled="false" /> <OptionsBackupWindow Enabled="false"> <TimePeriods> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </TimePeriods> </OptionsBackupWindow> <OptionsDaisyChaining Enabled="false"> <PreviousJobUid /> </OptionsDaisyChaining> </JobScheduleOptions> <JobInfo> <BackupJobInfo> <Includes> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/includes/1b6460b4-ebf8-48f4-af2b-0f5621c2f796"> <ObjectInJobId>1b6460b4-ebf8-48f4-af2b-0f5621c2f796</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c6c5dbb2efab2.vm-14911</HierarchyObjRef>

100 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Name>fileserver01</Name> <DisplayName>fileserver01</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/includes/6b7f2496-9e77-44f0-ad1c-569d5196bbbe"> <ObjectInJobId>6b7f2496-9e77-44f0-ad1c-569d5196bbbe</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c6c5dbb2efab2.vm-14699</HierarchyObjRef> <Name>fileserver02</Name> <DisplayName>fileserver02</DisplayName> <Order>1</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> </Includes> <GuestProcessingOptions> <AppAwareProcessingMode>Disabled</AppAwareProcessingMode> <FileSystemIndexingMode>Disabled</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </BackupJobInfo> </JobInfo> </Job>

101 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /jobs/{ID}
Returns a resource representation of the job resource having the specified ID.

Request
To get a resource representation of the job, you need to send the GET HTTP request to the URL of the /jobs/{ID} resource: HTTP Request
GET http://<Enterprise-Manager>:9399/api/jobs/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries:
Parameter Type Description ID of the job, for example: urn: veeam:Job:da7368154fea-4c8e-b0e1-5ecdbca1c512. Name of the job, for example: DC Replication. Description of the job specified at the time of the job creation. Date and time of the next job run. The parameter accepts only UTC-formatted DateTime values. Note that this parameter can be used for scheduled jobs only. Job type. Possible values: Backup Replica Platform for which the job is created. Possible values: VMware Hyperv vCloud Defines whether scheduling options are specified for the job. Possible values: True False Defines whether schedule is enabled for the job. Possible values: True False Can Be Used for Filtering True True True Can Be Used for Sorting True True True

Uid Name Description

URN String String DateTim e

NextRun

True

True

JobType

String

True

True

Platform

String

True

True

ScheduleC onfigured

Boolean

True

True

ScheduleEn abled

Boolean

True

True

102 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Parameter BackupSer verUid BackupSer verName

Type

Description

Can Be Used for Filtering True

Can Be Used for Sorting True

URN

ID of the Veeam backup server parent to the job resource. Name of the Veeam backup server parent to the job resource.

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /jobs/{ID} resource.

103 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns an entity resource representation of the job having ID 78c3919c-54d7-43feb047-485d3566f11f.
Request : GET http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <Job xmlns="http://www.veeam.com/ent/v1.0" Type="Job" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?format=Entity" Name="Fileservers Backup" UID="urn:veeam:Job:78c3919c-54d7-43fe-b047-485d3566f11f"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816fe298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f" Name="Fileservers Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f" Name="Fileservers Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/78c3919c-54d743fe-b047-485d3566f11f?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/78c3919c-54d743fe-b047-485d3566f11f?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/78c3919c-54d743fe-b047-485d3566f11f?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/78c3919c-54d743fe-b047-485d3566f11f?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?action=toggleScheduleEnabled" /> </Links> <JobType>Backup</JobType> <Platform>VMware</Platform> <Description>Created by VEEAM\administrator at 7/19/2013 11:19:48 AM.</Description> <ScheduleConfigured>false</ScheduleConfigured> <ScheduleEnabled>true</ScheduleEnabled> <JobScheduleOptions> <RetryOptions> <RetryTimes>3</RetryTimes> <RetryTimeout>10</RetryTimeout> <RetrySpecified>true</RetrySpecified> </RetryOptions> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

104 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<WaitForBackupCompletion>true</WaitForBackupCompletion> <BackupCompetitionWaitingPeriodMin>180</BackupCompetitionWaitingPeriodMin > <OptionsDaily Enabled="true"> <Kind>Everyday</Kind> <Days>Sunday</Days> <Days>Monday</Days> <Days>Tuesday</Days> <Days>Wednesday</Days> <Days>Thursday</Days> <Days>Friday</Days> <Days>Saturday</Days> <Time>22:00:00.0000000-07:00</Time> </OptionsDaily> <OptionsMonthly Enabled="false"> <Time>22:00:00.0000000-07:00</Time> <DayNumberInMonth>Fourth</DayNumberInMonth> <DayOfWeek>Saturday</DayOfWeek> <Months>January</Months> <Months>February</Months> <Months>March</Months> <Months>April</Months> <Months>May</Months> <Months>June</Months> <Months>July</Months> <Months>August</Months> <Months>September</Months> <Months>October</Months> <Months>November</Months> <Months>December</Months> </OptionsMonthly> <OptionsPeriodically Enabled="false"> <Kind>Hours</Kind> <FullPeriod>1</FullPeriod> <Schedule> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </Schedule> </OptionsPeriodically> <OptionsContinuous Enabled="false" /> <OptionsBackupWindow Enabled="false"> <TimePeriods> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day

105 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </TimePeriods> </OptionsBackupWindow> <OptionsDaisyChaining Enabled="false"> <PreviousJobUid /> </OptionsDaisyChaining> </JobScheduleOptions> <JobInfo> <BackupJobInfo> <Includes> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/includes/1b6460b4-ebf8-48f4-af2b-0f5621c2f796"> <ObjectInJobId>1b6460b4-ebf8-48f4-af2b-0f5621c2f796</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c6c5dbb2efab2.vm-14911</HierarchyObjRef> <Name>fileserver01</Name> <DisplayName>fileserver01</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/includes/6b7f2496-9e77-44f0-ad1c-569d5196bbbe"> <ObjectInJobId>6b7f2496-9e77-44f0-ad1c-569d5196bbbe</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c6c5dbb2efab2.vm-14699</HierarchyObjRef> <Name>fileserver02</Name> <DisplayName>fileserver02</DisplayName> <Order>1</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> </Includes> <GuestProcessingOptions> <AppAwareProcessingMode>Disabled</AppAwareProcessingMode> <FileSystemIndexingMode>Disabled</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders>

106 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<CredentialsId /> </GuestProcessingOptions> </BackupJobInfo> </JobInfo> </Job>

(POST) /jobs/{ID}?action=edit
Starts a job having the specified ID.

Request
To start a job, you need to send the POST HTTP request to the /jobs/{ID}?action=edit URL. HTTP Request
POST http://<Enterprise-Manager>:9399/api/jobs/{ID}?action=edit

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body In the request body, the client must send the parameters for the edited job. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. The request body must contain the elements you want to edit:
Element Description Schedule Configured Schedule Enabled Type String Boolean Description Description provided for the job. Defines whether scheduling options are configured for the job. Defines whether scheduling is enabled for the job. If you set this option to True, you need to define the schedule by which the job should run in the JobScheduleOptions parameter. Modifiable Yes Yes Min/Max Occurrence 0/1 0/1

Boolean

Yes

0/1

For example:
<?xml version="1.0" encoding="utf-8"?> <Job Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512?format=Entity" Type="Job" Name="DC Backup" UID="urn:veeam:Job:da736815-4fea-4c8e-b0e1-5ecdbca1c512" xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Links> <Link Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" Type="BackupServerReference" Rel="Up"/>

107 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512" Name="DC Backup" Type="JobReference" Rel="Alternate"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512/backupSessions" Type="BackupJobSessionReferenceList" Rel="Down"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512/includes" Type="ObjectInJobList" Rel="Down"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512" Name="DC Backup" Type="JobReference" Rel="Edit"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512/includes" Type="ObjectInJob" Rel="Create"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512?action=start" Rel="Start"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512?action=stop" Rel="Stop"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512?action=retry" Rel="Retry"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512?action=clone" Rel="Clone"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512?action=toggleScheduleEnabled" Rel="ToggleScheduleEnabled"/> </Links> <JobType>Backup</JobType> <Platform>VMware</Platform> <Description>Created by VEEAMBACKUP\Administrator at 8/22/2013 2:47:36 AM.</Description> <ScheduleConfigured>false</ScheduleConfigured> <ScheduleEnabled>true</ScheduleEnabled> <JobScheduleOptions> <RetryOptions> <RetryTimes>3</RetryTimes> <RetryTimeout>10</RetryTimeout> <RetrySpecified>true</RetrySpecified> </RetryOptions> <WaitForBackupCompletion>true</WaitForBackupCompletion> <BackupCompetitionWaitingPeriodMin>180</BackupCompetitionWaitingPeriodMin > <OptionsDaily Enabled="true"> <Kind>Everyday</Kind> <Days>Sunday</Days> <Days>Monday</Days> <Days>Tuesday</Days> <Days>Wednesday</Days> <Days>Thursday</Days> <Days>Friday</Days> <Days>Saturday</Days> <Time>22:00:00.0000000-07:00</Time> </OptionsDaily> <OptionsMonthly Enabled="false"> <Time>22:00:00.0000000-07:00</Time> <DayNumberInMonth>Fourth</DayNumberInMonth> <DayOfWeek>Saturday</DayOfWeek> <Months>January</Months> <Months>February</Months> <Months>March</Months> <Months>April</Months> <Months>May</Months> <Months>June</Months> <Months>July</Months> <Months>August</Months> <Months>September</Months> <Months>October</Months> <Months>November</Months> <Months>December</Months> </OptionsMonthly>

108 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<OptionsPeriodically Enabled="false"> <Kind>Hours</Kind> <FullPeriod>1</FullPeriod> <Schedule> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </Schedule> </OptionsPeriodically> <OptionsContinuous Enabled="false"/> <OptionsBackupWindow Enabled="false"> <TimePeriods> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </TimePeriods> </OptionsBackupWindow> <OptionsDaisyChaining Enabled="false"> <PreviousJobUid/> </OptionsDaisyChaining> </JobScheduleOptions> <JobInfo> <BackupJobInfo> <Includes> <ObjectInJob Href="http://localhost:9399/api/jobs/da736815-4fea-4c8eb0e1-5ecdbca1c512/includes/e310aa12-eff2-41f4-97c8-631b677fc17f" Type="ObjectInJob"> <ObjectInJobId>e310aa12-eff2-41f4-97c8-631b677fc17f</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:3e7fea0c-e92d-4459-98420304df34c644.vm-2831</HierarchyObjRef> <Name>DC</Name> <DisplayName>DC</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders/> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId/>

109 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</GuestProcessingOptions> </ObjectInJob> </Includes> <GuestProcessingOptions> <AppAwareProcessingMode>Disabled</AppAwareProcessingMode> <FileSystemIndexingMode>Disabled</FileSystemIndexingMode> <IncludedIndexingFolders/> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId/> </GuestProcessingOptions> </BackupJobInfo> </JobInfo> </Job>

Job Scheduling Options You can define the following scheduling options for the job:
Element RetryOptions WaitForBackup Completion Backup Competition Waiting PeriodMin OptionsDaily JobScheduleDaily OptionsType JobScheduleMonthly OptionsType Int64 Time period in minutes for which the job must wait for the backup completion. Daily backup options set for the job. To learn more, see Daily Backup Scheduling Options. Monthly backup options set for the job. To learn more, see Yes 0/1 Type JobScheduleRetry OptionsType Description Retry options set for the job. To learn more, see Retry Options. This parameter is set for SureBackup jobs. Defines whether the job must wait for the corresponding backup or replication job to launch. Modifiable Yes Min/Max Occurrence

Boolean

Yes

0/1

Yes

0/1

OptionsMonthly

Monthly Backup Scheduling Options.


Periodic backup options set for the job. To learn more, see

Yes

0/1

Options Periodically Options Continuous OptionsBackup Window OptionsDaisy Chaining

JobSchedulePeriodic allyOptionsType

Periodic Backup Scheduling Options.


Defines whether the job must be run in a continuous manner. Backup window options set for the job. To learn more, see Backup Window Options. Defines whether backup job chaining is enabled for the job. To learn more, see Job

Yes

0/1

Boolean JobScheduleBackup WindowOptionsType JobScheduleDaisy ChainingOptionsType

Yes

0/1

Yes

0/1

Yes

0/1

Chaining Options Retry Options

110 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Retry options are provided in the following format:


<RetryOptions> <RetryTimes>3</RetryTimes> <RetryTimeout>10</RetryTimeout> <RetrySpecified>true</RetrySpecified> </RetryOptions>

You can define the following daily scheduling options for the job:
Element RetryTimes RetryTimeo ut RetrySpecif ied Type Int64 Int64 Description Number of retries set for the job. Time interval between job retries Modifiable Yes Yes Min/Max Occurrence 0/1 0/1

Boolean

Defines whether retry options are set for the job.

Yes

0/1

Daily Backup Scheduling Options Daily scheduling options are provided in the following format:
<OptionsDaily Enabled="true"> <Kind>Everyday</Kind> <Days>Sunday</Days> <Days>Monday</Days> <Days>Tuesday</Days> <Days>Wednesday</Days> <Days>Thursday</Days> <Days>Friday</Days> <Days>Saturday</Days> <Time>22:00:00.0000000-07:00</Time> </OptionsDaily>

111 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

You can define the following daily scheduling options for the job:
Element Enabled Type Boolean Description Defines whether daily scheduling options are specified for the job. Kind of daily scheduling scheme. Possible values: Everyday WeekDays SelectedDays Days on which the job must be launched. Possible values: Sunday Monday Tuesday Wednesday Thursday Friday Saturday Daily time interval within which the job session should be completed. Modifiable Yes Min/Max Occurrence

Kind

String

Yes

0/1

Days

DaysOfWeek Enumeration

Yes

0/unbounded

Time

Time

Yes

0/1

Monthly Backup Scheduling Options Monthly scheduling options are provided in the following format:
<OptionsMonthly Enabled="false"> <Time>22:00:00.0000000-07:00</Time> <DayNumberInMonth>Fourth</DayNumberInMonth> <DayOfWeek>Saturday</DayOfWeek> <Months>January</Months> <Months>February</Months> <Months>March</Months> <Months>April</Months> <Months>May</Months> <Months>June</Months> <Months>July</Months> <Months>August</Months> <Months>September</Months> <Months>October</Months> <Months>November</Months> <Months>December</Months> </OptionsMonthly>

112 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

You can define the following daily scheduling options for the job:
Element Enabled DayNumber InMonth Type Boolean String Description Defines whether monthly scheduling options are specified for the job. Day in month on which the backup job must be launched. Days on which the job must be launched. Possible values: Sunday Monday Tuesday Wednesday Thursday Friday Saturday Months on which the job must be launched. Possible values: January February March April May June July August September October November December Modifiable Yes Yes Min/Max Occurrence 0/1

DayOf Week

String

Yes

0/ unbounded

Months

JobSchedule Month Enumeration

Yes

0/ unbounded

Periodic Backup Scheduling Options Periodic scheduling options are provided in the following format:
<OptionsPeriodically Enabled="false"> <Kind>Hours</Kind> <FullPeriod>1</FullPeriod> <Schedule> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </Schedule> </OptionsPeriodically>

113 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

You can define the following monthly scheduling options for the job:
Element Enabled FullPeriod Type Boolean Int64 Description Defines whether periodic scheduling options are specified for the job. Defines periodic cycles (in hours) in which the job must be launched. Defines an hourly scheme by which the job must be launched. The scheduling scheme is constructed by the following pattern: <Day Name ="Sunday"> 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> where 1 means the job must be started, 0 means the job must not be started. Modifiable Yes Yes Min/Max Occurrence 0/1

Schedule

Time Periods Type

Yes

0/unbounded

Backup Window Options Backup window options are provided in the following format:
<OptionsBackupWindow Enabled="false"> <TimePeriods> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day> </TimePeriods> </OptionsBackupWindow>

You can define the following monthly scheduling options for the job:
Element Enabled Type Boolean Description Defines whether backup window options are specified for the job. Defines an hourly scheme for the backup window. The scheduling scheme is constructed by the following pattern: <Day Name ="Sunday"> 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day > where 1 means the job must be started, 0 means the job must not be started. Modifiable Yes Min/Max Occurrence

TimePeriods

Time Periods Type

Yes

0/unbounded

114 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Job Chaining Options Job chaining options are provided in the following format:
<OptionsDaisyChaining Enabled="true"> <PreviousJobUid></PreviousJobUid> </OptionsDaisyChaining>

You can define the following monthly scheduling options for the job:
Element Enabled Previous JobUid Type Boolean URN Description Defines whether job chaining is enabled. ID of the previous job in the chain, for example: veeam:Job:da736815-4fea-4c8e-b0e15ecdbca1c512 Modifiable Yes Yes Min/Max Occurrence 1/1

Tip:

In the request body, you can send all resource properties or only those properties that you want to edit. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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 changes the number of retries to 5 for the job having ID 78c3919c-54d7-43fe-b047485d3566f11f.
Request : POST http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?action=edit Request Header:

115 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

X-RestSvcSessionId Request Body :

NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

<?xml version="1.0" encoding="utf-8"?> <Job Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb?format=Entity" Type="Job" Name="SQL Backup HV" UID="urn:veeam:Job:d1b85018-2769-45be-89bc-03f66b60e6cb" xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RetryOptions> <RetryTimes>5</RetryTimes> <RetryTimeout>10</RetryTimeout> </Job> 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>EditJob</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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>EditJob</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

116 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(POST) /jobs/{ID}?action=start
Starts a job having the specified ID.

Request
To start a job, you need to send the POST HTTP request to the /jobs/{ID}?action=start URL. HTTP Request
POST http://<Enterprise-Manager>:9399/api/jobs/{ID}?action=start

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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.

117 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below starts a job having ID 78c3919c-54d7-43fe-b047-485d3566f11f.
Request : POST http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?action=start Request Header: X-RestSvcSessionId 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>StartJob</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>StartJob</Operation> <Result Success="true"> <Message>Job "Fileservers Backup" triggered to start.</Message> </Result> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

118 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(POST) /jobs/{ID}?action=stop
Stops the job having the specified ID.

Request
To stop a job, you need to send the POST HTTP request to the /jobs/{ID}?action=stop URL. HTTP Request
POST http://<Enterprise-Manager>:9399/api/jobs/{ID}?action=stop

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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.

119 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below stops a job having ID 78c3919c-54d7-43fe-b047-485d3566f11f.
Request : POST http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?action=stop Request Header: X-RestSvcSessionId 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>StopJob</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>StopJob</Operation> <Result Success="true"> <Message>Job "Fileservers Backup" triggered to stop.</Message> </Result> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

120 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(POST) /jobs/{ID}?action=retry
Retries a failed job having the specified ID. The retry action can be performed only for jobs that have been finished with the Failed status.

Request
To retry a job, you need to send the POST HTTP request to the /jobs/{ID}?action=retry URL. HTTP Request
POST http://<Enterprise-Manager>:9399/api/jobs/{ID}?action=retry

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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.

121 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below retries a job having ID 78c3919c-54d7-43fe-b047-485d3566f11f.
Request : POST http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?action=retry Request Header: X-RestSvcSessionId 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>RetryJob</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>RetryJob</Operation> <Result Success="true"> <Message>Job "Fileservers Backup" triggered to retry.</Message> </Result> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

122 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(POST) /jobs/{ID}?action=clone
Creates a copy of the job having the specified ID. The cloned job is registered on the same Veeam backup server where the initial job is created.

Request
To clone a job, you need to send the POST HTTP request to the /jobs/{ID}?action=clone URL. HTTP Request
POST http://<Enterprise-Manager>:9399/api/jobs/{ID}?action=clone

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body In the request body, the client must send the parameters for the cloned job. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. The request body must contain the following elements:
Element JobName FolderName Repository Uid Type String String URN Description Name of the new cloned job. Name of the backup file/replica that will be created by the cloned job. ID of the backup repository to which the backup file/replica metadata will be written. Modifiable Yes Yes No Min/Max Occurrence 1/1 1/1 1/1

For example:
<?xml version="1.0" encoding="utf-8"?> <JobCloneSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BackupJobCloneInfo> <JobName>FileServers Backup Cloned</JobName> <FolderName>Cloned Job</FolderName> <RepositoryUid>urn:veeam:Repository:f21760f3-09c7-4a72-8864d1b4eed4b551</RepositoryUid> </BackupJobCloneInfo> </JobCloneSpec>

Query Parameters None.

123 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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.

124 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below clones a job having ID 78c3919c-54d7-43fe-b047-485d3566f11f.
Request : POST http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?action=clone Request Header: X-RestSvcSessionId Request Body : <?xml version="1.0" encoding="utf-8"?> <JobCloneSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <BackupJobCloneInfo> <JobName>FileServers Backup Cloned</JobName> <FolderName>Cloned Job</FolderName> <RepositoryUid>urn:veeam:Repository:f21760f3-09c7-4a72-8864d1b4eed4b551</RepositoryUid> </BackupJobCloneInfo> </JobCloneSpec> 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>CloneJob</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Related" Type="Job" NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

125 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/jobs/56582f3f-12ae-405d-8921ed741f74dc02?format=Entity" Name="FileServers Backup Cloned" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>CloneJob</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task>

(POST) /jobs/{ID}?action=toggleScheduleEnabled
Disables or enables a job having the specified ID. A disabled job remains in the list of created jobs on the Veeam backup server but is not run according to specified job scheduling settings. To enable a job, you need to perform the Disable operation once again.

Request
To disable or enable a job, you need to send the POST HTTP request to the /jobs/{ID}?action=toggleScheduleEnabled URL. HTTP Request
POST http://<EnterpriseManager>:9399/api/jobs/{ID}?action=toggleScheduleEnabled

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

126 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

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 retries a job having ID 78c3919c-54d7-43fe-b047-485d3566f11f.
Request : POST http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f?action=toggleScheduleEnabled Request Header: X-RestSvcSessionId 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>UpdateJob</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

127 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>UpdateJob</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/jobs/{ID}/includes
Represents a list of VMs and VM containers processed by the job.

Resource URL
http://<Enterprise-Manager>:9399/api/jobs/{ID}/includes

Related Resources
/jobs/{ID} /jobs/{ID}/includes/{ID}

128 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Methods
The following methods are supported for the /jobs/{ID}/include resource: (GET) /jobs/{ID}/includes (POST) /jobs/{ID}/includes

Resource Representation
The /jobs/{ID}/include resource has a resource representation of the following type:
<ObjectsInJob xmlns="http://www.veeam.com/ent/v1.0"> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/includes/561bce0c-9435-4cc2-9e03-1f65cd031c10"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/includes/561bce0c-9435-4cc2-9e03-1f65cd031c10" Name="sql01srv" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> </Links> <ObjectInJobId>561bce0c-9435-4cc2-9e03-1f65cd031c10</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:70aa9075-ca31-43bd-99ccf888b969799b.c44a8307-3bf0-4ab3-bc43-977775ec7174</HierarchyObjRef> <Name>sql01-srv</Name> <DisplayName>sql01-srv</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9" Name="sql02srv" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> </Links> <ObjectInJobId>27a1d57f-7c15-43c6-9162-d05aff1c9bb9</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:70aa9075-ca31-43bd-99ccf888b969799b.cffe9eee-4618-4c3e-b987-32c915edc382</HierarchyObjRef> <Name>sql02-srv</Name> <DisplayName>sql02-srv</DisplayName> <Order>1</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode>

129 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> </ObjectsInJob>

(GET) /jobs/{ID}/includes
Returns a list of VMs and VM containers processed by the job having the specified ID.

Request
To get a list of all VMs and VM containers processed by the job, you need to send the GET HTTP request to the URL of the /jobs/{ID}/includes resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/jobs/{ID}/includes

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Type Description ID of the VM or VM container processed by the job, for example: e310aa12-eff2-41f4-97c8-631b677fc17f. Name of the VM or VM container processed by the job. for example: DC-SRV. Order number for processing the VM or VM container by the job. The processing sequence starts with 0. ID of the backup or replication job parent to the VM or VM container resource, for example: urn:veeam:Job:da736815-4fea-4c8e-b0e15ecdbca1c512. Can Be Used for Filtering True True Can Be Used for Sorting True True

Uid Name

String String

Order

Int64

True

True

JobUid

URN

True

True

130 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Parameter

Type

Description

Can Be Used for Filtering

Can Be Used for Sorting

JobName

String

Name of the backup or replication job parent to the VM or VM container resource, for example: DC Backup. ID of the Veeam backup server to which the hierarchy root parent for the VM or VM container resource has been added, for example: urn:veeam:BackupServer:15942270-fb56-4dcc-96e95f80e4725a15. Name of the Veeam backup server to which the hierarchy root parent for the VM or VM container resource has been added, for example: BACKUPSERVER.

True

True

Backup ServerUid

URN

True

True

Backup ServerName

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /jobs/{ID}/includes collection resource.

131 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
A sample request below returns a list of VMs and VM containers processed by the job having ID 78c3919c54d7-43fe-b047-485d3566f11f.
Request : GET http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047485d3566f11f/includes Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <ObjectsInJob xmlns="http://www.veeam.com/ent/v1.0"> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/includes/561bce0c-9435-4cc2-9e03-1f65cd031c10"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/includes/561bce0c-9435-4cc2-9e03-1f65cd031c10" Name="sql01srv" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> </Links> <ObjectInJobId>561bce0c-9435-4cc2-9e03-1f65cd031c10</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:70aa9075-ca31-43bd-99ccf888b969799b.c44a8307-3bf0-4ab3-bc43-977775ec7174</HierarchyObjRef> <Name>sql01-srv</Name> <DisplayName>sql01-srv</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9" Name="sql02srv" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> </Links> <ObjectInJobId>27a1d57f-7c15-43c6-9162-d05aff1c9bb9</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:70aa9075-ca31-43bd-99ccNDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

132 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

f888b969799b.cffe9eee-4618-4c3e-b987-32c915edc382</HierarchyObjRef> <Name>sql02-srv</Name> <DisplayName>sql02-srv</DisplayName> <Order>1</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> </ObjectsInJob>

(POST) /jobs/{ID}/includes
Adds a VM or a VM container to the job.

Request
To add a VM or VM container to the job, you need to send the POST HTTP request to the URL of the /jobs/{ID}/includes resource. HTTP Request
POST http://<Enterprise-Manager>:9399/api/jobs/{ID}/includes

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body In the request body, the client must send parameters of the VM or VM container you want to add to the job. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. The request body must contain the following elements:
Element Type Description Reference to the VM or VM container added to the job. The reference can be constructed manually or obtained with the lookup service . Name of the VM or VM container added to the job. Modifiable Min/Max Occurrence

HierarchyObjRef

Hierarchy ObjRefType

Yes

1/1

Hierarchy ObjName

String

No

1/1

133 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Element

Type

Description Order in which the VM or VM container should be processed by the job. The processing sequence starts with 0. Options for application-aware image processing.

Modifiable

Min/Max Occurrence 0/1

Order GuestProcessing Options

Int64 Guest Processing Options Type

Yes

Yes

0/1

You can define the following guest processing options for the job:
Element Type Description Mode of application aware image processing. Possible values: RequireSuccess IgnoreFailures Disabled File indexing options. Possible values: EveryFolders SpecifiedFolders ExceptSpecifiedFolders List of folders that must be indexed. This parameter should be specified if the SpecifiedFolders option is passed in the FileSystemIndexingMode parameter. List of folders that must be excluded from indexing. This parameter should be specified if the ExceptSpecifiedFolders option is passed in the FileSystemIndexingMode parameter. Guest OS credentials for starting the indexing runtime process. Modifiable Min/Max Occurrence

AppAware ProcessingMode

String

Yes

FileSystem IndexingMode Included IndexingFolders

String

Yes

StringList Type

Yes

Excluded IndexingFolders CredentialsId

StringList Type

String

Yes

0/1

For example:
<?xml version="1.0" encoding="utf-8"?> <CreateObjectInJobSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <HierarchyObjRef>urn:VMware:VM:00000000-0000-0000-0000-000000000000.vm10266</HierarchyObjRef> <HierarchyObjName>exch02</HierarchyObjName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders/> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId/> </GuestProcessingOptions> </CreateObjectInJobSpec>

Query Parameters None.

134 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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 adds a VM having MoID vm-10266 to the job having ID f365fbd8-fbd2-43ad-9f7ac87cd390a0d9.
Request : POST http://localhost:9399/api/jobs/f365fbd8-fbd2-43ad-9f7ac87cd390a0d9/includes Request Header: X-RestSvcSessionId Request Body : <?xml version="1.0" encoding="utf-8"?> <CreateObjectInJobSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <HierarchyObjRef>urn:VMware:VM:00000000-0000-0000-0000-000000000000.vm10266</HierarchyObjRef> <HierarchyObjName>exch02</HierarchyObjName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders/> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId/> </GuestProcessingOptions> </CreateObjectInJobSpec> Response: NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

135 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

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>UpdateJob</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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-11</TaskId> <State>Running</State> <Operation>UpdateJob</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

136 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/jobs/{ID}/includes/{ID}
Represents a VM or a VM container having the specified ID and is processed by the job with the specified ID.

Resource URL
http://<Enterprise-Manager>:9399/api/jobs/{ID}/includes/{ID}

Related Resources
/jobs/{ID} /jobs/{ID}/includes

Methods
The following methods are supported for the /jobs/{ID}/includes/{ID} resource: (DELETE) /jobs/{ID}/includes/{ID}

Resource Representation
The /jobs/{ID}/includes/{ID} resource has a resource representation of the following type:
<ObjectsInJob xmlns="http://www.veeam.com/ent/v1.0"> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946074ad0c2d97f/includes/eddec4df-493a-48f5-b970-97e73cc65397"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946074ad0c2d97f/includes/eddec4df-493a-48f5-b970-97e73cc65397" Name="albaexch01" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946074ad0c2d97f?format=Entity" Name="Exchange Backup" /> </Links> <ObjectInJobId>eddec4df-493a-48f5-b970-97e73cc65397</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c-6c5dbb2efab2.vm3198</HierarchyObjRef> <Name>exch01</Name> <DisplayName>exch01</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> </ObjectsInJob>

137 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(DELETE) /jobs/{ID}/includes/{ID}
Deletes a VM or a VM container that has the specified ID and is processed by the job with the specified ID.

Request
To remove a VM or a VM container from the job so that the VM or VM container is no longer processed, you need to send the DELETE HTTP request to the URL of the /jobs/{ID}/includes/{ID} resource. HTTP Request
DELETE http://<Enterprise-Manager>:9399/api/jobs/{ID}/includes/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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.

138 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below removes a VM having ID 27a1d57f-7c15-43c6-9162-d05aff 1c9bb9 from the job having ID d1b85018-2769-45be-89bc-03f66b60e6cb.
Request : DELETE http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9 Request Header: X-RestSvcSessionId 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>UpdateJob</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>UpdateJob</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

139 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/backupSessions
Represents a list of all sessions for all backup jobs on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/backupSessions

Related Resources
/backupSessions/{ID}

Methods
The following methods are supported for the /backupSessions resource: (GET) /backupSessions

Resource Representation
The /backupSession resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e" Name="Exchange Backup HV@2013-08-08 13:45:36" UID="urn:veeam:BackupJobSession:b9750ea7-51e2-4bee-9875-16fec36eaa1e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b02229ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e?format=Entity" Name="Exchange Backup HV@2013-08-08 13:45:36" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb51c3b0271729" Name="SQL Backup HV@2013-08-09 10:24:32" UID="urn:veeam:BackupJobSession:51c98271-3ec9-4f6d-a6fb-51c3b0271729"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb51c3b0271729?format=Entity" Name="SQL Backup HV@2013-08-09 10:24:32" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb51c3b0271729/taskSessions" />

140 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0672ee10e08fa" Name="SQL Backup HV@2013-08-08 13:45:15" UID="urn:veeam:BackupJobSession:156802f7-2dee-4e5e-a5f0-672ee10e08fa"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0672ee10e08fa?format=Entity" Name="SQL Backup HV@2013-08-08 13:45:15" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0672ee10e08fa/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a0576cd81aa92991" Name="SQL Backup HV@2013-08-09 10:36:36" UID="urn:veeam:BackupJobSession:11b8d3b6-9d81-4665-a057-6cd81aa92991"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a0576cd81aa92991?format=Entity" Name="SQL Backup HV@2013-08-09 10:36:36" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a0576cd81aa92991/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0bd51d9fd12c8" Name="Exchange Backup HV@2013-08-09 06:13:46" UID="urn:veeam:BackupJobSession:84c217e9-3e94-4e1b-9cb0-bd51d9fd12c8"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b02229ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0bd51d9fd12c8?format=Entity" Name="Exchange Backup HV@2013-08-09 06:13:46" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0bd51d9fd12c8/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94adc0168ff1b94a" Name="SQL Backup HV@2013-08-09 10:41:48" UID="urn:veeam:BackupJobSession:c60369a7-ce41-43fa-94ad-c0168ff1b94a"> <Links> <Link Rel="Up" Type="BackupServerReference"

141 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94adc0168ff1b94a?format=Entity" Name="SQL Backup HV@2013-08-09 10:41:48" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94adc0168ff1b94a/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcbdb3103a80267" Name="DC Backup@2013-08-08 13:44:40" UID="urn:veeam:BackupJobSession:5bc039dc-a077-4266-9bcb-db3103a80267"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/29edcb13-aa21-4a56-b89bbfb6f4b59f6e" Name="DC Backup" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcbdb3103a80267?format=Entity" Name="DC Backup@2013-08-08 13:44:40" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcbdb3103a80267/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2df3cad759ee4c" Name="SQL Backup HV@2013-08-09 10:29:45" UID="urn:veeam:BackupJobSession:ba04e584-8dda-4a5d-8b2d-f3cad759ee4c"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2df3cad759ee4c?format=Entity" Name="SQL Backup HV@2013-08-09 10:29:45" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2df3cad759ee4c/taskSessions" /> </Links> </Ref> </EntityReferences>

(GET) /backupSessions
Returns a resource representation of a collection of sessions for all backup jobs on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of all sessions for backup job, you need to send the GET HTTP request to the URL of the /backupSessions resource.

142 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

HTTP Request
GET http://<Enterprise-Manager>:9399/api/backupSessions

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupSessions resource.

Example
The example below returns a list of sessions for backup jobs on all Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/backupSessions Request Header: X-RestSvcSessionId Response: 200 Success NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

143 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e" Name="Exchange Backup HV@2013-08-08 13:45:36" UID="urn:veeam:BackupJobSession:b9750ea7-51e2-4bee-9875-16fec36eaa1e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b02229ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e?format=Entity" Name="Exchange Backup HV@2013-08-08 13:45:36" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb51c3b0271729" Name="SQL Backup HV@2013-08-09 10:24:32" UID="urn:veeam:BackupJobSession:51c98271-3ec9-4f6d-a6fb-51c3b0271729"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb51c3b0271729?format=Entity" Name="SQL Backup HV@2013-08-09 10:24:32" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb51c3b0271729/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0672ee10e08fa" Name="SQL Backup HV@2013-08-08 13:45:15" UID="urn:veeam:BackupJobSession:156802f7-2dee-4e5e-a5f0-672ee10e08fa"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0672ee10e08fa?format=Entity" Name="SQL Backup HV@2013-08-08 13:45:15" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0672ee10e08fa/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a0576cd81aa92991" Name="SQL Backup HV@2013-08-09 10:36:36" UID="urn:veeam:BackupJobSession:11b8d3b6-9d81-4665-a057-6cd81aa92991"> <Links>

144 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a0576cd81aa92991?format=Entity" Name="SQL Backup HV@2013-08-09 10:36:36" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a0576cd81aa92991/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0bd51d9fd12c8" Name="Exchange Backup HV@2013-08-09 06:13:46" UID="urn:veeam:BackupJobSession:84c217e9-3e94-4e1b-9cb0-bd51d9fd12c8"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b02229ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0bd51d9fd12c8?format=Entity" Name="Exchange Backup HV@2013-08-09 06:13:46" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0bd51d9fd12c8/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94adc0168ff1b94a" Name="SQL Backup HV@2013-08-09 10:41:48" UID="urn:veeam:BackupJobSession:c60369a7-ce41-43fa-94ad-c0168ff1b94a"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94adc0168ff1b94a?format=Entity" Name="SQL Backup HV@2013-08-09 10:41:48" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94adc0168ff1b94a/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcbdb3103a80267" Name="DC Backup@2013-08-08 13:44:40" UID="urn:veeam:BackupJobSession:5bc039dc-a077-4266-9bcb-db3103a80267"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/29edcb13-aa21-4a56-b89bbfb6f4b59f6e" Name="DC Backup" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcb-

145 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

db3103a80267?format=Entity" Name="DC Backup@2013-08-08 13:44:40" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcbdb3103a80267/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2df3cad759ee4c" Name="SQL Backup HV@2013-08-09 10:29:45" UID="urn:veeam:BackupJobSession:ba04e584-8dda-4a5d-8b2d-f3cad759ee4c"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2df3cad759ee4c?format=Entity" Name="SQL Backup HV@2013-08-09 10:29:45" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2df3cad759ee4c/taskSessions" /> </Links> </Ref> </EntityReferences>

/backupSessions/{ID}
Represents a backup job session having the specified ID.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/backupSessions/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/backupSessions/{ID}?Format=Entity

Related Resources
/backupServers /jobs/{ID} /restorepoints/{ID} /tasks

Methods
The following methods are supported for the /backupSessions/{ID} resource: (GET) /backupSessions/{ID}

146 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representation
The /backupSessions/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e" Name="Exchange Backup HV@2013-08-08 13:45:36" UID="urn:veeam:BackupJobSession:b9750ea7-51e2-4bee-9875-16fec36eaa1e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b02229ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e?format=Entity" Name="Exchange Backup HV@2013-08-08 13:45:36" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e/taskSessions" /> </Links> </EntityRef>

Entity resource representation:


<BackupJobSession xmlns="http://www.veeam.com/ent/v1.0" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e?format=Entity" Name="Exchange Backup HV@2013-08-08 13:45:36" UID="urn:veeam:BackupJobSession:b9750ea7-51e2-4bee-9875-16fec36eaa1e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b02229ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e" Name="Exchange Backup HV@2013-08-08 13:45:36" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e/taskSessions" /> <Link Rel="Related" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/dc29542b-3eb2-42c0-97abd15b5f51336b" Name="Aug 8 2013 1:45PM" /> </Links> <JobUid>urn:veeam:Job:13b734c3-4fce-4aa0-b022-29ac5b4dd29a</JobUid> <JobName>Exchange Backup HV</JobName> <JobType>Backup</JobType> <CreationTimeUTC>2013-08-08T13:45:36Z</CreationTimeUTC> <EndTimeUTC>2013-08-08T13:46:38Z</EndTimeUTC> <State>Stopped</State> <Result>Success</Result> <IsRetry>false</IsRetry> </BackupJobSession>

147 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /backupSessions/{ID}
Returns a resource representation of a backup job session having the specified ID.

Request
To get a job session, you need to send the GET HTTP request to the URL of the /backupSessions/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/backupSessions/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Type Description ID of the backup job session resource, for example: 88b395e2-81ff-439c-558c188d97274c15. Name of the backup job session resource, for example: exch@2013-08-26 22:28:51. Type of the backup job session. Possible values: Backup. ID of the backup job parent to the backup job session resource, for example: urn:veeam:Job:dce85686-59c8-42c4-8766f1c00a5b8067. Name of the backup job parent to the backup job session resource, for example: SQL Backup. Date and time when the backup job session was started. The parameter accepts only UTCformatted DateTime values. Date and time when the backup job session was ended. The parameter accepts only UTCformatted DateTime values. Can Be Used for Filtering True True Can Be Used for Sorting True True

Uid Name

URN String

JobType

String

True

True

JobUid

URN

True

True

JobName

String

True

True

CreationTime

Date Time Date Time

True

True

EndType

True

True

148 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Parameter

Type

Description State of the backup job session. Possible values: Starting Stopping Working Pausing Resuming Stopped Result of the backup job session. Possible values: Success Warning Failed Defines whether the backup job session has been retried or not. Possible values: True False ID of the Veeam backup server parent to the backup job session resource. Name of the Veeam backup server parent to the backup session resource.

Can Be Used for Filtering

Can Be Used for Sorting

State

String

True

True

Result

String

True

True

IsRetry

Boolean

True

True

Backup ServerUid Backup ServerName

URN

True

True

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupSessions/{ID} resource.

149 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
A sample request below returns an entity representation of the backup job session resource having ID b9750ea7-51e2-4bee-9875-16fec36eaa1e:
Request : GET http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e?format=Entity Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <BackupJobSession xmlns="http://www.veeam.com/ent/v1.0" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e?format=Entity" Name="Exchange Backup HV@2013-08-08 13:45:36" UID="urn:veeam:BackupJobSession:b9750ea7-51e2-4bee-9875-16fec36eaa1e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b02229ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e" Name="Exchange Backup HV@2013-08-08 13:45:36" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-987516fec36eaa1e/taskSessions" /> <Link Rel="Related" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/dc29542b-3eb2-42c0-97abd15b5f51336b" Name="Aug 8 2013 1:45PM" /> </Links> <JobUid>urn:veeam:Job:13b734c3-4fce-4aa0-b022-29ac5b4dd29a</JobUid> <JobName>Exchange Backup HV</JobName> <JobType>Backup</JobType> <CreationTimeUTC>2013-08-08T13:45:36Z</CreationTimeUTC> <EndTimeUTC>2013-08-08T13:46:38Z</EndTimeUTC> <State>Stopped</State> <Result>Success</Result> <IsRetry>false</IsRetry> </BackupJobSession> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/replicaSessions
Represents a list of all sessions for all replication jobs on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/replicaSessions

150 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Related Resources
/replicaSessions/{ID}

Methods
The following methods are supported for the /replicaSessions resource: (GET) /replicaSessions

Resource Representation
The /replicaSession resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf" Name="SQL Replication@2013-08-09 12:20:16" UID="urn:veeam:ReplicaJobSession:d6c25519-059d-4962-8d54-26f140a7b1bf"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf?format=Entity" Name="SQL Replication@2013-08-09 12:20:16" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf/repicaTaskSessions" /> </Links> </Ref> <Ref Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b72965c9e1f807ee" Name="SQL Replication@2013-08-09 12:19:54" UID="urn:veeam:ReplicaJobSession:980ccecc-e336-457c-b729-65c9e1f807ee"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b72965c9e1f807ee?format=Entity" Name="SQL Replication@2013-08-09 12:19:54" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b72965c9e1f807ee/repicaTaskSessions" /> </Links> </Ref> </EntityReferences>

(GET) /replicaSessions
Returns a resource representation of a collection of sessions for all replication jobs on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of all sessions for replication job, you need to send the GET HTTP request to the URL of the /replicaSessions resource.

151 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

HTTP Request
GET http://<Enterprise-Manager>:9399/api/replicaSessions

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /replicaSessions resource.

Example
The example below returns a list of sessions for replication jobs on all Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/replicaSessions Request Header: X-RestSvcSessionId Response: 200 Success NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

152 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf" Name="SQL Replication@2013-08-09 12:20:16" UID="urn:veeam:ReplicaJobSession:d6c25519-059d-4962-8d54-26f140a7b1bf"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf?format=Entity" Name="SQL Replication@2013-08-09 12:20:16" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf/repicaTaskSessions" /> </Links> </Ref> <Ref Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b72965c9e1f807ee" Name="SQL Replication@2013-08-09 12:19:54" UID="urn:veeam:ReplicaJobSession:980ccecc-e336-457c-b729-65c9e1f807ee"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b72965c9e1f807ee?format=Entity" Name="SQL Replication@2013-08-09 12:19:54" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b72965c9e1f807ee/repicaTaskSessions" /> </Links> </Ref> </EntityReferences>

/replicaSessions/{ID}
Represents a replication job session having the specified ID.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/replicaSessions/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/replicaSessions/{ID}?Format=Entity

153 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Related Resources
/backupServers /jobs/{ID} /tasks

Methods
The following methods are supported for the /replicaSessions/{ID} resource: (GET) /replicaSessions/{ID}

Resource Representation
The /replicaSessions/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf" Name="SQL Replication@2013-08-09 12:20:16" UID="urn:veeam:ReplicaJobSession:d6c25519-059d-4962-8d54-26f140a7b1bf"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf?format=Entity" Name="SQL Replication@2013-08-09 12:20:16" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf/repicaTaskSessions" /> </Links> </EntityRef>

Entity resource representation:


<ReplicaJobSession xmlns="http://www.veeam.com/ent/v1.0" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf?format=Entity" Name="SQL Replication@2013-08-09 12:20:16" UID="urn:veeam:ReplicaJobSession:d6c25519-059d-4962-8d54-26f140a7b1bf"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf" Name="SQL Replication@2013-08-09 12:20:16" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf/repicaTaskSessions" /> </Links> <JobUid>urn:veeam:Job:598cc57b-9f44-473b-800d-954fbc528043</JobUid> <JobName>SQL Replication</JobName> <JobType>Replica</JobType> <CreationTimeUTC>2013-08-09T12:20:16Z</CreationTimeUTC>

154 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<EndTimeUTC>2013-08-09T12:20:19Z</EndTimeUTC> <State>Stopped</State> <Result>Success</Result> <IsRetry>false</IsRetry> </ReplicaJobSession>

(GET) /replicaSessions/{ID}
Returns a resource representation of a replication job session having the specified ID.

Request
To get a job session, you need to send the GET HTTP request to the URL of the /replicaSessions/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/replicaSessions/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Type Description ID of the replication job session resource, for example: 88b395e2-81ff-439c-558c-188d97274c15. Name of the replication job session resource, for example: exch@2013-08-26 22:28:51. Type of the replication job session. Possible values: Replica. ID of the replication job parent to the replication job session resource, for example: urn:veeam:Job:dce85686-59c8-42c4-8766f1c00a5b8067. Name of the replication job parent to the replication job session resource, for example: SQL Replica. Can Be Used for Filtering True True Can Be Used for Sorting True True

Uid Name

URN String

JobType

String

True

True

JobUid

URN

True

True

JobName

String

True

True

155 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Parameter Creation Time EndType

Type

Description Date and time when the replication job session was started. The parameter accepts only UTC-formatted DateTime values. Date and time when the replication job session was ended. The parameter accepts only UTC-formatted DateTime values State of the replication job session. Possible values: Starting Stopping Working Pausing Resuming Stopped Result of the replication job session. Possible values: Success Warning Failed Defines whether the replication job session has been retried or not. Possible values: True False ID of the Veeam backup server parent to the replication job session resource. Name of the Veeam backup server parent to the replication session resource.

Can Be Used for Filtering True

Can Be Used for Sorting True

Date Time Date Time

True

True

State

String

True

True

Result

String

True

True

IsRetry

Boolean

True

True

Backup ServerUid BackupSer verName

URN

True

True

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /replicaSessions/{ID} resource.

156 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
A sample request below returns an entity representation of the replica job session resource having ID d6c25519-059d-4962-8d54-26f 140a7b1bf:
Request : GET http://localhost:9399/api/replicaSessions/b9750ea7-51e2-4bee-987516fec36eaa1e?format=Entity Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <ReplicaJobSession xmlns="http://www.veeam.com/ent/v1.0" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf?format=Entity" Name="SQL Replication@2013-08-09 12:20:16" UID="urn:veeam:ReplicaJobSession:d6c25519-059d-4962-8d54-26f140a7b1bf"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf" Name="SQL Replication@2013-08-09 12:20:16" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d5426f140a7b1bf/repicaTaskSessions" /> </Links> <JobUid>urn:veeam:Job:598cc57b-9f44-473b-800d-954fbc528043</JobUid> <JobName>SQL Replication</JobName> <JobType>Replica</JobType> <CreationTimeUTC>2013-08-09T12:20:16Z</CreationTimeUTC> <EndTimeUTC>2013-08-09T12:20:19Z</EndTimeUTC> <State>Stopped</State> <Result>Success</Result> <IsRetry>false</IsRetry> </ReplicaJobSession> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/restoreSessions
Represents a collection of restore sessions performed on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/restoreSessions

157 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/restoreSessions?Format=Entity

Related Resources
/restoreSessions/{ID}

Methods
The following methods are supported for the /restoreSessions resource: (GET) /restoreSessions

Resource Representation
The /restoreSessions resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/3f81da3b-d3ea-4c15-a2d10342977fb65e" Name="hv_dns@2013-08-07 15:36:52" UID="urn:veeam:RestoreSession:3f81da3b-d3ea-4c15-a2d1-0342977fb65e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/3f81da3b-d3ea-4c15-a2d10342977fb65e?format=Entity" Name="hv_dns@2013-08-07 15:36:52" /> </Links> </Ref> <Ref Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/828fd4bf-0793-4336-a43a10b54a07c1de" Name="FLR_[VM02 (b1d5929b-91b5-4ae8-aea78297f3fc2c6b)]@2013-08-07 11:38:15" UID="urn:veeam:RestoreSession:828fd4bf-0793-4336-a43a-10b54a07c1de"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/828fd4bf-0793-4336-a43a10b54a07c1de?format=Entity" Name="FLR_[VM02 (b1d5929b-91b5-4ae8-aea78297f3fc2c6b)]@2013-08-07 11:38:15" /> </Links> </Ref> <Ref Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/036cb885-a877-4ce4-b4cb11fad0b3fd88" Name="sql02-srv@2013-08-09 12:34:50" UID="urn:veeam:RestoreSession:036cb885-a877-4ce4-b4cb-11fad0b3fd88"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/036cb885-a877-4ce4-b4cb11fad0b3fd88?format=Entity" Name="sql02-srv@2013-08-09 12:34:50" /> </Links> </Ref> ... </EntityReferences>

158 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /restoreSessions
Returns a collection of restore sessions performed on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of restore sessions, you need to send the GET HTTP request to the URL of the /restoreSessions resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/restoreSessions

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /restoreSessions/{ID} resource.

159 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a collection resource listing all restore sessions performed on all Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/restoreSessions Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/3f81da3b-d3ea-4c15-a2d10342977fb65e" Name="hv_dns@2013-08-07 15:36:52" UID="urn:veeam:RestoreSession:3f81da3b-d3ea-4c15-a2d1-0342977fb65e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/3f81da3b-d3ea-4c15-a2d10342977fb65e?format=Entity" Name="hv_dns@2013-08-07 15:36:52" /> </Links> </Ref> <Ref Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/828fd4bf-0793-4336-a43a10b54a07c1de" Name="FLR_[VM02 (b1d5929b-91b5-4ae8-aea78297f3fc2c6b)]@2013-08-07 11:38:15" UID="urn:veeam:RestoreSession:828fd4bf-0793-4336-a43a-10b54a07c1de"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/828fd4bf-0793-4336-a43a10b54a07c1de?format=Entity" Name="FLR_[VM02 (b1d5929b-91b5-4ae8-aea78297f3fc2c6b)]@2013-08-07 11:38:15" /> </Links> </Ref> <Ref Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/036cb885-a877-4ce4-b4cb11fad0b3fd88" Name="sql02-srv@2013-08-09 12:34:50" UID="urn:veeam:RestoreSession:036cb885-a877-4ce4-b4cb-11fad0b3fd88"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/036cb885-a877-4ce4-b4cb11fad0b3fd88?format=Entity" Name="sql02-srv@2013-08-09 12:34:50" /> </Links> </Ref> ... </EntityReferences> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

160 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/restoreSessions/{ID}
Represents a restore session having the specified ID.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/restoreSessions/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/restoreSessions/{ID}?Format=Entity

Related Resources
/restoreSessions

Methods
The following methods are supported for the /restoreSessions/{ID} resource: (GET) /restoreSessions/{ID}

Resource Representation
The /restoreSessions/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/3f1a1e60-0a44-45c2-a1a567a93fa3e8f8" Name="fileserver@2013-10-30 11:53:25" UID="urn:veeam:RestoreSession:3f1a1e60-0a44-45c2-a1a5-67a93fa3e8f8"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/3f1a1e60-0a44-45c2-a1a567a93fa3e8f8?format=Entity" Name="fileserver@2013-10-30 11:53:25" /> </Links> </EntityRef>

Entity resource representation:


<RestoreSession xmlns="http://www.veeam.com/ent/v1.0" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/3f1a1e60-0a44-45c2-a1a567a93fa3e8f8?format=Entity" Name="fileserver@2013-10-30 11:53:25" UID="urn:veeam:RestoreSession:3f1a1e60-0a44-45c2-a1a5-67a93fa3e8f8" VmDisplayName="fileserver"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/3f1a1e60-0a44-45c2-a1a5-

161 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

67a93fa3e8f8" Name="fileserver@2013-10-30 11:53:25" /> </Links> <JobType>FileLevelRestore</JobType> <CreationTimeUTC>2013-10-30T11:53:25Z</CreationTimeUTC> <EndTimeUTC>1900-01-01T07:00:00Z</EndTimeUTC> <State>Working</State> <Result>None</Result> </RestoreSession>

(GET) /restoreSessions/{ID}
Returns a restore session having the specified ID.

Request
To get a restore session having the specified ID, you need to send the GET HTTP request to the URL of the /restoreSessions/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/restoreSessions/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Type Description ID of the restore session resource, for example: 18b395e2-81ff-439c-ae8c-188d97274c15. Name of the restore session resource, for example: sql02@2013-08-26 11:28:33. Type of the restore session. Possible values: FileLevelRestore RestoreVm Date and time when the restore session was started. The parameter accepts only UTCformatted DateTime values. Date and time when the restore session was ended. The parameter accepts only UTCformatted DateTime values State of the restore session. Possible values: Starting Can Be Used for Filtering True True Can Be Used for Sorting True True

Uid Name

URN String

JobType

String

True

True

Creation Time EndType State

Date Time Date Time String

True

True

True True

True True

162 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Parameter

Type

Description Stopping Working Stopped Result of the restore session. Possible values: Success Warning Failed ID of the Veeam backup server parent to the restore session resource. Name of the Veeam backup server parent to the restore session resource. Name of the VM for which the restore session has been started.

Can Be Used for Filtering

Can Be Used for Sorting

Result

String

True

True

Backup ServerUid Backup ServerName VmDisplay Name

URN

True

True

String

True

True

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /restoreSessions/{ID} resource.

Example
The example below returns a restore session performed in Veeam Backup & Replication. The restore session has ID 18b395e2-81ff-439c-ae8c-188d97274c15:
Request : GET http://localhost:9399/api/restoreSessions/18b395e2-81ff-439c-ae8c188d97274c15 Request Header: X-RestSvcSessionId Response: 200 Success NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

163 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Body: <RestoreSession xmlns="http://www.veeam.com/ent/v1.0" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/18b395e2-81ff-439c-ae8c188d97274c15?format=Entity" Name="Explorer_FLR_[exch01]@2013-08-06 11:16:07" UID="urn:veeam:RestoreSession:18b395e2-81ff-439c-ae8c188d97274c15" VmDisplayName="exch01"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/18b395e2-81ff-439c-ae8c188d97274c15" Name="Explorer_FLR_[exch01]@2013-08-06 11:16:07" /> </Links> <JobType>ApplicationLevelRestore</JobType> <CreationTimeUTC>2013-08-06T11:16:07Z</CreationTimeUTC> <EndTimeUTC>2013-08-06T11:25:09Z</EndTimeUTC> <State>Stopped</State> <Result>Success</Result> </RestoreSession>

/backupTaskSessions
Represents a collection of all backup tasks run on Veeam backup servers connected to Veeam Backup Enterprise Manager. You should distinguish the /backupTaskSession resource from the /backupSession resource. The /backupSession resource provides information about a specific cycle of a backup job on the whole. The /backupTaskSession resource provides information about a specific task within a backup job session. Typically, one task processes one object in the backup job: VM or VM container.

Resource URL
http://<Enterprise-Manager>:9399/api/backupTaskSessions

Related Resources
/backupTaskSessions/{ID}

Methods
The following methods are supported for the /backupTaskSessions resource: (GET) /backupTaskSessions

Resource Representation
The /backupTaskSessions resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="BackupTaskSessionReference" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477" Name="exch01@2013-08-08 06:01:23" UID="urn:veeam:BackupTaskSession:0953f21b-2060-4933-a49e-00e42bc7d477"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-

164 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/adeb728b-59b6-4581-8a74f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477?format=Entity" Name="alba-exch01@2013-08-08 06:01:23" /> </Links> </Ref> <Ref Type="BackupTaskSessionReference" Href="http://localhost:9399/api/backupTaskSessions/6cc39799-1ae2-44568ee0-024eabc29502" Name="sharepoint@2013-08-06 21:01:59" UID="urn:veeam:BackupTaskSession:6cc39799-1ae2-4456-8ee0-024eabc29502"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/3270ccd0-41df-48a4-90466e60f1359dd6" Name="Sharepoint Backup, Aug 6 2013 9:00PM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/6cc39799-1ae2-44568ee0-024eabc29502?format=Entity" Name="alba-sharepoint@2013-08-06 21:01:59" /> </Links> </Ref> <Ref Type="BackupTaskSessionReference" Href="http://localhost:9399/api/backupTaskSessions/b5dd6e1e-0901-420f8b6d-02eb40c63544" Name="web_app@2013-08-03 19:18:53" UID="urn:veeam:BackupTaskSession:b5dd6e1e-0901-420f-8b6d-02eb40c63544"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/e24277b7-03d1-4409-8f26c7dbd2b96411" Name="Webservices Backup, Aug 3 2013 7:17PM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/b5dd6e1e-0901-420f8b6d-02eb40c63544?format=Entity" Name="hp_app@2013-08-03 19:18:53" /> </Links> </Ref> ... </EntityReferences>

(GET) /backupTaskSessions
Returns a resource representation of a backup tasks collection. Tasks are performed on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of backup tasks, you need to send the GET HTTP request to the URL of the /backupTaskSessions resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/backupTaskSessions

165 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupTaskSessions collection resource.

Example
The example below returns a list of all backup tasks performed on Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/backupTaskSessions Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="BackupTaskSessionReference" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477" Name="exch01@2013-08-08 06:01:23" UID="urn:veeam:BackupTaskSession:0953f21b-2060-4933-a49e-00e42bc7d477"> <Links> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

166 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/adeb728b-59b6-4581-8a74f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477?format=Entity" Name="alba-exch01@2013-08-08 06:01:23" /> </Links> </Ref> <Ref Type="BackupTaskSessionReference" Href="http://localhost:9399/api/backupTaskSessions/6cc39799-1ae2-44568ee0-024eabc29502" Name="sharepoint@2013-08-06 21:01:59" UID="urn:veeam:BackupTaskSession:6cc39799-1ae2-4456-8ee0-024eabc29502"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/3270ccd0-41df-48a4-90466e60f1359dd6" Name="Sharepoint Backup, Aug 6 2013 9:00PM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/6cc39799-1ae2-44568ee0-024eabc29502?format=Entity" Name="alba-sharepoint@2013-08-06 21:01:59" /> </Links> </Ref> <Ref Type="BackupTaskSessionReference" Href="http://localhost:9399/api/backupTaskSessions/b5dd6e1e-0901-420f8b6d-02eb40c63544" Name="web_app@2013-08-03 19:18:53" UID="urn:veeam:BackupTaskSession:b5dd6e1e-0901-420f-8b6d-02eb40c63544"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/e24277b7-03d1-4409-8f26c7dbd2b96411" Name="Webservices Backup, Aug 3 2013 7:17PM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/b5dd6e1e-0901-420f8b6d-02eb40c63544?format=Entity" Name="hp_app@2013-08-03 19:18:53" /> </Links> </Ref> ... </EntityReferences>

/backupTaskSessions/{ID}
Represents a backup task having the specified ID. The task has been performed in the job session on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/backupTaskSessions/{ID}

167 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

The URL of the entity resource representation:


http://<EnterpriseManager>:9399/api/backupTaskSessions/{ID}?Format=Entity

Related Resources
/backupServers/{ID} /backupSessions/{ID}

Methods
The following methods are supported for the /backupTaskSessions/{ID} resource: (GET) /backupTaskSessions/{ID}

Resource Representation
The /backupTaskSessions/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="BackupTaskSessionReference" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477" Name="exch01@2013-08-08 06:01:23" UID="urn:veeam:BackupTaskSession:0953f21b-2060-4933-a49e-00e42bc7d477"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/adeb728b-59b6-4581-8a74f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477?format=Entity" Name="exch01@2013-08-08 06:01:23" /> </Links> </EntityRef>

Entity resource representation:


<BackupTaskSession xmlns="http://www.veeam.com/ent/v1.0" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477?format=Entity" Name="exch01@2013-08-08 06:01:23" UID="urn:veeam:BackupTaskSession:0953f21b-2060-4933-a49e-00e42bc7d477" VmDisplayName="alba-exch01"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/adeb728b-59b6-4581-8a74f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSessionReference" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477" Name="exch01@2013-08-08 06:01:23" /> </Links> <CreationTimeUTC>2013-08-08T06:01:23Z</CreationTimeUTC> <EndTimeUTC>2013-08-08T06:01:35Z</EndTimeUTC> <State>Completed</State> <Result>Success</Result>

168 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<TotalSize>5589934592</TotalSize> </BackupTaskSession>

(GET) /backupTaskSessions/{ID}
Returns a resource representation of a task having the specified ID. The parent job for the task is created on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Request
To get a task having the specified ID, you need to send the GET HTTP request to the URL of the /backupTaskSessions/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/backupTaskSessions/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries:
Parameter UID Name Creation Time EndTime Reason Type Description Can Be Used for Filtering True True True Can Be Used for Sorting True True True

URN String Date Time Date Time String

ID of the backup task session. Name of the backup task session, for example: dchv@2013-08-25 05:01:09. Date and time when the backup task session was launched. The parameter accepts only UTCformatted DateTime values. Date and time when the backup task session was completed. The parameter accepts only UTCformatted DateTime values. Reason for which the backup task session has been completed with the Warning or Error status. State of the backup task session. Possible values: InProgress Pending Completed Size of all restore points produced by the corresponding backup job.

True True

True True

State

String

TotalSize

Int64

True

True

169 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Parameter

Type

Description ID of the backup job parent to the backup task session resource. Name of the backup job parent to the backup task session resource. ID of the backup server on which the corresponding backup job is created. Name of the backup server on which the corresponding backup job is created. Name of the VM that is processed in the backup task session.

Can Be Used for Filtering True True True

Can Be Used for Sorting True True True

JobUid JobName Backup ServerUid Backup ServerName VmDisplayNa me

URN String URN

String

True

True

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupTaskSessions/{ID} resource.

Example
The example request below returns a resource representation of a task having ID 0953f21b-2060-4933a49e-00e42bc7d477.
Request : GET http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933-a49e00e42bc7d477 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="BackupTaskSessionReference" NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

170 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477" Name="exch01@2013-08-08 06:01:23" UID="urn:veeam:BackupTaskSession:0953f21b-2060-4933-a49e-00e42bc7d477"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/adeb728b-59b6-4581-8a74f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933a49e-00e42bc7d477?format=Entity" Name="exch01@2013-08-08 06:01:23" /> </Links> </EntityRef>

/replicaTaskSessions
Represents a collection of all replication tasks run on Veeam backup servers connected to Veeam Backup Enterprise Manager. You should distinguish the /replicaTaskSession resource from the /replicaSession resource. The /replicaSession resource provides information about a specific cycle of a replication job on the whole. The /replicaTaskSession resource provides information about a specific task within a replication job session. Typically, one task processes one object in the replication job: VM or VM container.

Resource URL
http://<Enterprise-Manager>:9399/api/replicaTaskSessions

Related Resources
/replicaTaskSessions/{ID}

Methods
The following methods are supported for the /replicaTaskSessions resource: (GET) /replicaTaskSessions

Resource Representation
The /replicaTaskSessions resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622" Name="netware_vm@2013-08-05 11:15:25" UID="urn:veeam:ReplicaTaskSession:4a212394-ea3b-420d-b1d0-04dbf9f6c622"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420d-

171 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

b1d0-04dbf9f6c622?format=Entity" Name="netware_vm@2013-08-05 11:15:25" /> </Links> </Ref> <Ref Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/0c952802-d6c4-4641b20a-078c384d2b6f" Name="fileserver01@2013-08-05 08:52:36" UID="urn:veeam:ReplicaTaskSession:0c952802-d6c4-4641-b20a-078c384d2b6f"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/991a8df7-87e2-41f3-b310aed8cb0f2cb6" Name="Fileserver Replicas, Aug 5 2013 8:48AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/0c952802-d6c4-4641b20a-078c384d2b6f?format=Entity" Name="fileserver01@2013-08-05 08:52:36" /> </Links> </Ref> <Ref Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/5c43f020-5554-4a54bdf2-087ce1a80869" Name="netware_vm@2013-08-06 17:00:54" UID="urn:veeam:ReplicaTaskSession:5c43f020-5554-4a54-bdf2-087ce1a80869"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/99daed28-4b23-4364-9528e2903ccd8bf4" Name="Netware Replication, Aug 6 2013 5:00PM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/5c43f020-5554-4a54bdf2-087ce1a80869?format=Entity" Name="netware_vm@2013-08-06 17:00:54" /> </Links> </Ref> ... </EntityReferences>

(GET) /replicaTaskSessions
Returns a resource representation of a replication tasks collection. Tasks are performed on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of replication tasks, you need to send the GET HTTP request to the URL of the /replicaTaskSessions resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/replicaTaskSessions

172 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /replicaTaskSessions collection resource.

Example
The example below returns a list of all replication tasks performed on Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/replicaTaskSessions Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622" Name="netware_vm@2013-08-05 11:15:25" UID="urn:veeam:ReplicaTaskSession:4a212394-ea3b-420d-b1d0-04dbf9f6c622"> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

173 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622?format=Entity" Name="netware_vm@2013-08-05 11:15:25" /> </Links> </Ref> <Ref Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/0c952802-d6c4-4641b20a-078c384d2b6f" Name="fileserver01@2013-08-05 08:52:36" UID="urn:veeam:ReplicaTaskSession:0c952802-d6c4-4641-b20a-078c384d2b6f"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/991a8df7-87e2-41f3-b310aed8cb0f2cb6" Name="Fileserver Replicas, Aug 5 2013 8:48AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/0c952802-d6c4-4641b20a-078c384d2b6f?format=Entity" Name="fileserver01@2013-08-05 08:52:36" /> </Links> </Ref> <Ref Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/5c43f020-5554-4a54bdf2-087ce1a80869" Name="netware_vm@2013-08-06 17:00:54" UID="urn:veeam:ReplicaTaskSession:5c43f020-5554-4a54-bdf2-087ce1a80869"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/99daed28-4b23-4364-9528e2903ccd8bf4" Name="Netware Replication, Aug 6 2013 5:00PM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/5c43f020-5554-4a54bdf2-087ce1a80869?format=Entity" Name="netware_vm@2013-08-06 17:00:54" /> </Links> </Ref> ... </EntityReferences>

/replicaTaskSessions/{ID}
Represents a replication task having the specified ID. The task has been performed in the job session on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/replicaTaskSessions/{ID}

174 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

The URL of the entity resource representation:


http://<EnterpriseManager>:9399/api/replicaTaskSessions/{ID}?Format=Entity

Related Resources
/backupServers/{ID} /replicaSessions/{ID}

Methods
The following methods are supported for the /replicaTaskSessions/{ID} resource: (GET) /replicaTaskSessions/{ID}

Resource Representation
The /replicaTaskSessions/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622" Name="netware_vm@2013-08-05 11:15:25" UID="urn:veeam:ReplicaTaskSession:4a212394-ea3b-420d-b1d0-04dbf9f6c622"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622?format=Entity" Name="netware_vm@2013-08-05 11:15:25" /> </Links> </EntityRef>

Entity resource representation:


<ReplicaTaskSession xmlns="http://www.veeam.com/ent/v1.0" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622?format=Entity" Name="netware_vm@2013-08-05 11:15:25" UID="urn:veeam:ReplicaTaskSession:4a212394-ea3b-420d-b1d0-04dbf9f6c622" VmDisplayName="netware_vm"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="win-tw5" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622" Name="netware_vm@2013-08-05 11:15:25" /> </Links> <CreationTimeUTC>2013-08-05T11:15:25Z</CreationTimeUTC> <EndTimeUTC>2013-08-05T11:21:16Z</EndTimeUTC> <State>Completed</State> <Result>Success</Result>

175 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<TotalSize>8589934592</TotalSize> </ReplicaTaskSession>

(GET) /replicaTaskSessions/{ID}
Returns a resource representation of a task having the specified ID. The parent job for the task is created on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Request
To get a task having the specified ID, you need to send the GET HTTP request to the URL of the /replicaTaskSessions/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/replicaTaskSessions/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries:
Parameter UID Name Creation Time EndTime Reason Type Description Can Be Used for Filtering True True True Can Be Used for Sorting True True True

URN String Date Time Date Time String

ID of the replica task session. Name of the replica task session, for example: dchv@2013-08-25 05:01:09. Date and time when the replica task session was launched. The parameter accepts only UTCformatted DateTime values. Date and time when the replica task session was completed. The parameter accepts only UTCformatted DateTime values. Reason for which the replica task session has been completed with the Warning or Error status. State of the replica task session. Possible values: InProgress Pending Completed Size of all restore points produced by the corresponding replication job.

True True

True True

State

String

True

True

TotalSize

Int64

True

True

176 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Parameter

Type

Description ID of the replication job parent to the replica task session resource. Name of the replication job parent to the replica task session resource. ID of the backup server on which the corresponding replication job is created. Name of the backup server on which the corresponding replication job is created. Name of the VM that is processed in the replica task session.

Can Be Used for Filtering True True True

Can Be Used for Sorting True True True

JobUid JobName Backup ServerUid Backup ServerName VmDisplay Name

URN String URN

String

True

True

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /replicaTaskSessions/{ID} resource.

Example
The example request below returns a resource representation of a task having ID 4a212394-ea3b-420db1d0-04dbf9f6c622:
Request : GET http://localhost:9399/api/replicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="ReplicaTaskSessionReference" NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

177 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622" Name="netware_vm@2013-08-05 11:15:25" UID="urn:veeam:ReplicaTaskSession:4a212394-ea3b-420d-b1d0-04dbf9f6c622"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420db1d0-04dbf9f6c622?format=Entity" Name="netware_vm@2013-08-05 11:15:25" /> </Links> </EntityRef>

/hierarchyRoots
Represents a collection of all hosts, Hyper-V and VMware, added to the Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/hierarchyRoots

Related Resources
/hierarchyRoots/{ID}

Methods
The following methods are supported for the /hierarchyRoots resource: (GET) /hierarchyRoots

Resource Representation
The /hierarchyRoots resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/a2b0c55d-829a-4efe-bd95125ee77ba9dd" Name="vcprod" UID="urn:veeam:HierarchyRoot:a2b0c55d-829a4efe-bd95-125ee77ba9dd"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/a2b0c55d-829a-4efe-bd95125ee77ba9dd?format=Entity" Name="vcprod" /> </Links> </Ref> <Ref Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b" Name="hv01" UID="urn:veeam:HierarchyRoot:70aa9075-ca3143bd-99cc-f888b969799b"> <Links> <Link Rel="Up" Type="BackupServerReference"

178 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b?format=Entity" Name="hv01" /> </Links> </Ref> </EntityReferences>

(GET) /hierarchyRoots
Returns a resource representation of a collection of Hyper-V and VMware hosts added to all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of VMware and Hyper-V hosts, you need to send the GET HTTP request to the URL of the /hierarcyRoots resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/hierarchyRoots

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries:
Parameter Type Description ID of the hierarchy root resource, for example: urn:veeam:HierarchyRoot:195c7259-8d89-4f6e9098-25ee1f432669. Name of the hierarchy root resource, for example: 172.16.12.21. ID of the hierarchy root, for example: 195c72598d89-4f6e-9098-25ee1f432669. ID of the Veeam backup server to which the hierarchy root, or host, is added. Name of the Veeam backup server to which the hierarchy root, or host, is added. Can Be Used for Filtering True True True Can Be Used for Sorting True True True

UID Name Hierarchy RootId Backup ServerUid Backup ServerName

URN String String

URN

True

True

String

True

True

179 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /hierarchyRoots resource collection.

Example
A sample request below returns a list of all VMware and Hyper-V hosts added to Veeam backup servers that are connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/hierarchyRoots Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/a2b0c55d-829a-4efe-bd95125ee77ba9dd" Name="vcprod" UID="urn:veeam:HierarchyRoot:a2b0c55d-829a4efe-bd95-125ee77ba9dd"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/a2b0c55d-829a-4efe-bd95125ee77ba9dd?format=Entity" Name="vcprod" /> </Links> </Ref> <Ref Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b" Name="hv01" UID="urn:veeam:HierarchyRoot:70aa9075-ca3143bd-99cc-f888b969799b"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot" NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

180 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b?format=Entity" Name="hv01" /> </Links> </Ref> </EntityReferences>

/hierarchyRoots/{ID}
Represents a VMware or Hyper-V host having the specified ID. The VMware or Hyper-V host is added to the Veeam backup server connected to Veeam Backup Enterprise Manager.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/hierarchyRoots/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/ hierarchyRoots/{ID}?Format=Entity

Related Resources
/backupServers/{ID}

Methods
The following methods are supported for the /hierarchyRoots/{ID} resource: (GET) /hierarchyRoots/{ID}

Resource Representation
The /hierarchyRoots /{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b" Name="backupserver" UID="urn:veeam:HierarchyRoot:70aa9075ca31-43bd-99cc-f888b969799b"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b?format=Entity" Name="hv01" /> </Links> </EntityRef>

181 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Entity resource representation:


<HierarchyRoot xmlns="http://www.veeam.com/ent/v1.0" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b?format=Entity" Name="backupserver" UID="urn:veeam:HierarchyRoot:70aa9075-ca31-43bd-99cc-f888b969799b"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b" Name="hv01" /> </Links> <HierarchyRootId>70aa9075-ca31-43bd-99cc-f888b969799b</HierarchyRootId> </HierarchyRoot>

(GET) /hierarchyRoots/{ID}
Returns a resource representation of a VMware or Hyper-V host having the specified ID. The VMware or Hyper-V host is added to the Veeam backup server connected to Veeam Backup Enterprise Manager.

Request
To get a Hyper-V or VMware host, you need to send the GET HTTP request to the URL of the /hierarchyRoots/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/hierarchyRoots/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.

182 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Header Content-length Content-type The length of the response body.

Description

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

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /hierarchyRoots/{ID} resource.

Example
A sample request below returns an entity representation of the Hyper-V host resource having ID 70aa9075-ca31-43bd-99cc-f888b969799b:
Request : GET http://localhost:9399/api/heirarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b?format=Entity Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <HierarchyRoot xmlns="http://www.veeam.com/ent/v1.0" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b?format=Entity" Name="backupserver" UID="urn:veeam:HierarchyRoot:70aa9075-ca31-43bd-99cc-f888b969799b"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99ccf888b969799b" Name="hv01" /> </Links> <HierarchyRootId>70aa9075-ca31-43bd-99cc-f888b969799b</HierarchyRootId> </HierarchyRoot> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/backups
Represents a collection of all backups created on Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/backups

Related Resources
/backups/{ID}

183 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Methods
The following methods are supported for the /backups resource: (GET) /backups

Resource Representation
The /backups resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766" Name="Exchange Backup HV" UID="urn:veeam:Backup:07d82d957539-450d-9513-222d923a3766"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766?format=Entity" Name="Exchange Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766/restorePoints" /> </Links> </Ref> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252c3752f88bb70" Name="SQL Backup HV" UID="urn:veeam:Backup:c55a5225-b83c4b0e-a252-c3752f88bb70"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252c3752f88bb70?format=Entity" Name="SQL Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252c3752f88bb70/restorePoints" /> </Links> </Ref> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5cdae0d0eb79b2" Name="DC Backup" UID="urn:veeam:Backup:c4ab83e9-76b2-46cbbb5c-dae0d0eb79b2"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5cdae0d0eb79b2?format=Entity" Name="DC Backup" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5cdae0d0eb79b2/restorePoints" />

184 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Links> </Ref> </EntityReferences>

(GET) /backups
Returns a resource representation of a collection of backups created on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of backups, you need to send the GET HTTP request to the URL of the /backups resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/backups

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /backups resource collection.

185 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a list of all backups created on Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/backups Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766" Name="Exchange Backup HV" UID="urn:veeam:Backup:07d82d957539-450d-9513-222d923a3766"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766?format=Entity" Name="Exchange Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766/restorePoints" /> </Links> </Ref> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252c3752f88bb70" Name="SQL Backup HV" UID="urn:veeam:Backup:c55a5225-b83c4b0e-a252-c3752f88bb70"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252c3752f88bb70?format=Entity" Name="SQL Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252c3752f88bb70/restorePoints" /> </Links> </Ref> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5cdae0d0eb79b2" Name="DC Backup" UID="urn:veeam:Backup:c4ab83e9-76b2-46cbbb5c-dae0d0eb79b2"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

186 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5cdae0d0eb79b2?format=Entity" Name="DC Backup" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5cdae0d0eb79b2/restorePoints" /> </Links> </Ref> </EntityReferences>

/backups/{ID}
Represents a backup having the specified ID. The backup is created on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/backups/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/ backups/{ID}?Format=Entity

Related Resources
/backupServers/{ID} /repositories/{ID} /restorepoints

Methods
The following methods are supported for the /backups/{ID} resource: (GET) /backups/{ID}

Resource Representation
The /backups/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="BackupReference" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676226656c35c05" Name="SQL Backup" UID="urn:veeam:Backup:58c917c7-7b7a-41ff8676-226656c35c05"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="backupserver" />

187 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/b609c947-dd30-4295-8b57cc880329dbd6" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676226656c35c05?format=Entity" Name="SQL Backup" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676226656c35c05/restorePoints" /> </Links> </EntityRef>

Entity resource representation:


<Backup xmlns="http://www.veeam.com/ent/v1.0" Type="Backup" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676226656c35c05?format=Entity" Name="SQL Backup" UID="urn:veeam:Backup:58c917c7-7b7a-41ff-8676-226656c35c05"> <Links> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/b609c947-dd30-4295-8b57cc880329dbd6" Name="Default Backup Repository" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="backupserver" /> <Link Rel="Alternate" Type="BackupReference" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676226656c35c05" Name="SQL Backup" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676226656c35c05/restorePoints" /> </Links> </Backup>

(GET) /backups/{ID}
Returns a resource representation of a backup having the specified ID. The backup is created on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Request
To get a backup, you need to send the GET HTTP request to the URL of the /backups/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/backups/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None.

188 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Query Parameters The following parameters can be used in queries.


Parameter Type Description ID of the backup resource, for example: urn:veeam:Backup:58c917c7-7b7a-41ff-8676226656c35c05. Name of the backup job parent to the backup, for example: SQL Backup. ID of the backup job parent to the backup, for example:urn:veeam:Job:da736815-4fea-4c8e-b0e15ecdbca1c512. Name of the backup job parent to the backup, for example: DNS Backup. ID of the backup repository parent to the backup, for example: urn:veeam:Repository:b609c947-dd30-42958b57-cc880329dbd6. Name of the backup repository parent to the backup, for example: Backup Vol 1. Can Be Used for Filtering True True True True True Can Be Used for Sorting True True True True True

Uid Name JobUid JobName Repository Uid Repository Name

URN String URN String URN

Name

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /backups/{ID} resource.

Example
The example below returns a resource representation of a backup having ID 07d82d95-7539-450d-9513222d923a3766:
Request : GET http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766 Request Header: X-RestSvcSessionId Response: NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

189 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

200 Success Response Body: <EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="BackupReference" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766" Name="Exchange Backup HV" UID="urn:veeam:Backup:07d82d957539-450d-9513-222d923a3766"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766?format=Entity" Name="Exchange Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513222d923a3766/restorePoints" /> </Links> </EntityRef>

/replicas
Represents a collection of all replicas created on Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/replicas

Related Resources
/replicas/{ID}

Methods
The following methods are supported for the /replicas resource: (GET) /replica

Resource Representation
The /replicas resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667" Name="Netware Replication" UID="urn:veeam:Replica:f5811b06c082-4aec-939d-5f9be88d2667"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/6256e2d8-2440-4e53-9806-

190 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

079eb1b86ead" Name="Backups Vol1" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667?format=Entity" Name="Netware Replication" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667/vmReplicaPoints" /> </Links> </Ref> <Ref Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871" Name="Fileserver Replicas" UID="urn:veeam:Replica:5f8361d36521-4391-b78a-7ca47ca78871"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/f21760f3-09c7-4a72-8864d1b4eed4b551" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871?format=Entity" Name="Fileserver Replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871/vmReplicaPoints" /> </Links> </Ref> </EntityReferences>

(GET) /replicas
Returns a resource representation of a collection of replicas created on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of replicas, you need to send the GET HTTP request to the URL of the /replicas resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/replicas

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

191 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /replicas resource collection.

Example
The example below returns a list of all replicas created on Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/replicas Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667" Name="Netware Replication" UID="urn:veeam:Replica:f5811b06c082-4aec-939d-5f9be88d2667"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/6256e2d8-2440-4e53-9806079eb1b86ead" Name="Backups Vol1" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667?format=Entity" Name="Netware Replication" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667/vmReplicaPoints" /> </Links> </Ref> <Ref Type="ReplicaReference" NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

192 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871" Name="Fileserver Replicas" UID="urn:veeam:Replica:5f8361d36521-4391-b78a-7ca47ca78871"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/f21760f3-09c7-4a72-8864d1b4eed4b551" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871?format=Entity" Name="Fileserver Replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871/vmReplicaPoints" /> </Links> </Ref> </EntityReferences>

/replicas/{ID}
Represents a replica having the specified ID. The replica is created on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/replicas/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/replicas/{ID}?Format=Entity

Related Resources
/backupServers/{ID} /repositories/{ID} /vmReplicaPoints

Methods
The following methods are supported for the /replicas/{ID} resource: (GET) /replicas/{ID}

193 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representation
The /replicas/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f948f45d871a62" Name="DC Replication" UID="urn:veeam:Replica:566466c1-532b4ae2-a9f9-48f45d871a62"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="backupserver" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/b609c947-dd30-4295-8b57cc880329dbd6" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f948f45d871a62?format=Entity" Name="DC Replication" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f948f45d871a62/vmReplicaPoints" /> </Links> </EntityRef>

Entity resource representation:


<Replica xmlns="http://www.veeam.com/ent/v1.0" Type="Replica" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f948f45d871a62?format=Entity" Name="DC Replication" UID="urn:veeam:Replica:566466c1-532b-4ae2-a9f9-48f45d871a62"> <Links> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/b609c947-dd30-4295-8b57cc880329dbd6" Name="Default Backup Repository" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e95f80e4725a15" Name="backupserver" /> <Link Rel="Alternate" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f948f45d871a62" Name="DC Replication" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f948f45d871a62/vmReplicaPoints" /> </Links> </Replica>

(GET) /replicas/{ID}
Returns a resource representation of a replica having the specified ID. The replica is created on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Request
To get a replica, you need to send the GET HTTP request to the URL of the /replicas/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/replicas/{ID}

194 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Type Description ID of the VM replica resource, for example: urn:veeam:Replica:58c917c7-7b7a-41ff-8676226656c35c05. Name of the replica resource, for example: DNS Replication. ID of the replication job parent to the replica, for example:urn:veeam:Job:da736815-4fea-4c8e-b0e15ecdbca1c512. Name of the replication job parent to the replica, for example: DNS Replication. ID of the backup repository in which replica metadata is stored, for example: urn:veeam:Repository:b609c947dd30-4295-8b57-cc880329dbd6. Name of the backup repository in which replica metadata is stored, for example: Backup Vol 1. Can Be Used for Filtering True True True True True Can Be Used for Sorting True True True True True

Uid Name JobUid JobName Repository Uid Repository Name

URN String URN String URN

Name

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /replicas/{ID} resource.

195 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
A sample request below returns a replica having ID 5f8361d3-6521-4391-b78a-7ca47ca78871:
Request : GET http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871" Name="Fileserver Replicas" UID="urn:veeam:Replica:5f8361d36521-4391-b78a-7ca47ca78871"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/f21760f3-09c7-4a72-8864d1b4eed4b551" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871?format=Entity" Name="Fileserver Replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871/vmReplicaPoints" /> </Links> </EntityRef> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/restorePoints
Represents a collection of all restore points for backups and replicas created on Veeam backup servers connected to Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/restorePoints

Related Resources
/restorepoints/{ID}

Methods
The following methods are supported for the /restorePoints resource: (GET) /restorepoints

196 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representation
The /restorePoints resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f016a4fd8e428" Name="Jul 21 2013 8:00AM" UID="urn:veeam:RestorePoint:3a17f699-54b0-4ef2-a25f-016a4fd8e428"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/afaf5dd8-0b13-48ac-8057844ea08c2934" Name="vLab Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f016a4fd8e428?format=Entity" Name="Jul 21 2013 8:00AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f016a4fd8e428/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b" Name="Jul 15 2013 10:49AM" UID="urn:veeam:RestorePoint:69ff2edc-c9a5-4fce-9a7b-07fcfeff826b"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/22bc3753-625f-4681-954228e92caf270e" Name="Exchange Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b?format=Entity" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239085dfd20091a" Name="Aug 5 2013 11:31AM" UID="urn:veeam:RestorePoint:9796c487-5b9e-4599-a239-085dfd20091a"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/d086326c-5744-494d-8e6cb570ee6a2f58" Name="Fileservers Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239085dfd20091a?format=Entity" Name="Aug 5 2013 11:31AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239085dfd20091a/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07093da514ee88" Name="Aug 9 2013 8:00AM" UID="urn:veeam:RestorePoint:87518f1b-3e06-47c1-bb07-093da514ee88">

197 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/afaf5dd8-0b13-48ac-8057844ea08c2934" Name="vLab Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07093da514ee88?format=Entity" Name="Aug 9 2013 8:00AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07093da514ee88/vmRestorePoints" /> </Links> </Ref> ... </EntityReferences>

(GET) /restorePoints
Returns a resource representation of a restore points collection for backups and replicas created on all Veeam backup servers connected to Veeam Backup Enterprise Manager.

Request
To get a list of restore points, you need to send the GET HTTP request to the URL of the /restorePoints resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/restorePoints

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success.

198 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /restorePoints resource collection.

Example
The example below returns a list of all restore points for backups and replicas created on Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/restorePoints Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f016a4fd8e428" Name="Jul 21 2013 8:00AM" UID="urn:veeam:RestorePoint:3a17f699-54b0-4ef2-a25f-016a4fd8e428"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/afaf5dd8-0b13-48ac-8057844ea08c2934" Name="vLab Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f016a4fd8e428?format=Entity" Name="Jul 21 2013 8:00AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f016a4fd8e428/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b" Name="Jul 15 2013 10:49AM" UID="urn:veeam:RestorePoint:69ff2edc-c9a5-4fce-9a7b-07fcfeff826b"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/22bc3753-625f-4681-954228e92caf270e" Name="Exchange Backup" /> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

199 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b?format=Entity" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239085dfd20091a" Name="Aug 5 2013 11:31AM" UID="urn:veeam:RestorePoint:9796c487-5b9e-4599-a239-085dfd20091a"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/d086326c-5744-494d-8e6cb570ee6a2f58" Name="Fileservers Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239085dfd20091a?format=Entity" Name="Aug 5 2013 11:31AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239085dfd20091a/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07093da514ee88" Name="Aug 9 2013 8:00AM" UID="urn:veeam:RestorePoint:87518f1b-3e06-47c1-bb07-093da514ee88"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/afaf5dd8-0b13-48ac-8057844ea08c2934" Name="vLab Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07093da514ee88?format=Entity" Name="Aug 9 2013 8:00AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07093da514ee88/vmRestorePoints" /> </Links> </Ref> ... </EntityReferences>

/restorePoints/{ID}
Represents a backup restore point having the specified ID.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/restorePoints/{ID}

200 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/ restorePoints/{ID}?Format=Entity

Related Resources
/backupServers/{ID} /backups/{ID} /vmrestorepoints

Methods
The following methods are supported for the /restorePoints/{ID} resource: (GET) /restorepoints/{ID}

Resource Representation
The /restorePoints/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b" Name="Jul 15 2013 10:49AM" UID="urn:veeam:RestorePoint:69ff2edc-c9a5-4fce-9a7b-07fcfeff826b"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/22bc3753-625f-4681-954228e92caf270e" Name="Exchange Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b?format=Entity" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b/vmRestorePoints" /> </Links> </EntityRef>

Entity resource representation:


<RestorePoint xmlns="http://www.veeam.com/ent/v1.0" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b?format=Entity" Name="Jul 15 2013 10:49AM" UID="urn:veeam:RestorePoint:69ff2edc-c9a5-4fce-9a7b-07fcfeff826b"> <Links> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/22bc3753-625f-4681-954228e92caf270e" Name="Exchange Backup" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-

201 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

07fcfeff826b/vmRestorePoints" /> </Links> <BackupDateUTC>2013-07-15T10:49:43Z</BackupDateUTC> </RestorePoint>

(GET) /restorePoints/{ID}
Returns a resource representation of a backup restore point having the specified ID.

Request
To get a restore point, you need to send the GET HTTP request to the URL of the /restorePoints/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/restorePoints/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Uid Name Creation Time BackupUid Backup Name Backup ServerUid Backup ServerName Type Description Can Be Used for Filtering True True True True True Can Be Used for Sorting True True True True True

URN String Date Time URN String

ID of the restore point resource. Name of the restore point, for example: Aug 26 2013 7:57AM. Date and time when the restore point was created. The parameter accepts only UTCformatted DateTime values. ID of the VM backup parent to the restore point resource. Name of the backup parent to the restore point resource. ID of the Veeam backup server on which the restore point has been created. Name of the Veeam backup server on which the restore point has been created.

URN

True

True

String

True

True

202 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /restorePoints/{ID} resource.

Example
A sample request below returns a restore point having ID 69ff2edc-c9a5-4fce-9a7b-07f cfeff826b.
Request : GET http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b" Name="Jul 15 2013 10:49AM" UID="urn:veeam:RestorePoint:69ff2edc-c9a5-4fce-9a7b-07fcfeff826b"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/22bc3753-625f-4681-954228e92caf270e" Name="Exchange Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b?format=Entity" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b07fcfeff826b/vmRestorePoints" /> </Links> </EntityRef> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

203 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/vmRestorePoints
Represents a collection of restore points for separate VMs in backup files.

Resource URL
http://<Enterprise-Manager>:9399/api/vmRestorePoints

Related Resources
/vmRestorePoints/{ID}

Methods
The following methods are supported for the /vmRestorePoints resource: (GET) /vmRestorePoints

Resource Representation
The /vmRestorePoints resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1" Name="exch01@2013-08-08 12:03:09" UID="urn:veeam:VmRestorePoint:5253146b-a313-4831-9467-03c7e21b32e1"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/52bea0a0-e76d-4d4e-b5eec9d1485523af" Name="Aug 8 2013 12:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1?format=Entity" Name="exch01@2013-08-08 12:03:09" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/cbeb8fa5-da2b-4d4f-b58a06a4fdc0dc54" Name="sql01 (5bd562ee-4823-420c-a0a6-3c51f7d2ff9e)@2013-0728 16:01:37" UID="urn:veeam:VmRestorePoint:cbeb8fa5-da2b-4d4f-b58a06a4fdc0dc54"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/bd7543fc-0e5b-4e67-aad1207d1239885b" Name="Jul 28 2013 4:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/cbeb8fa5-da2b-4d4f-b58a06a4fdc0dc54?format=Entity" Name="sql01 (5bd562ee-4823-420c-a0a63c51f7d2ff9e)@2013-07-28 16:01:37" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/2da36881-dfcf-4d8d-8f2807e596ca01a3" Name="sql02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)@2013-0727 16:02:28" UID="urn:veeam:VmRestorePoint:2da36881-dfcf-4d8d-8f28-

204 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

07e596ca01a3"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/af4e3a56-f37c-43e9-8ecd312c44c5e6ba" Name="Jul 27 2013 4:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/2da36881-dfcf-4d8d-8f2807e596ca01a3?format=Entity" Name="sql02 (b1d5929b-91b5-4ae8-aea78297f3fc2c6b)@2013-07-27 16:02:28" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/499d17d4-78c0-40af-b4ba07ff24774c8c" Name="fileserver01@2013-07-19 09:59:07" UID="urn:veeam:VmRestorePoint:499d17d4-78c0-40af-b4ba-07ff24774c8c"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/53db72de-17f8-4f0d-b6d978eab90b78ae" Name="Jul 19 2013 9:55AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/499d17d4-78c0-40af-b4ba07ff24774c8c?format=Entity" Name="fileserver01@2013-07-19 09:59:07" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/77fbb7a2-e2ce-4bb5-80d8092374ca1a3e" Name="sharepoint@2013-08-07 03:01:25" UID="urn:veeam:VmRestorePoint:77fbb7a2-e2ce-4bb5-80d8-092374ca1a3e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/b3293726-99ea-4556-a675ce4a6efffa82" Name="Aug 7 2013 3:00AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/77fbb7a2-e2ce-4bb5-80d8092374ca1a3e?format=Entity" Name="sharepoint@2013-08-07 03:01:25" /> </Links> </Ref> ... </EntityReferences>

205 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /vmRestorePoints
Returns a resource representation of a collection of restore points for separate VMs in backup files.

Request
To get a list of restore points for separate VMs, you need to send the GET HTTP request to the URL of the /vmRestorePoints resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/vmRestorePoints

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmRestorePoints resource collection.

206 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a list of all restore points for backups created on Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/vmRestorePoints Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1" Name="exch01@2013-08-08 12:03:09" UID="urn:veeam:VmRestorePoint:5253146b-a313-4831-9467-03c7e21b32e1"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/52bea0a0-e76d-4d4e-b5eec9d1485523af" Name="Aug 8 2013 12:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1?format=Entity" Name="exch01@2013-08-08 12:03:09" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/cbeb8fa5-da2b-4d4f-b58a06a4fdc0dc54" Name="sql01 (5bd562ee-4823-420c-a0a6-3c51f7d2ff9e)@2013-0728 16:01:37" UID="urn:veeam:VmRestorePoint:cbeb8fa5-da2b-4d4f-b58a06a4fdc0dc54"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/bd7543fc-0e5b-4e67-aad1207d1239885b" Name="Jul 28 2013 4:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/cbeb8fa5-da2b-4d4f-b58a06a4fdc0dc54?format=Entity" Name="sql01 (5bd562ee-4823-420c-a0a63c51f7d2ff9e)@2013-07-28 16:01:37" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/2da36881-dfcf-4d8d-8f2807e596ca01a3" Name="sql02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)@2013-0727 16:02:28" UID="urn:veeam:VmRestorePoint:2da36881-dfcf-4d8d-8f2807e596ca01a3"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/af4e3a56-f37c-43e9-8ecd312c44c5e6ba" Name="Jul 27 2013 4:01PM" /> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

207 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/2da36881-dfcf-4d8d-8f2807e596ca01a3?format=Entity" Name="sql02 (b1d5929b-91b5-4ae8-aea78297f3fc2c6b)@2013-07-27 16:02:28" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/499d17d4-78c0-40af-b4ba07ff24774c8c" Name="fileserver01@2013-07-19 09:59:07" UID="urn:veeam:VmRestorePoint:499d17d4-78c0-40af-b4ba-07ff24774c8c"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/53db72de-17f8-4f0d-b6d978eab90b78ae" Name="Jul 19 2013 9:55AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/499d17d4-78c0-40af-b4ba07ff24774c8c?format=Entity" Name="fileserver01@2013-07-19 09:59:07" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/77fbb7a2-e2ce-4bb5-80d8092374ca1a3e" Name="sharepoint@2013-08-07 03:01:25" UID="urn:veeam:VmRestorePoint:77fbb7a2-e2ce-4bb5-80d8-092374ca1a3e"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/b3293726-99ea-4556-a675ce4a6efffa82" Name="Aug 7 2013 3:00AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/77fbb7a2-e2ce-4bb5-80d8092374ca1a3e?format=Entity" Name="sharepoint@2013-08-07 03:01:25" /> </Links> </Ref> ... </EntityReferences>

/vmRestorePoints/{ID}
Represents a VM restore point having the specified ID.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/ vmRestorePoints/{ID}?Format=Entity

208 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Related Resources
/backupServers/{ID} /restorePoints/{ID} /vmRestorePoints/{ID}/mounts

Methods
The following methods are supported for the /vmRestorePoints/{ID} resource: (GET) /vmRestorePoints/{ID} (POST) /vmRestorePoints/{ID}/mounts

Resource Representation
The /vmRestorePoints/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97" Name="exch01@2013-08-08 18:03:14" UID="urn:veeam:VmRestorePoint:710c0a5f-2783-4222-b669-0da996b09b97"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/40d5ffa2-e043-4f5c-863836a7b2383754" Name="Aug 8 2013 6:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97?format=Entity" Name="exch01@2013-08-08 18:03:14" /> </Links> </EntityRef>

Entity resource representation:


<VmRestorePoint xmlns="http://www.veeam.com/ent/v1.0" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97?format=Entity" Name="exch01@2013-08-08 18:03:14" UID="urn:veeam:VmRestorePoint:710c0a5f-2783-4222-b669-0da996b09b97" VmDisplayName="alba-exch01"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97?action=restore" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/40d5ffa2-e043-4f5c-863836a7b2383754" Name="Aug 8 2013 6:01PM" /> <Link Rel="Alternate" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97" Name="exch01@2013-08-08 18:03:14" /> <Link Rel="Down" Type="VmRestorePointMountList" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97/mounts" /> <Link Rel="Create" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b669-

209 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

0da996b09b97/mounts" /> </Links> <CreationTimeUTC>2013-08-08T18:03:14Z</CreationTimeUTC> <Algorithm>Incremental</Algorithm> <PointType>Increment</PointType> </VmRestorePoint>

(GET) /vmRestorePoints/{ID}
Returns a resource representation of a VM restore point having the specified ID.

Request
To get a VM restore point, you need to send the GET HTTP request to the URL of the /vmRestorePoints/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Uid Name Creation Time Type Description Can Be Used for Filtering True True Can Be Used for Sorting True True

URN String Date Time

ID of the VM backup point resource. Name of the VM backup restore point, for example: sql01-hv@2013-08-24 05:03:25. Date and time when the restore point was created. The parameter accepts only UTC-formatted DateTime values. Type of the VM backup restore point. Possible values: Full Increment ReverseIncrement Replication method used to create the restore point. Possible values: Full ReversedIncremental Incremental

True

True

Type

String

True

True

Algorithm

String

True

True

210 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Parameter

Type

Description SyntheticFull

Can Be Used for Filtering

Can Be Used for Sorting

Restore PointUid Restore PointName VmDisplay Name

URN

ID of the restore point.

True

True

String

Name of the restore point. Name of the VM for which the restore point has been created.

True

True

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmRestorePoints/{ID} resource.

Example
The example below returns a restore point having ID 710c0a5f-2783-4222-b669-0da996b09b97 for the exch01 VM:
Request : GET http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97" Name="exch01@2013-08-08 18:03:14" UID="urn:veeam:VmRestorePoint:710c0a5f-2783-4222-b669-0da996b09b97"> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

211 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/40d5ffa2-e043-4f5c-863836a7b2383754" Name="Aug 8 2013 6:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97?format=Entity" Name="exch01@2013-08-08 18:03:14" /> </Links> </EntityRef>

(POST) /vmRestorePoints/{ID}?action=restore
Starts the full VM restore process from the restore point having the specified ID.

Request
To start the full VM restore point, you need to send the POST HTTP request to the /vmRestorePoints/{ID}/?actions=restore URL. HTTP Request
POST http://<EnterpriseManager>:9399/api/vmrestorepoints/{ID}?action=restore

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

212 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Body In the request body, the client must send the parameters for the full VM restore process. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. Depending on the platform on which the restored VM is created, the request body may contain different elements. For VMware and Hyper-V platforms, the request body must contain the following elements:
Element PowerOn AfterRestore Type Description Specifies if the VM should be powered on after the restore process is complete. Modifiable Min/Max Occurrence 1/1

Boolean

Yes

For the vCloud Director platform, the request body must contain the following elements:
Element PowerOn AfterRestore HierarchyRoot Uid Type Description Specifies if the VM should be powered on after the restore process is complete. ID of the host on which the VM should be restored, for example: urn:veeam:HierarchyRoot:fa099d3b -7376-49b1-884c-bb6fa47c7b1e. Reference to the OrgVdc to which the VM should be restored. The reference can be constructed manually or obtained with the lookup service . Name of the vApp to which the VM should be restored. If this parameter is not specified, the VM is restored to its initial vApp. Defines VM-specific parameters. Modifiable Min/Max Occurrence 1/1

Boolean

Yes

UID

Yes

1/1

OrgVdcRef

Hierarchy ObjRef

Yes

1/1

vAppNewName

String vCloudVm Restore ParametersInfo

Yes

0/1

VmsRestore Parameters

No

213 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

VMs Restore Parameters

VM restore parameters are provided in the following format:


<VmsRestoreParameters> <Vm> <VmRestorePointUid>urn:veeam:VmRestorePoint:48c8cd65-d5fa-4ca6-8a98d3fde641086e</VmRestorePointUid> <VmNewName>vmTestSize</VmNewName> <DatastoreRef>urn:vCloud:Datastore:fa099d3b-7376-49b1-884cbb6fa47c7b1e.urn:vcloud:datastore:68d9f62d-f3c1-4842-8ad69b7faca3c92a</DatastoreRef> <OrgVdcStorageProfileRef>urn:vCloud:OrgVdcStorageProfile:fa099d3b7376-49b1-884c-bb6fa47c7b1e.urn:vcloud:vdcstorageprofile:1afeb3cc-bc4f4e0f-b092-a3f8bbe70adc</OrgVdcStorageProfileRef> <LinkedCloneVmTemplateRef/> </Vm> </VmsRestoreParameters>

You can define the following restore parameters for VMs:


Element VmRestore PointUid VmNew Name Datastore Ref OrgVdc Storage ProfileRef Linked CloneVm Template Ref HierarchyOb jRef Type Description ID of the restore point from which the VM should be restored, for example: urn:veeam:VmRestorePoint:48c8cd65-d5fa-4ca68a98-d3fde641086e. Name of the restored VM. If this parameter is not specified, the VM is restored with its initial name. Reference to the datastore on which VM files should be placed. The reference can be constructed manually or obtained with the lookup service . Reference to the OrgVdc profile to be used for the restored VM. The reference can be constructed manually or obtained with the lookup service . (For linked clone VMs) Reference to the template that was used to create the VM. The reference can be constructed manually or obtained with the lookup service . Modifiable Min/Max Occurrence

UID

Yes

1/1

String

Yes

0/1

HierarchyOb jRef

Yes

0/1

HierarchyOb jRef

Yes

0/1

Yes

0/1

For example:
<?xml version="1.0" encoding="utf-8"?> <RestoreSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <vCloudVAppRestoreSpec> <PowerOnAfterRestore>false</PowerOnAfterRestore> <HierarchyRootUid>urn:veeam:HierarchyRoot:fa099d3b-7376-49b1-884cbb6fa47c7b1e</HierarchyRootUid> <OrgVdcRef>urn:vCloud:OrgVdc:fa099d3b-7376-49b1-884cbb6fa47c7b1e.urn:vcloud:vdc:1d0bf8ae-8eac-4772-b6755a4cf06fcbc1</OrgVdcRef> <vAppNewName>vApp2</vAppNewName> <VmsRestoreParameters> <Vm> <VmRestorePointUid>urn:veeam:VmRestorePoint:48c8cd65-d5fa-4ca6-8a98d3fde641086e</VmRestorePointUid>

214 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<VmNewName>VM-restored</VmNewName> <DatastoreRef>urn:vCloud:Datastore:fa099d3b-7376-49b1-884cbb6fa47c7b1e.urn:vcloud:datastore:68d9f62d-f3c1-4842-8ad69b7faca3c92a</DatastoreRef> <OrgVdcStorageProfileRef>urn:vCloud:OrgVdcStorageProfile:fa099d3b7376-49b1-884c-bb6fa47c7b1e.urn:vcloud:vdcstorageprofile:1afeb3cc-bc4f4e0f-b092-a3f8bbe70adc</OrgVdcStorageProfileRef> <LinkedCloneVmTemplateRef/> </Vm> </VmsRestoreParameters> </vCloudVAppRestoreSpec> </RestoreSpec>

Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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 restores a VM from the restore point having ID b32c22c4-79af-4486-b2e21a3897db5c61:
Request : POST http://localhost:9399/api/vmRestorePoints/b32c22c4-79af-4486-b2e21a3897db5c61?action=restore Request Header: X-RestSvcSessionId Request Body : <?xml version="1.0" encoding="utf-8"?> <RestoreSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

215 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<VmRestoreSpec> <PowerOnAfterRestore>false</PowerOnAfterRestore> </VmRestoreSpec> </RestoreSpec> 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>StartVMRestore</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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Related" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/d67d532a-9ce2-43b8-88c690354f2f8727?format=Entity" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>StartVMRestore</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

(POST) /vmRestorePoints/{ID}/mounts
Starts the guest OS files restore for the VM from the specified restore point. Disks of the restored VM are mounted to the Veeam backup server and the VM guest OS files become available in the C:\VeeamFLR\<vm-name> folder.

Request
To start the VM guest OS files restore, you need to send the POST HTTP request to the /vmRestorePoints/{ID}/mounts URL.

216 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

HTTP Request
POST http://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}/mounts

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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 restores VM guest OS files from the restore point having ID 710c0a5f-2783-4222-b6690da996b09b97 for the exch01 VM:
Request : POST http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97/mounts Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

217 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

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>MountRestorePoint</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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Related" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b6690da996b09b97/mounts/1" Name="710c0a5f-2783-4222-b669-0da996b09b97@1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>MountRestorePoint</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

218 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/vmRestorePoints/{ID}/mounts
Represents a mount point collection resource. Mount points are specific Veeam Backup Enterprise Manager objects that provide access to VM guest OS files. The /vmRestorePoints/{ID}/mounts collection resource becomes available only after the client performs file-level restore for the VM by sending the POST HTTP request to the /vmRestorePoints/{ID}/mounts resource. During the restore process, Veeam Backup & Replication mounts VM disks to the Veeam backup server. As a result, the VM guest OS files can be accessed through the mount point by the following path: C:\VeeamFLR\<vm-name>. The client can then browse the VM guest file system, get the necessary files and folders and restore them.

Resource URL
http://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}/mounts

Related Resources
/vmrestorepoints/{ID}/mounts/{ID}

Methods
The following methods are supported for the /vmRestorePoints/{ID}/mounts resource: (GET) /vmRestorePoints/{ID}/mounts

Resource Representation
The /vmRestorePoints/{ID}/mounts resource has a resource representation of the following type:
<VmRestorePointMounts xmlns="http://www.veeam.com/ent/v1.0"> <VmRestorePointMount Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/Volume$0:"> <Path>Volume$0:</Path> <Name>Volume$0:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/F:"> <Path>F:</Path> <Name>F:</Name> </DirectoryEntry>

219 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</FSRoots> </VmRestorePointMount> </VmRestorePointMounts>

(GET) /vmRestorePoints/{ID}/mounts
Returns a resource representation of a mount points collection.

Request
To get a list of mount points, you need to send the GET HTTP request to the URL of the /vmRestorePoints/{ID}/mounts resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}/mounts

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmRestorePoints/{ID}/mounts resource.

220 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a list of mountpoints for the VM restore point having ID 5253146b-a313-48319467-03c7e21b32e1:
Request : GET http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <VmRestorePointMounts xmlns="http://www.veeam.com/ent/v1.0"> <VmRestorePointMount Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/Volume$0:"> <Path>Volume$0:</Path> <Name>Volume$0:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/F:"> <Path>F:</Path> <Name>F:</Name> </DirectoryEntry> </FSRoots> </VmRestorePointMount> </VmRestorePointMounts> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

221 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/vmRestorePoints/{ID}/mounts/{ID}
Represents a mount point resource having the specified ID. Mount points are specific Veeam Backup Enterprise Manager objects that provide access to VM guest OS files. The /vmRestorePoints/{ID}/mounts/{ID} resource becomes available only after the client performs file-level restore for the VM by sending the POST HTTP request to the /vmRestorePoints/{ID}/mounts resource. During the restore process, Veeam Backup & Replication mounts VM disks to the Veeam backup server. As a result, the VM guest OS files can be accessed through the mount point by the following path: C:\VeeamFLR\<vm-name>. The client can then browse the VM guest file system, get the necessary files and folders and restore them.

Resource URL
http://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}

Related Resources
/vmRestorePoints/{ID}

Methods
The following methods are supported for the /vmRestorePoints/{ID}/mounts/{ID} resource: (GET) /vmRestorePoints/{ID}/mounts/{ID} (DELETE) /vmRestorePoints/{ID}/mounts/{ID}

Resource Representation
The /vmRestorePoints/{ID}/mounts/{ID} resource has a resource representation of the following type:
<VmRestorePointMounts xmlns="http://www.veeam.com/ent/v1.0"> <VmRestorePointMount Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/Volume$0:"> <Path>Volume$0:</Path> <Name>Volume$0:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/F:"> <Path>F:</Path>

222 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Name>F:</Name> </DirectoryEntry> </FSRoots> </VmRestorePointMount> </VmRestorePointMounts>

(GET) /vmRestorePoints/{ID}/mounts/{ID}
Returns a resource representation of a mount point having the specified ID.

Request
To get a specific mount point, you need to send the GET HTTP request to the URL of the /vmRestorepoints/{ID}/mounts/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body The response body contains links to the mount point removal action and links to VM guest OS files and folders. By following the links, you can get to the resource representation of the necessary file and folder in the VM file system hierarchy.

223 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a resource representation of the mount point having ID 1 for the VM restore point having ID 5253146b-a313-4831-9467-03c7e21b32e1:
Request : GET http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <VmRestorePointMounts xmlns="http://www.veeam.com/ent/v1.0"> <VmRestorePointMount Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/Volume$0:"> <Path>Volume$0:</Path> <Name>Volume$0:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/F:"> <Path>F:</Path> <Name>F:</Name> </DirectoryEntry> </FSRoots> </VmRestorePointMount> </VmRestorePointMounts> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

(DELETE) /vmRestorePoints/{ID}/mounts/{ID}
Deletes a mount point having the specified ID and unmounts the VM disks from the Veeam backup server.

Request
To delete a mount point, you need to send the DELETE HTTP request to the URL of the /vmRestorePoints/{ID}/mounts/{ID} resource.

224 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

HTTP Request
DELETE http://<EnterpriseManager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes The server returns the following response to the client. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Codes A successfully operation returns response code 204 No Content. Response Body None.

Example
The example below removes a mount point having ID 1 for the VM restore point having ID 5253146ba313-4831-9467-03c7e21b32e1:
Request : DELETE http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

225 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response: 204 No Content Response Body: None

/vmRestorePoints/{ID}/mounts/{ID}/{filepath}
Represents a VM guest OS file or folder that can be restored. The /vmRestorePoints/{ID}/mounts/{ID}/{filepath} resource becomes available only after the client performs file-level restore for the VM by sending the POST HTTP request to the /vmRestorePoints/{ID}/mounts resource. During the restore process, Veeam Backup & Replication mounts VM disks to the Veeam backup server. As a result, the VM guest OS files can be accessed through the mount point by the following path: C:\VeeamFLR\<vm-name>. The client can then browse the VM guest file system, get the necessary files and folders and restore them.

Resource URL
http://<EnterpriseManager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}/{filepath}

Related Resources
/vmRestorePoints/{ID}/mounts/{ID}

Methods
The following methods are supported for the /vmRestorePoints/{ID}/mounts/{ID}/{filepath} resource: (GET) /vmrestorepoints/{ID}/mountpoints/{ID}/{filepath} (POST) /vmrestorepoints/{ID}/mountpoints/{ID} /{filepath}?action=restore

Resource Representation
The /vmRestorePoints/{ID}/mounts/{ID}/{filepath} resource has a resource representation of the following type:
<FileSystemEntries xmlns="http://www.veeam.com/ent/v1.0" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:?action=listAll"> <Links> <Link Rel="Up" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:" /> </Links> <Files> <FileEntry Type="FileEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/pagefile.sys"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/pagefile.sys?action=restore" />

226 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Links> <Path>C:/pagefile.sys</Path> <Name>pagefile.sys</Name> <Size>4294500352</Size> <ModifiedDateUTC>2013-05-17T11:53:25Z</ModifiedDateUTC> </FileEntry> </Files> <Directories> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/$Recycle.Bin"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/$Recycle.Bin?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/$Recycle.Bin?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/$Recycle.Bin?action=listFiles&pageSize=10&page=1 " /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/$Recycle.Bin?action=restore" /> </Links> <Path>C:/$Recycle.Bin</Path> <Name>$Recycle.Bin</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Documents%20and%20Settings"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Documents%20and%20Settings?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Documents%20and%20Settings?action=listDirs&pageS ize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Documents%20and%20Settings?action=listFiles&page Size=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Documents%20and%20Settings?action=restore" /> </Links> <Path>C:/Documents and Settings</Path> <Name>Documents and Settings</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ExchangeSetupLogs"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ExchangeSetupLogs?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ExchangeSetupLogs?action=listDirs&pageSize=10&pa ge=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ExchangeSetupLogs?action=listFiles&pageSize=10&p

227 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

age=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ExchangeSetupLogs?action=restore" /> </Links> <Path>C:/ExchangeSetupLogs</Path> <Name>ExchangeSetupLogs</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/inetpub"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/inetpub?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/inetpub?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/inetpub?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/inetpub?action=restore" /> </Links> <Path>C:/inetpub</Path> <Name>inetpub</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/PerfLogs"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/PerfLogs?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/PerfLogs?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/PerfLogs?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/PerfLogs?action=restore" /> </Links> <Path>C:/PerfLogs</Path> <Name>PerfLogs</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files?action=listDirs&pageSize=10&page =1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files?action=listFiles&pageSize=10&pag e=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files?action=restore" />

228 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Links> <Path>C:/Program Files</Path> <Name>Program Files</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files%20(x86)"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files%20(x86)?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files%20(x86)?action=listDirs&pageSize =10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files%20(x86)?action=listFiles&pageSiz e=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files%20(x86)?action=restore" /> </Links> <Path>C:/Program Files (x86)</Path> <Name>Program Files (x86)</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ProgramData"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ProgramData?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ProgramData?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ProgramData?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/ProgramData?action=restore" /> </Links> <Path>C:/ProgramData</Path> <Name>ProgramData</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Recovery"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Recovery?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Recovery?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Recovery?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Recovery?action=restore" /> </Links> <Path>C:/Recovery</Path>

229 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Name>Recovery</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Remote%20Debugger"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Remote%20Debugger?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Remote%20Debugger?action=listDirs&pageSize=10&pa ge=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Remote%20Debugger?action=listFiles&pageSize=10&p age=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Remote%20Debugger?action=restore" /> </Links> <Path>C:/Remote Debugger</Path> <Name>Remote Debugger</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/System%20Volume%20Information"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/System%20Volume%20Information?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/System%20Volume%20Information?action=listDirs&pa geSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/System%20Volume%20Information?action=listFiles&p ageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/System%20Volume%20Information?action=restore" /> </Links> <Path>C:/System Volume Information</Path> <Name>System Volume Information</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Users"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Users?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Users?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Users?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Users?action=restore" /> </Links> <Path>C:/Users</Path> <Name>Users</Name> </DirectoryEntry>

230 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Windows"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Windows?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Windows?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Windows?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Windows?action=restore" /> </Links> <Path>C:/Windows</Path> <Name>Windows</Name> </DirectoryEntry> </Directories> </FileSystemEntries>

(GET) /vmRestorePoints/{ID}/mounts/{ID}/{filepath}
Returns a resource representation of a file or folder in the VM guest OS.

Request
To get a specific VM guest OS file or folder, you need to send the GET HTTP request to the URL of the /vmRestorePoints/{ID}/mounts/{ID}/{filepath} resource. HTTP Request
GET http://<EnterpriseManager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}/{filepath}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers

231 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body The response body contains links to the file or folder restore action and links that let the client browse the VM file system. Following the links, the client can get a list of all files and folders, a list of files only, a list of folders only as well as can paginate display results.

Example
The example below returns a resource representation for the C:/Program Files folder in the VM guest OS:
Request : GET http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <FileSystemEntry xmlns="http://www.veeam.com/ent/v1.0"> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files?action=listDirs&pageSize=10&page =1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files?action=listFiles&pageSize=10&pag e=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Program%20Files?action=restore" /> </Links> <Path>C:/Program Files</Path> <Name>Program Files</Name> </DirectoryEntry> </FileSystemEntry> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

232 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(POST) /vmRestorePoints/{ID}/mounts/{ID}/{filepath}?action=restore
Restores a VM guest OS file or folder. The file or folder can be restored to its original location on the VM or can be downloaded to the Veeam backup server.

Request
To restore a VM guest OS file or folder, you need to send the POST HTTP request to the /vmRestorePoints/{ID}/mounts/{ID}/{filepath}?action=restore URL. HTTP Request
POST http://<EnterpriseManager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}/{filepath}?action=rest ore

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body In the request body, the client must send the parameters for the restore process. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. The request body must contain either of the following elements:
Element ToOriginalLocation ForDirectDownload Type Description Use this element if you want to restore the file to the original location. Use this element if you want to download the restored file. Modifiable No No Min/Max Occurrence

Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

233 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

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. Note: If you have selected to download a restored file or folder, the response body of the task resource will also contain links to files that can be downloaded and saved.

Example
The example below lets the client restore the C:/Documents and Settings folder from the VM guest OS and download it after restore:
Request : POST http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Documents%20and%20Settings Request Header: X-RestSvcSessionId Request Body : <?xml version="1.0" encoding="utf-8"?> <FileRestoreSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ForDirectDownload/> </FileRestoreSpec> 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>FileRestoreFromMountPoint</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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 Response: NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

234 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/desktop.ini?action=do wnload" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER. DAT?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser. dat.LOG1?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser. dat.LOG2?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER. DAT%7B016888bd-6c6f-11de-8d1d-001e0bcde3ec%7D.TM.blf?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER. DAT%7B016888bd-6c6f-11de-8d1d001e0bcde3ec%7D.TMContainer00000000000000000001.regtransms?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER. DAT%7B016888bd-6c6f-11de-8d1d001e0bcde3ec%7D.TMContainer00000000000000000002.regtransms?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser. ini?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator.HVCDEV0 1/NTUSER.DAT?action=download" /> ... </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>FileRestoreFromMountPoint</Operation> </Task>

235 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

To download the restored file, find the necessary link component in the resource representation of the task and send the GET HTTP request to the http://<EnterpriseManager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}/{filepath}?action=download URL. The file will be downloaded to the default downloads folder on the Veeam backup server.
Request : GET http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/Invoice .docx Request Header: X-RestSvcSessionId Response: 200 Success Response Body: None NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/vmReplicaPoints
Represents a collection of restore points for separate replicated VMs.

Resource URL
http://<Enterprise-Manager>:9399/api/vmReplicaPoints

Related Resources
/vmReplicaPoints/{ID}

Methods
The following methods are supported for the /vmReplicaPoints resource: (GET) /vmReplicaPoints

Resource Representation
The /vmReplicaPoints resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc" Name="fileserver01@2013-08-05 17:16:12" UID="urn:veeam:VmReplicaPoint:7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-

236 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

1ad2c58902bc?format=Entity" Name="fileserver01@2013-08-05 17:16:12" /> </Links> </Ref> <Ref Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/614a268e-897f-45f0-8f26376549b9f45d" Name="netware_vm@2013-08-06 17:54:18" UID="urn:veeam:VmReplicaPoint:614a268e-897f-45f0-8f26-376549b9f45d"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/614a268e-897f-45f0-8f26376549b9f45d?format=Entity" Name="netware_vm@2013-08-06 17:54:18" /> </Links> </Ref> <Ref Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/469b5b30-aca3-400d-a821402020fc824d" Name="netware_vm@2013-08-03 01:09:55" UID="urn:veeam:VmReplicaPoint:469b5b30-aca3-400d-a821-402020fc824d"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/469b5b30-aca3-400d-a821402020fc824d?format=Entity" Name="netware_vm@2013-08-03 01:09:55" /> </Links> </Ref> <Ref Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/368e73fa-c2b6-417e-a56b40cfbbc90448" Name="netware_vm@2013-08-07 01:09:16" UID="urn:veeam:VmReplicaPoint:368e73fa-c2b6-417e-a56b-40cfbbc90448"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/368e73fa-c2b6-417e-a56b40cfbbc90448?format=Entity" Name="netware_vm@2013-08-07 01:09:16" /> </Links> </Ref> ... </EntityReferences>

(GET) /vmReplicaPoints
Returns a resource representation of a collection of restore points for separate replicated VMs.

Request
To get a list of restore points for separate VMs, you need to send the GET HTTP request to the URL of the /vmReplicaPoints resource.

237 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

HTTP Request
GET http://<Enterprise-Manager>:9399/api/vmReplicaPoints

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmReplicaPoints resource collection.

Example
A sample request below returns a list of all restore points VM replicas created on Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/vmReplicaPoints Request Header: X-RestSvcSessionId Response: 200 Success NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

238 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc" Name="fileserver01@2013-08-05 17:16:12" UID="urn:veeam:VmReplicaPoint:7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc?format=Entity" Name="fileserver01@2013-08-05 17:16:12" /> </Links> </Ref> <Ref Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/614a268e-897f-45f0-8f26376549b9f45d" Name="netware_vm@2013-08-06 17:54:18" UID="urn:veeam:VmReplicaPoint:614a268e-897f-45f0-8f26-376549b9f45d"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/614a268e-897f-45f0-8f26376549b9f45d?format=Entity" Name="netware_vm@2013-08-06 17:54:18" /> </Links> </Ref> <Ref Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/469b5b30-aca3-400d-a821402020fc824d" Name="netware_vm@2013-08-03 01:09:55" UID="urn:veeam:VmReplicaPoint:469b5b30-aca3-400d-a821-402020fc824d"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/469b5b30-aca3-400d-a821402020fc824d?format=Entity" Name="netware_vm@2013-08-03 01:09:55" /> </Links> </Ref> <Ref Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/368e73fa-c2b6-417e-a56b40cfbbc90448" Name="netware_vm@2013-08-07 01:09:16" UID="urn:veeam:VmReplicaPoint:368e73fa-c2b6-417e-a56b-40cfbbc90448"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/368e73fa-c2b6-417e-a56b40cfbbc90448?format=Entity" Name="netware_vm@2013-08-07 01:09:16" /> </Links>

239 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Ref> ... </EntityReferences>

/vmReplicaPoints/{ID}
Represents a VM replica restore point having the specified ID.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}?Format=Entity

Related Resources
backupServers/{ID} /restorePoints/{ID} /vmReplicaPoints/{ID}/mounts

Methods
The following methods are supported for the /vmReplicaPoints/{ID} resource: (GET) /vmReplicaPoints/{ID} (POST) /vmReplicaPoints/{ID}/mounts

240 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representation
The /vmReplicaPoints/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc" Name="fileserver01@2013-08-05 17:16:12" UID="urn:veeam:VmReplicaPoint:7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc?format=Entity" Name="fileserver01@2013-08-05 17:16:12" /> </Links> </EntityRef>

Entity resource representation:


<VmReplicaPoint xmlns="http://www.veeam.com/ent/v1.0" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc?format=Entity" Name="fileserver01@2013-08-05 17:16:12" UID="urn:veeam:VmReplicaPoint:7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc" VmDisplayName="fileserver01"> <Links> <Link Rel="Failover" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc?action=failover" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc" Name="fileserver01@2013-08-05 17:16:12" /> <Link Rel="Down" Type="VmReplicaPointMountList" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc/mounts" /> <Link Rel="Create" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc/mounts" /> </Links> <CreationTimeUTC>2013-08-05T17:16:12Z</CreationTimeUTC> <Algorithm>Full</Algorithm> <PointType>Snapshot</PointType> </VmReplicaPoint>

241 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /vmReplicaPoints/{ID}
Returns a resource representation of a VM replica restore point having the specified ID.

Request
To get a restore point for a specific VM replica, you need to send the GET HTTP request to the URL of the /vmReplicaPoints/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Uid Name Creation Time Type Type Description Can Be Used for Filtering True True True Can Be Used for Sorting True True True

URN String Date Time String

ID of the VM replica point resource. Name of the VM replica point, for example: dchv@2013-08-21 11:03:38. Date and time when the restore point was created. The parameter accepts only UTC-formatted DateTime values. Type of the VM replica point. Possible values: VMware VMs: Snapshot, Increment Hyper-V VMs: Full, ReverseIncrement Replication method used to create the restore point. Possible values: VMware VMs: Full Hyper-V VMs: ReversedIncremental ID of the VM replica parent to the VM replica point resource. Name of the VM replica parent to the VM replica point resource. Name of the VM for which the restore point has been created.

True

True

Algorithm

String

True

True

ReplicaUid Replica Name VmDisplay Name

URN String

True True

True True

String

True

True

242 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmReplicaPoints/{ID} resource.

Example
The example below returns an entity resource representation of the VM replica restore point having ID 7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc:
Request : GET http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc?Format=Entity Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <VmReplicaPoint xmlns="http://www.veeam.com/ent/v1.0" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc?format=Entity" Name="fileserver01@2013-08-05 17:16:12" UID="urn:veeam:VmReplicaPoint:7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc" VmDisplayName="fileserver01"> <Links> <Link Rel="Failover" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc?action=failover" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a63f5b89978193" Name="win-tw5" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc" Name="fileserver01@2013-08-05 17:16:12" /> <Link Rel="Down" Type="VmReplicaPointMountList" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc/mounts" /> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

243 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Create" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc/mounts" /> </Links> <CreationTimeUTC>2013-08-05T17:16:12Z</CreationTimeUTC> <Algorithm>Full</Algorithm> <PointType>Snapshot</PointType> </VmReplicaPoint>

(POST) /vmReplicaPoints/{ID}?action=failover
Starts the VM replica failover process.

Request
To start the VM replica failover process, you need to send the POST HTTP request to the /vmRestorePoints/{ID}/?actions=failover URL. HTTP Request
POST http://<EnterpriseManager>:9399/api/vmrestorepoints/{ID}?action=failover

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

244 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

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 starts the failover process for a VM from the restore point having ID 469b5b30-aca3400d-a821-402020fc824d:
Request : POST http://localhost:9399/api/vmReplicaPoints/469b5b30-aca3-400d-a821402020fc824d?action=failover Request Header: X-RestSvcSessionId 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>StartReplicaFailover</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Related" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/40078d3c-96a1-46cd-a0815fa09b5944c5?format=Entity" /> </Links> <TaskId>task-1</TaskId> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

245 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<State>Finished</State> <Operation>StartReplicaFailover</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task>

(POST) /vmReplicaPoints/{ID}/mounts
Starts the guest OS files restore for the VM replica from the specified restore point. Disks of the restored VM are mounted to the Veeam backup server and the VM guest OS files become available in the C:\VeeamFLR\<vm-name> folder.

Request
To start the VM guest OS files restore, you need to send the POST HTTP request to the /vmReplicaPoints/{ID}/mounts URL. HTTP Request
POST http://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}/mounts

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

246 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

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 restores VM replica guest OS files from the restore point having ID 7b8f9c7d-4e73429a-9fc6-1ad2c58902bc:
Request : POST http://localhost:9399/api/vmReplicaPoints/710c0a5f-2783-4222-b6690da996b09b97/mounts Request Header: X-RestSvcSessionId 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>MountRestorePoint</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Related" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bc/mounts/2" Name="7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc@2" /> </Links> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

247 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<TaskId>task-1</TaskId> <State>Finished</State> <Operation>MountRestorePoint</Operation> <Result Success="true"> <Message>OK</Message> </Result> </Task>

/vmReplicaPoints/{ID}/mounts
Represents a mount point collection resource. Mount points are specific Veeam Backup Enterprise Manager objects that provide access to VM guest OS files. The /vmReplicaPoints/{ID}/mounts collection resource becomes available only after the client performs file-level restore for the VM replica by sending the POST HTTP request to the /vmReplicaPoints/{ID}/mounts resource. During the restore process, Veeam Backup & Replication mounts disks of a VM replica to the Veeam backup server. As a result, the VM replica guest OS files can be accessed through the mount point by the following path: C:\VeeamFLR\<vm-name>. The client can then browse the VM replica guest file system, get the necessary files and folders and restore them.

Resource URL
http://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}/mounts

Related Resources
/vmReplicaPoints/{ID}/mounts/{ID}

Methods
The following methods are supported for the /vmReplicaPoints/{ID}/mounts resource: (GET) /vmReplicaPoints/{ID}/mounts

Resource Representation
The /vmReplicaPoints/{ID}/mounts resource has a resource representation of the following type:
<VmReplicaPointMounts xmlns="http://www.veeam.com/ent/v1.0"> <VmReplicaPointMount Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bb/mounts/1"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bb/mounts/1" /> </Links> <FSRoots /> </VmReplicaPointMount> <VmReplicaPointMount Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bb/mounts/2"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-

248 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

1ad2c58902bb/mounts/2" /> </Links> <FSRoots /> </VmReplicaPointMount> </VmReplicaPointMounts>

(GET) /vmReplicaPoints/{ID}/mounts
Returns a resource representation of a VM replica mount points collection.

Request
To get a list of mount points for VM replicas, you need to send the GET HTTP request to the URL of the /vmReplicaPoints/{ID}/mounts resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}/mounts

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmReplicaPoints/{ID}/mounts resource.

249 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a list of mount points for the VM replica restore point having ID 7b8f9c7d4e73-429a-9fc6-1ad2c58902bb:
Request : GET http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bb/mounts Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <VmReplicaPointMounts xmlns="http://www.veeam.com/ent/v1.0"> <VmReplicaPointMount Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bb/mounts/1"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bb/mounts/1" /> </Links> <FSRoots /> </VmReplicaPointMount> <VmReplicaPointMount Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bb/mounts/2"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc61ad2c58902bb/mounts/2" /> </Links> <FSRoots /> </VmReplicaPointMount> </VmReplicaPointMounts> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/vmReplicaPoints/{ID}/mounts/{ID}
Represents a mount point resource having the specified ID. Mount points are specific Veeam Backup Enterprise Manager objects that provide access to VM replica guest OS files. The /vmReplicaPoints/{ID}/mounts/{ID} resource becomes available only after the client performs file-level restore for the VM by sending the POST HTTP request to the /vmReplicaPoints/{ID}/mounts resource. During the restore process, Veeam Backup & Replication mounts VM disks to the Veeam backup server. As a result, the VM guest OS files can be accessed through the mount point by the following path: C:\VeeamFLR\<vm-name>. The client can then browse the VM replica guest file system, get the necessary files and folders and restore them.

Resource URL
http://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}

250 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Related Resources
/vmReplicaPoints/{ID}

Methods
The following methods are supported for the /vmReplicaPoints/{ID}/mounts/{ID} resource: (GET) /vmrestorepoints/{ID}/mountpoints/{ID} (DELETE) /vmrestorepoints/{ID}/mountpoints/{ID}

Resource Representation
The /vmReplicaPoints/{ID}/mounts/{ID} resource has a resource representation of the following type:
<VmReplicaPointMounts xmlns="http://www.veeam.com/ent/v1.0"> <VmReplicaPointMount Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/Volume$0:"> <Path>Volume$0:</Path> <Name>Volume$0:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/F:"> <Path>F:</Path> <Name>F:</Name> </DirectoryEntry> </FSRoots> </VmReplicaPointMount> </VmReplicaPointMounts>

(GET) /vmReplicaPoints/{ID}/mounts/{ID}
Returns a resource representation of a mount point having the specified ID.

Request
To get a specific mount points, you need to send the GET HTTP request to the URL of the /vmReplicaPoints/{ID}/mounts/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}

251 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body The response body contains links to the mount point removal action and links to VM replica guest OS files and folders. By following the links, you can get to the resource representation of the necessary file and folder in the VM file system hierarchy.

Example
The example below returns a mount point having ID 1 for the VM replica restore point having ID 5253146b-a313-4831-9467-03c7e21b32ee:
Request : GET http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <VmReplicaPointMounts xmlns="http://www.veeam.com/ent/v1.0"> <VmReplicaPointMount Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

252 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

03c7e21b32ee/mounts/1"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/Volume$0:"> <Path>Volume$0:</Path> <Name>Volume$0:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/F:"> <Path>F:</Path> <Name>F:</Name> </DirectoryEntry> </FSRoots> </VmReplicaPointMount> </VmReplicaPointMounts>

(DELETE) /vmReplicaPoints/{ID}/mounts/{ID}
Deletes a mount point having the specified ID and unmounts the VM replica disks from the Veeam backup server.

Request
To delete a mount point, you need to send the DELETE HTTP request to the URL of the /vmReplicaPoints/{ID}/mounts/{ID} resource. HTTP Request
DELETE http://<EnterpriseManager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

253 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes The server returns the following response to the client. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Codes A successfully operation returns response code 204 No Content. Response Body None.

Example
The example below removes a mount point having ID 1 for the VM replica restore point having ID 5253146b-a313-4831-9467-03c7e21b32ee:
Request : DELETE http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1 Request Header: X-RestSvcSessionId Response: 204 No Content Response Body: None NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/vmReplicaPoints/{ID}/mounts/{ID}/{filepath}
Represents a VM guest OS file or folder that can be restored. The /vmReplicaPoints/{ID}/mounts/{ID}/{filepath} resource becomes available only after the client performs file-level restore for the VM by sending the POST HTTP request to the /vmReplicaPoints/{ID}/mounts resource. During the restore process, Veeam Backup & Replication mounts VM replica disks to the Veeam backup server. As a result, the VM guest OS files can be accessed through the mount point by the following path: C:\VeeamFLR\<vm-name>. The client can then browse the VM guest file system, get the necessary files and folders and restore them.

254 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource URL
http://<EnterpriseManager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}/{filepath}

Related Resources
/vmReplicaPoints/{ID}/mounts/{ID}

Methods
The following methods are supported for the /vmReplicaPoints/{ID}/mounts/{ID}/{filepath} resource: (GET) /vmReplicaPoints/{ID}/mounts/{ID} /{filepath} (POST) /vmReplicaPoints/{ID}/mounts/{ID}/{file path}?action=restore

Resource Representation
The /vmReplicaPoints/{ID}/mounts/{ID}/{filepath} resource has a resource representation of the following type:
<FileSystemEntries xmlns="http://www.veeam.com/ent/v1.0" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:?action=listAll"> <Links> <Link Rel="Up" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:" /> </Links> <Files> <FileEntry Type="FileEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/pagefile.sys"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/pagefile.sys?action=restore" /> </Links> <Path>C:/pagefile.sys</Path> <Name>pagefile.sys</Name> <Size>4294500352</Size> <ModifiedDateUTC>2013-05-17T11:53:25Z</ModifiedDateUTC> </FileEntry> </Files> <Directories> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/$Recycle.Bin"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/$Recycle.Bin?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/$Recycle.Bin?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/$Recycle.Bin?action=listFiles&pageSize=10&page=1 " /> <Link Rel="Restore"

255 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/$Recycle.Bin?action=restore" /> </Links> <Path>C:/$Recycle.Bin</Path> <Name>$Recycle.Bin</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Documents%20and%20Settings"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Documents%20and%20Settings?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Documents%20and%20Settings?action=listDirs&pageS ize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Documents%20and%20Settings?action=listFiles&page Size=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Documents%20and%20Settings?action=restore" /> </Links> <Path>C:/Documents and Settings</Path> <Name>Documents and Settings</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ExchangeSetupLogs"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ExchangeSetupLogs?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ExchangeSetupLogs?action=listDirs&pageSize=10&pa ge=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ExchangeSetupLogs?action=listFiles&pageSize=10&p age=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ExchangeSetupLogs?action=restore" /> </Links> <Path>C:/ExchangeSetupLogs</Path> <Name>ExchangeSetupLogs</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/inetpub"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/inetpub?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/inetpub?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/inetpub?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/inetpub?action=restore" />

256 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Links> <Path>C:/inetpub</Path> <Name>inetpub</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/PerfLogs"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/PerfLogs?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/PerfLogs?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/PerfLogs?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/PerfLogs?action=restore" /> </Links> <Path>C:/PerfLogs</Path> <Name>PerfLogs</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files?action=listDirs&pageSize=10&page =1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files?action=listFiles&pageSize=10&pag e=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files?action=restore" /> </Links> <Path>C:/Program Files</Path> <Name>Program Files</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files%20(x86)"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files%20(x86)?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files%20(x86)?action=listDirs&pageSize =10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files%20(x86)?action=listFiles&pageSiz e=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files%20(x86)?action=restore" /> </Links> <Path>C:/Program Files (x86)</Path>

257 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Name>Program Files (x86)</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ProgramData"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ProgramData?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ProgramData?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ProgramData?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/ProgramData?action=restore" /> </Links> <Path>C:/ProgramData</Path> <Name>ProgramData</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Recovery"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Recovery?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Recovery?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Recovery?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Recovery?action=restore" /> </Links> <Path>C:/Recovery</Path> <Name>Recovery</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Remote%20Debugger"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Remote%20Debugger?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Remote%20Debugger?action=listDirs&pageSize=10&pa ge=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Remote%20Debugger?action=listFiles&pageSize=10&p age=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Remote%20Debugger?action=restore" /> </Links> <Path>C:/Remote Debugger</Path> <Name>Remote Debugger</Name> </DirectoryEntry>

258 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/System%20Volume%20Information"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/System%20Volume%20Information?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/System%20Volume%20Information?action=listDirs&pa geSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/System%20Volume%20Information?action=listFiles&p ageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/System%20Volume%20Information?action=restore" /> </Links> <Path>C:/System Volume Information</Path> <Name>System Volume Information</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Users"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Users?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Users?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Users?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Users?action=restore" /> </Links> <Path>C:/Users</Path> <Name>Users</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Windows"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Windows?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Windows?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Windows?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Windows?action=restore" /> </Links> <Path>C:/Windows</Path> <Name>Windows</Name> </DirectoryEntry> </Directories> </FileSystemEntries>

259 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /vmReplicaPoints/{ID}/mounts/{ID}/{filepath}
Returns a resource representation of a file or folder in the VM replica guest OS.

Request
To get a specific VM replica guest OS file or folder, you need to send the GET HTTP request to the URL of the /vmReplicaPoints/{ID}/mounts/{ID}/{filepath} resource. HTTP Request
GET http://<EnterpriseManager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}/{filepath}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body The response body contains links to the file or folder restore action and links that let the client browse the VM replica file system. Following the links, the client can get a list of all files and folders, a list of files only, a list of folders only as well as can paginate display results.

Example
The example below returns a resource representation for the C:/Program Files folder in the VM replica guest OS:

260 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request : GET http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <FileSystemEntry xmlns="http://www.veeam.com/ent/v1.0"> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files?action=listDirs&pageSize=10&page =1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files?action=listFiles&pageSize=10&pag e=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32ee/mounts/1/C:/Program%20Files?action=restore" /> </Links> <Path>C:/Program Files</Path> <Name>Program Files</Name> </DirectoryEntry> </FileSystemEntry> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

(POST) /vmReplicaPoints/{ID}/mounts/{ID}/{filepath}?action=restore
Restores a VM replica guest OS file or folder. The file or folder can be restored to its original location on the VM or can be downloaded to the Veeam backup server.

Request
To restore a VM guest OS file or folder, you need to send the POST HTTP request to the /vmReplicaPoints/{ID}/mounts/{ID}/{filepath}?action=restore URL. HTTP Request
POST http://<EnterpriseManager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}/{filepath}?action=rest ore

261 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body In the request body, the client must send the parameters for the restore process. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. The request body must contain either of the following elements:
Element ToOriginalLocation ForDirectDownload Type Description Use this element if you want to restore the file to the original location. Use this element if you want to download the restored file. Modifiable No No Min/Max Occurrence

Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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. Important! If you have selected to download a restored file or folder, the response body of the task resource will also contain links to files that can be downloaded and saved.

Example
The example below lets the client restore the C:/Documents and Settings folder from the VM guest OS and download it after restore:

262 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request : POST http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/C:/Documents%20and%20Settings Request Header: X-RestSvcSessionId Request Body : <?xml version="1.0" encoding="utf-8"?> <FileRestoreSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ForDirectDownload/> </FileRestoreSpec> 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>FileRestoreFromMountPoint</Operation> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/desktop.ini?action=do wnload" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER. DAT?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

263 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser. dat.LOG1?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser. dat.LOG2?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER. DAT%7B016888bd-6c6f-11de-8d1d-001e0bcde3ec%7D.TM.blf?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER. DAT%7B016888bd-6c6f-11de-8d1d001e0bcde3ec%7D.TMContainer00000000000000000001.regtransms?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER. DAT%7B016888bd-6c6f-11de-8d1d001e0bcde3ec%7D.TMContainer00000000000000000002.regtransms?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser. ini?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator.HVCDEV0 1/NTUSER.DAT?action=download" /> ... </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>FileRestoreFromMountPoint</Operation> </Task>

To download the restored file, find the necessary link component in the resource representation of the task and send the GET HTTP request to the http://<EnterpriseManager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}/{filepath}?action=download URL. The file will be downloaded to the default downloads folder on the Veeam backup server.
Request : GET http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-946703c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/Invoice .docx Request Header: X-RestSvcSessionId Response: 200 Success Response Body: None NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

264 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/catalog/vms
Represents a collection of VMs whose guest OS files have been indexed during backup or replication procedures.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/catalog/vms

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/catalog/vms?Format=Entity

Related Resources
/catalog/vms/{vmname}

Methods
The following methods are supported for the /catalog/vms resource: (GET) /catalog/vms

Resource Representation
The /catalog/vms resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="CatalogVmReference" Href="http://localhost:9399/api/catalog/vms/dc" Name="dc" UID="urn:veeam:CatalogVm:dc"> <Links> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/dc?format=Entity" /> <Link Rel="Down" Type="CatalogVmRestorePointReferenceList" Href="http://localhost:9399/api/catalog/vms/dc/vmRestorePoints" /> </Links> </EntityRef>

Entity resource representation:


<CatalogVm xmlns="http://www.veeam.com/ent/v1.0" Type="CatalogVm" Href="http://localhost:9399/api/catalog/vms/dc?format=Entity" Name="dc" UID="urn:veeam:CatalogVm:dc" VmDisplayName="dc"> <Links> <Link Rel="Alternate" Type="CatalogVmReference" Href="http://localhost:9399/api/catalog/vms/dc" Name="dc" /> <Link Rel="Down" Type="CatalogVmRestorePointReferenceList" Href="http://localhost:9399/api/catalog/vms/dc/vmRestorePoints" /> </Links> </CatalogVm>

265 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /catalog/vms
Returns a resource representation of a VM collection whose guest OS files have been indexed during backup or replication.

Request
To get a list of VMs with indexed guest OS files, you need to send the GET HTTP request to the URL of the /catalog/vms resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/catalog/vms

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /catalog/vms collection resource.

Example
The example below returns a list of all VMs whose guest OS files have been indexed during backup or replication.

266 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request : GET http://localhost:9399/api/catalog/vms Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="CatalogVmReference" Href="http://localhost:9399/api/catalog/vms/exch01" Name="alba-exch01" UID="urn:veeam:CatalogVm:alba-exch01"> <Links> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01?format=Entity" /> <Link Rel="Down" Type="CatalogVmRestorePointReferenceList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints" /> </Links> </Ref> <Ref Type="CatalogVmReference" Href="http://localhost:9399/api/catalog/vms/sql01" Name="Spain Barcelona (Exchange 2010)" UID="urn:veeam:CatalogVm:Spain - Barcelona (Exchange 2010)"> <Links> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/sql01?format=Entity" /> <Link Rel="Down" Type="CatalogVmRestorePointReferenceList" Href="http://localhost:9399/api/catalog/vms/sql01/vmRestorePoints" /> </Links> </Ref> </EntityReferences> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/catalog/vms/{vmname}
Represents a VM having the specified name whose guest OS files have been indexed during backup or replication.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/catalog/vms/{vmname}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/ catalog/vms/{vmname}?Format=Entity

Related Resources
/catalog/vms/{vmname}/vmRestorePoints

267 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Methods
The following methods are supported for the /catalog/vms/{vmname} resource: (GET) /catalog/vms/{vmname}

Resource Representation
The /catalog/vms/{vmname} resource has a resource representation of the following type:
<CatalogVm xmlns="http://www.veeam.com/ent/v1.0" Type="CatalogVm" Href="http://localhost:9399/api/catalog/vms/exch01?format=Entity" Name="alba-exch01" UID="urn:veeam:CatalogVm:exch01" VmDisplayName="exch01"> <Links> <Link Rel="Alternate" Type="CatalogVmReference" Href="http://localhost:9399/api/catalog/vms/exch01" Name="alba-exch01" /> <Link Rel="Down" Type="CatalogVmRestorePointReferenceList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints" /> </Links> </CatalogVm>

(GET) /catalog/vms/{vmname}
Returns a resource representation of a VM having the specified name whose guest OS files have been indexed during backup.

Request
To get a VM with indexed guest OS files, you need to send the GET HTTP request to the URL of the /catalog/vms/{vmname} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/catalog/vms/{vmname}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success.

268 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /catalog/vms/{vmname} resource.

Example
The example below returns a representation of a VM having the exch01 name. The VM guest OS files have been indexed during backup.
Request : GET http://localhost:9399/api/catalog/vms/exch01 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <CatalogVm xmlns="http://www.veeam.com/ent/v1.0" Type="CatalogVm" Href="http://localhost:9399/api/catalog/vms/exch01?format=Entity" Name="exch01" UID="urn:veeam:CatalogVm:exch01" VmDisplayName="exch01"> <Links> <Link Rel="Alternate" Type="CatalogVmReference" Href="http://localhost:9399/api/catalog/vms/exch01" Name="exch01" /> <Link Rel="Down" Type="CatalogVmRestorePointReferenceList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints" /> </Links> </CatalogVm> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/catalog/vms/{vmname}/vmRestorePoints
Represents a collection of restore points for VMs whose guest OS files have been indexed during backup or replication.

Resource URL
http://<Enterprise-Manager>:9399/api/catalog/vms/{vmname}/vmRestorePoints

Related Resources
/catalog/vms/{vmname}/vmRestorePoints/{ID}

269 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Methods
The following methods are supported for the /catalog/vms/{vmname}/vmRestorePoints resource: (GET) /catalog/vms/{vmname}/vmRestorePoints

Resource Representation
The /catalog/vms/{vmname}/vmRestorePoints resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a" Name="7/15/2013 10:52:00 AM" UID="urn:veeam:CatalogVmRestorePoint:1bd3ebf0-34fa-40f6-bc4cc9bacdba8c0a"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a?format=Entity" /> </Links> </Ref> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/7ef345 ee-2f73-4624-bdd8-90f4b5130584" Name="7/18/2013 1:47:00 PM" UID="urn:veeam:CatalogVmRestorePoint:7ef345ee-2f73-4624-bdd890f4b5130584"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/7ef345 ee-2f73-4624-bdd8-90f4b5130584?format=Entity" /> </Links> </Ref> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/6b1f2c 41-089a-4cee-849b-8142f8e02c6a" Name="7/19/2013 7:09:00 AM" UID="urn:veeam:CatalogVmRestorePoint:6b1f2c41-089a-4cee-849b8142f8e02c6a"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/6b1f2c 41-089a-4cee-849b-8142f8e02c6a?format=Entity" /> </Links> </Ref> ... </EntityReferences>

(GET) /catalog/vms/{vmname}/vmRestorePoints
Returns a resource representation of a collection of restore points for a VM whose guest OS files have been indexed.

Request
To get a list of restore points for a VM, you need to send the GET HTTP request to the URL of the /catalog/vms/{vmname}/vmRestorePoints resource.

270 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

HTTP Request
GET http://<EnterpriseManager>:9399/api/catalog/vms/{vmname}/vmRestorePoints

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /catalog/vms/{vmname}/vmRestorePoints collection resource.

Example
The example below returns a list of all restore points for a VM having the exch01 name.
Request : GET http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints Request Header: X-RestSvcSessionId Response: 200 Success NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

271 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a" Name="7/15/2013 10:52:00 AM" UID="urn:veeam:CatalogVmRestorePoint:1bd3ebf0-34fa-40f6-bc4cc9bacdba8c0a"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a?format=Entity" /> </Links> </Ref> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/7ef345 ee-2f73-4624-bdd8-90f4b5130584" Name="7/18/2013 1:47:00 PM" UID="urn:veeam:CatalogVmRestorePoint:7ef345ee-2f73-4624-bdd890f4b5130584"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/7ef345 ee-2f73-4624-bdd8-90f4b5130584?format=Entity" /> </Links> </Ref> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/6b1f2c 41-089a-4cee-849b-8142f8e02c6a" Name="7/19/2013 7:09:00 AM" UID="urn:veeam:CatalogVmRestorePoint:6b1f2c41-089a-4cee-849b8142f8e02c6a"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/6b1f2c 41-089a-4cee-849b-8142f8e02c6a?format=Entity" /> </Links> </Ref> ... </EntityReferences>

/catalog/vms/{vmname}/vmRestorePoints/{ID}
Represents a VM restore point having the specified ID. The restore point is created for a VM having the specified name; guest OS files of the VM have been indexed during backup or replication.

Resource URL
The URL of the reference resource representation:
http://<EnterpriseManager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/ catalog/vms/{vmname}/vmRestorePoints/{ID}?Format=Entity

272 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Related Resources
/catalog/vms/{vmname}/vmRestorePoints

Methods
The following methods are supported for the /catalog/vms/{vmname}/vmRestorePoints /{ID} resource: (GET) /catalog/vms/{vmname}/vmRestorePoints /{ID} (POST) /catalog/vms/{vmname}/vmRestorePoints/{ID}?action=browse

Resource Representation
The /catalog/vms/{vmname}/vmrestorepoints /{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/dc/vmRestorePoints/39face38b4ae-4995-bc3d-093d83b6e01e" Name="9/8/2013 5:03:00 AM" UID="urn:veeam:CatalogVmRestorePoint:39face38-b4ae-4995-bc3d093d83b6e01e"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/dc" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/dc/vmRestorePoints/39face38b4ae-4995-bc3d-093d83b6e01e?format=Entity" /> </Links> </EntityRef>

Entity resource representation:


<CatalogVmRestorePoint xmlns="http://www.veeam.com/ent/v1.0" Type="CatalogVmRestorePoint" Href="http://localhost:9399/api/catalog/vms/dc/vmRestorePoints/39face38b4ae-4995-bc3d-093d83b6e01e?format=Entity" Name="dc" UID="urn:veeam:CatalogVmRestorePoint:39face38-b4ae-4995-bc3d093d83b6e01e"> <Links> <Link Rel="Alternate" Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/dc/vmRestorePoints/39face38b4ae-4995-bc3d-093d83b6e01e" Name="dc" /> <Link Rel="Up" Type="CatalogVm" Href="http://localhost:9399/api/catalog/vms/dc?format=Entity" Name="dc" /> <Link Rel="Browse" Href="http://localhost:9399/api/catalog/vms/dc/vmRestorePoints/39face38b4ae-4995-bc3d-093d83b6e01e?action=browse" /> <Link Rel="Related" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/39face38-b4ae-4995-bc3d093d83b6e01e?format=Entity" Name="dc" /> </Links> <BackupDateUTC>2013-09-08T05:03:00Z</BackupDateUTC> </CatalogVmRestorePoint>

273 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /catalog/vms/{vmname}/vmRestorePoints /{ID}


Returns a VM restore point having the specified ID. The restore point is created for a VM having the specified name; guest OS files of the VM have been indexed during backup or replication.

Request
To get a VM restore point, you need to send the GET HTTP request to the URL of the /catalog/vms/{vmname}/vmRestorePoints /{ID} resource. HTTP Request
GET http://<EnterpriseManager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /catalog/vms/{vmname}/vmRestorePoints/{ID} resource.

274 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a restore point having ID 1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a for a VM having the exch01 name:
Request : GET http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf034fa-40f6-bc4c-c9bacdba8c0a Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <CatalogVmRestorePoint xmlns="http://www.veeam.com/ent/v1.0" Type="CatalogVmRestorePoint" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a?format=Entity" Name="exch01" UID="urn:veeam:CatalogVmRestorePoint:1bd3ebf0-34fa-40f6-bc4cc9bacdba8c0a"> <Links> <Link Rel="Alternate" Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a" Name="exch01" /> <Link Rel="Up" Type="CatalogVm" Href="http://localhost:9399/api/catalog/vms/exch01?format=Entity" Name="exch01" /> <Link Rel="Browse" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a?action=browse" /> <Link Rel="Related" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/35e736fc-14c2-43f8-ac65a90c505bd4ac?format=Entity" Name="exch01" /> <Link Rel="Related" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/28427880-6ad4-41f1-9619cb9b1c5ecafe?format=Entity" Name="exch01" /> </Links> <BackupDateUTC>2013-07-15T10:52:00Z</BackupDateUTC> </CatalogVmRestorePoint> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

(POST) /catalog/vms/{vmname}/vmRestorePoints/{ID}?action=browse
Starts the guest OS file restore process of the VM from the specified restore point. The VM disks are mounted to the Veeam backup server and VM guest OS files become available for restore.

Request
To start the VM guest OS restore process, you need to send the POST HTTP request to the /catalog/vms/{vmname}/vmRestorePoints/{ID}?action=browse URL.

275 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

HTTP Request
POST http://<EnterpriseManager>:9399/catalog/vms/{vmname}/vmRestorePoints/{ID}?action=browse

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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. The response body also contains a link to the VM file system that allows you to browse for VM guest OS files.

276 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below starts the guest OS files restore process for the exch01 VM from the restore point having ID 1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a:
Request : POST http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf034fa-40f6-bc4c-c9bacdba8c0a?action=browse Request Header: X-RestSvcSessionId 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>BrowseVM</Operation> <Result Success="true" /> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/
Represents a hierarchy of the VM guest OS files within a VM backup or replica. The /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/ resource becomes available after the client sends the POST request to the /catalog/vms/{vmname}/vmRestorePoints/{ID}?action=browse URL.

Resource URL
http://<EnterpriseManager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/

Related Resources
/catalog/vms/{vmname}/vmRestorePoints/{ID}

Methods
The following methods are supported for the /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs resource: (GET) /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/

277 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representation
The /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs resource has a resource representation of the following type:
<FileSystemEntry xmlns="http://www.veeam.com/ent/v1.0"> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/?action=listDirs&pageSize=10&page=1" /> </Links> </DirectoryEntry> </FileSystemEntry>

(GET) /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/
Returns a resource representation of the hierarchy of the VM guest OS file system within a backup or replica.

Request
To get the hierarchy of the VM guest OS file system, you need to send the GET HTTP request to the URL of the /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/ resource. HTTP Request
GET http://<EnterpriseManager>:9399/api//catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client.

278 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body The response body contains links that let you browse the VM guest OS file system. Following the links, the client can get a list of all files and folders, a list of files only, a list of folders only as well as paginate display results.

Example
The example below returns a resource representation of the VM guest OS file system hierarchy for the exch01 VM:
Request : GET http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf034fa-40f6-bc4c-c9bacdba8c0a/guestfs Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <FileSystemEntry xmlns="http://www.veeam.com/ent/v1.0"> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/?action=listDirs&pageSize=10&page=1" /> </Links> </DirectoryEntry> </FileSystemEntry> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

279 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{f ilepath}
Represents a VM guest OS file or folder that can be accessed and restored. The /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath} resource becomes available after the client sends the POST request to the /catalog/vms/{vmname}/vmRestorePoints/{ID}?action=browse URL.

Resource URL
http://<EnterpriseManager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{file path}

Related Resources
/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/

Methods
The following methods are supported for the /catalog/vms/{vmname}/vmRestorePoints /{ID}/guestfs/{filepath} resource: (GET) /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath} (POST) /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath}?action=restore

Resource Representation
The /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath} resource has a resource representation of the following type:
<FileSystemEntries xmlns="http://www.veeam.com/ent/v1.0"> <Links> <Link Rel="Up" Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:" /> </Links> <Files /> <Directories> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RECYCLE.BIN"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RECYCLE.BIN?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/$RECYCLE.BIN?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/$RECYCLE.BIN?action=listDirs&pageSize=10&page=1" /> </Links> <Path>F:\$RECYCLE.BIN</Path> <Name>$RECYCLE.BIN</Name>

280 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RmMetadata"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RmMetadata?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/$RmMetadata?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/$RmMetadata?action=listDirs&pageSize=10&page=1" /> </Links> <Path>F:\$RmMetadata</Path> <Name>$RmMetadata</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchDB?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchDB?action=listDirs&pageSize=10&page=1" /> </Links> <Path>F:\ExchDB</Path> <Name>ExchDB</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchLogs"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchLogs?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchLogs?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchLogs?action=listDirs&pageSize=10&page=1" /> </Links> <Path>F:\ExchLogs</Path> <Name>ExchLogs</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/System%20Volume%20Information"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb

281 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/System%20Volume%20Information?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/System%20Volume%20Information?action=listFiles&pa geSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/System%20Volume%20Information?action=listDirs&pag eSize=10&page=1" /> </Links> <Path>F:\System Volume Information</Path> <Name>System Volume Information</Name> </DirectoryEntry> </Directories> </FileSystemEntries>

(GET) /catalog/vms/{vmname}/vmRestorePoints /{ID}/guestfs/{filepath}


Returns a resource representation of a file or folder in the VM guest OS.

Request
To get a specific VM guest OS file or folder, you need to send the GET HTTP request to the URL of the /catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath} resource. HTTP Request
GET http://<EnterpriseManager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{file path}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success.

282 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body The response body contains links to the file or folder restore action and links that let the client browse the VM file system. Following the links, the client can get a list of all files and folders, a list of files only or a list of folders only.

Example
The example below returns a resource representation for the F:/ExchDB/Mailbox Database folder in the VM guest OS:
Request : GET http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf034fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/Mailbox%20Database Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <FileSystemEntries xmlns="http://www.veeam.com/ent/v1.0"> <Links> <Link Rel="Up" Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187" /> </Links> <Directories> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187/catalogdat a-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e86cc9085c894e"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187/catalogdat a-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e86cc9085c894e?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187/catalogdat a-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e8NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

283 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

6cc9085c894e?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187/catalogdat a-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e86cc9085c894e?action=listDirs&pageSize=10&page=1" /> </Links> <Path>F:/ExchDB/Mailbox Database 0094410187/catalogdata-383a5446-de164f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e8-6cc9085c894e</Path> <Name>catalogdata-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e4df8-a0e8-6cc9085c894e</Name> </DirectoryEntry> </Directories> <PagingInfo PagesCount="1" PageSize="10" PageNum="1"> <Links> <Link Rel="First" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187?action=lis tDirs&pageSize=10&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4cc9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187?action=lis tDirs&pageSize=10&page=1" /> </Links> </PagingInfo> </FileSystemEntries>

(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=rest ore URL. HTTP Request
POST http://<EnterpriseManager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{file path}?action=restore

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None.

284 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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/1bd3ebf034fa-40f6-bc4c-c9bacdba8c0a/guestfs/C:/Users Request Header: X-RestSvcSessionId 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> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

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

285 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request : GET http://localhost:9399/api/tasks/task-1 Request Header: X-RestSvcSessionId 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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>RestoreFile</Operation> <Result Success="true"> <Message>a3d17707-6f32-40db-8e6a-595ea1e81019</Message> </Result> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/security
Represents a security resource. The security resource provides access to Veeam Backup Enterprise Manager security settings and allows the client to manage roles used in Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/security

Related Resources
/security/roles /security/accounts

Methods
The following methods are supported for the /security resource: (GET) /security

Resource Representation
The /security resource has a resource representation of the following type:
<EnterpriseSecuritySettings xmlns="http://www.veeam.com/ent/v1.0" Href="http://localhost:9399/api/security"> <Links> <Link Rel="Down" Type="EnterpriseAccountReferenceList" Href="http://localhost:9399/api/security/accounts" />

286 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Down" Type="EnterpriseRoleReferenceList" Href="http://localhost:9399/api/security/roles" /> <Link Rel="Create" Href="http://localhost:9399/api/security/accounts" /> <Link Rel="Start" Href="http://localhost:9399/api/security/accounts?action=rebuildScope" /> </Links> </EnterpriseSecuritySettings>

(GET) /security
Returns a resource representation of the security resource. The security resource provides access to Veeam Backup Enterprise Manager security settings and allows the client to manage roles used in Veeam Backup Enterprise Manager.

Request
To get access to security settings in Veeam Backup Enterprise Manager via Veeam Backup Enterprise Manager RESTful API, you need to send the GET HTTP request to the URL of the /security resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/security

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body

287 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

In the response body, Veeam Backup Enterprise Manager returns a representation of the /security resource.

Example
The example below returns a resource representation of the /security resource in Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/security Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EnterpriseSecuritySettings xmlns="http://www.veeam.com/ent/v1.0" Href="http://localhost:9399/api/security"> <Links> <Link Rel="Down" Type="EnterpriseAccountReferenceList" Href="http://localhost:9399/api/security/accounts" /> <Link Rel="Down" Type="EnterpriseRoleReferenceList" Href="http://localhost:9399/api/security/roles" /> <Link Rel="Create" Href="http://localhost:9399/api/security/accounts" /> <Link Rel="Start" Href="http://localhost:9399/api/security/accounts?action=rebuildScope" /> </Links> </EnterpriseSecuritySettings> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/security/roles
Represents a collection of security roles used in Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/security/roles

Related Resources
/security /security/roles/{ID} /security/accounts

Methods
The following methods are supported for the /security/roles resource: (GET) /security/roles

288 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representation
The /security/roles resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e" Name="Portal User" UID="urn:veeam:EnterpriseRole:d19a3d33cb77-4ffe-94e6-001432483a4e"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/f84a8b62-49b8-4d0c-b25b92321b52bab6" Name="File Restore Operator" UID="urn:veeam:EnterpriseRole:f84a8b62-49b8-4d0c-b25b-92321b52bab6"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/f84a8b62-49b8-4d0c-b25b92321b52bab6?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/5f37a46b-9ce2-40f4-8a62b45b079257fc" Name="Portal Administrator" UID="urn:veeam:EnterpriseRole:5f37a46b-9ce2-40f4-8a62-b45b079257fc"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/5f37a46b-9ce2-40f4-8a62b45b079257fc?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/c11c0c38-ba8b-49c7-bf70fc2058fff1e2" Name="VM Restore Operator" UID="urn:veeam:EnterpriseRole:c11c0c38-ba8b-49c7-bf70-fc2058fff1e2"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/c11c0c38-ba8b-49c7-bf70fc2058fff1e2?format=Entity" /> </Links> </Ref> </EntityReferences>

(GET) /security/roles
Returns a collection of security roles used in Veeam Backup Enterprise Manager.

Request
To get a list of security roles used in Veeam Backup Enterprise Manager, you need to send the GET HTTP request to the URL of the /security/roles resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/security/roles

289 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /security/roles resource collection.

Example
The example below returns a list of security roles used in Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/security/roles Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e" Name="Portal User" UID="urn:veeam:EnterpriseRole:d19a3d33cb77-4ffe-94e6-001432483a4e"> <Links> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

290 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/f84a8b62-49b8-4d0c-b25b92321b52bab6" Name="File Restore Operator" UID="urn:veeam:EnterpriseRole:f84a8b62-49b8-4d0c-b25b-92321b52bab6"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/f84a8b62-49b8-4d0c-b25b92321b52bab6?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/5f37a46b-9ce2-40f4-8a62b45b079257fc" Name="Portal Administrator" UID="urn:veeam:EnterpriseRole:5f37a46b-9ce2-40f4-8a62-b45b079257fc"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/5f37a46b-9ce2-40f4-8a62b45b079257fc?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/c11c0c38-ba8b-49c7-bf70fc2058fff1e2" Name="VM Restore Operator" UID="urn:veeam:EnterpriseRole:c11c0c38-ba8b-49c7-bf70-fc2058fff1e2"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/c11c0c38-ba8b-49c7-bf70fc2058fff1e2?format=Entity" /> </Links> </Ref> </EntityReferences>

/security/roles/{ID}
Represents a Veeam Backup Enterprise Manager security role having the specified ID.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/security/roles/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/security/roles/{ID}?Format=Entity

Related Resources
/security /security/roles /security/accounts

291 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Methods
The following methods are supported for the /security/roles/{ID} resource: (GET) /security/roles/{ID}

Resource Representation
The /security/roles/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e" Name="Portal User" UID="urn:veeam:EnterpriseRole:d19a3d33cb77-4ffe-94e6-001432483a4e"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e?format=Entity" /> </Links> </EntityRef>

Entity resource representation:


<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e" Name="Portal User" UID="urn:veeam:EnterpriseRole:d19a3d33cb77-4ffe-94e6-001432483a4e"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e?format=Entity" /> </Links> </EntityRef>

(GET) /security/roles/{ID}
Returns a security role having the specified ID. The security role belongs to a list of roles used in Veeam Backup Enterprise Manager.

Request
To get a security role used in Veeam Backup Enterprise Manager, you need to send the GET HTTP request to the URL of the /security/roles/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/security/roles/{ID}

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

292 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Body None. Query Parameters The following parameters can be used in queries:
Parameter Type Description ID of the security role used in Veeam Backup Enterprise Manager, for example:urn:veeam:EnterpriseRole:d19a3d33-cb77-4ffe94e6-001432483a4e. Name of the security role used in Veeam Backup Enterprise Manager ,for example: Portal User. Can Be Used for Filtering Can Be Used for Sorting

UID

URN

True

True

Name

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /security/roles/{ID} resource.

Example
A sample request below returns the Portal User security role in used Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EnterpriseRole xmlns="http://www.veeam.com/ent/v1.0" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e?format=Entity" Name="Portal User" NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

293 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

UID="urn:veeam:EnterpriseRole:d19a3d33-cb77-4ffe-94e6-001432483a4e"> <Links> <Link Rel="Alternate" Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6001432483a4e" /> </Links> </EnterpriseRole>

/security/accounts
Represents a collection of accounts having specific security roles in Veeam Backup Enterprise Manager.

Resource URL
http://<Enterprise-Manager>:9399/api/security/accounts

Related Resources
/security /security/accounts/{ID} /security/roles/{ID}

Methods
The following methods are supported for the /security/accounts resource: (GET) /security/accounts (POST) /security/accounts (POST) /security/accounts ?action=rebuildScope

Resource Representation
The /security/accounts resource has a resource representation of the following type:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/ae8d6950-bbca-40659716-0909cc52aac2" Name="VEEAMBACKUP\Administrator" UID="urn:veeam:EnterpriseAccount:ae8d6950-bbca-4065-9716-0909cc52aac2"> <Links> <Link Rel="Alternate" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/ae8d6950-bbca-40659716-0909cc52aac2?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3" Name="BUILTIN\Administrators" UID="urn:veeam:EnterpriseAccount:fd4befd6-70c6-4b2f-a068-d1d9a61905a3"> <Links> <Link Rel="Alternate" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3?format=Entity" /> </Links> </Ref> </EntityReferences>

294 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /security/accounts
Returns a collection of accounts having specific security roles in Veeam Backup Enterprise Manager.

Request
To get a list of accounts having specific security roles in Veeam Backup Enterprise Manager, you need to send the GET HTTP request to the URL of the /security/accounts resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/security/accounts

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /security/accounts collection resource.

295 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a list of accounts having specific security roles in Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/security/accounts Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/ae8d6950-bbca-40659716-0909cc52aac2" Name="VEEAMBACKUP\Administrator" UID="urn:veeam:EnterpriseAccount:ae8d6950-bbca-4065-9716-0909cc52aac2"> <Links> <Link Rel="Alternate" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/ae8d6950-bbca-40659716-0909cc52aac2?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3" Name="BUILTIN\Administrators" UID="urn:veeam:EnterpriseAccount:fd4befd6-70c6-4b2f-a068-d1d9a61905a3"> <Links> <Link Rel="Alternate" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3?format=Entity" /> </Links> </Ref> </EntityReferences> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

(POST) /security/accounts
Assigns the selected Veeam Backup Enterprise Manager role to a user account or a group.

Request
HTTP Request
POST http://<Enterprise-Manager>:9399/api/security/accounts

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

296 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Body In the request body, the client must send the parameters for the account that should be added to Veeam Backup Enterprise Manager and the ID of the role that should be assigned to the account. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. The request body must contain the following elements:
Element Type Description Type of account added to Veeam Backup Enterprise Manager. Possible values: User Group Name of the account added to Veeam Backup Enterprise Manager, for example: VEEAM\Administrator. ID of the role assigned to the added account. To get a list of IDs for available roles, send the Modifiable Min/Max Occurrence

AccountType

AccountType Enumeration

No

1/1

AccountName

String

Yes

1/1

Roles

URN

GET HTTP request to the /security/roles resource .


Defines whether the account should have permissions to perform restore for all VMs or not. If this element contains False, the client should provide the restore scope in the HierarchyScopeObjects element. Restore scope assigned to the added account. To learn more, see Hierarchy Scope Settings.

No

1/1

AllowRestoreAll Vms

Boolean

No

1/1

HierarchyScope Objects

HierarchyScopeCrea teSpecType

No

0/1

For example:
<?xml version="1.0" encoding="utf-8"?> <EnterpriseAccountCreateSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <AccountType>User</AccountType> <AccountName>VEEAM\Administrator</AccountName> <Roles> <EnterpriseRole> <EnterpriseRoleUid>urn:veeam:EnterpriseRole:f84a8b62-49b8-4d0c-b25b92321b52bab6</EnterpriseRoleUid> </EnterpriseRole> </Roles> <AllowRestoreAllVms>false</AllowRestoreAllVms> <HierarchyScopeObjects> <HierarchyScopeItem> <HieararchyObjRef/> <ObjectName/> </HierarchyScopeItem> </HierarchyScopeObjects> </EnterpriseAccountCreateSpec>

297 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Hierarchy Scope Settings

Hierarchy scope settings are provided in the following format:


<HierarchyScopeObjects> <HierarchyScopeItem> <HieararchyObjRef>urn:VMware:Vm: a2b0c55d-829a-4efe-bd95125ee77ba9dd.vm-7870</HieararchyObjRef> <ObjectName>VM01</ObjectName> </HierarchyScopeItem> </HierarchyScopeObjects>

You can define the following hierarchy scope settings for the added account:
Element Type Description Reference to the object in the virtual infrastructure hierarchy. You can construct the reference manually or use the lookup service to retrieve the reference. Name of the object in the virtual infrastructure hierarchy, for example: VM01. Modifiable Min/Max Occurrence

Hieararchy ObjRef

HierarchyObjRef Type

Yes

0/1

ObjectName

String

Yes

0/1

Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 201 Created. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

298 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below adds the User account to Veeam Backup Enterprise Manager and assigns the Restore Operator role to it:
Request: POST http://localhost:9399/api/security/accounts Request Header: X-RestSvcSessionId Request Body: <?xml version="1.0" encoding="utf-8"?> <EnterpriseAccountCreateSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <AccountType>User</AccountType> <AccountName>VEEAM\User</AccountName> <Roles> <EnterpriseRole> <EnterpriseRoleUid>urn:veeam:EnterpriseRole:f84a8b62-49b8-4d0c-b25b92321b52bab6</EnterpriseRoleUid> </EnterpriseRole> </Roles> <AllowRestoreAllVms>true</AllowRestoreAllVms> <HierarchyScopeObjects> <HierarchyScopeItem> <HieararchyObjRef/> <ObjectName/> </HierarchyScopeItem> </HierarchyScopeObjects> </EnterpriseAccountCreateSpec> Response: 201 Created Response Body: None NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

(POST) /security/accounts?action=rebuildScope
Rebuilds a restore scope for all user accounts added to Veeam Backup Enterprise Manager. Veeam Backup Enterprise Manager periodically rescans the virtual infrastructure to get the latest data about the virtual infrastructure hierarchy and rebuild the restore scope for user accounts. The rescan procedure is performed automatically once a day. You can start the rebuild scope operation manually when you need to perform rescan. For example, you can perform this operation in case some new VMs have been created and you want to immediately include them to the restore scope for some user.

299 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request
HTTP Request
POST http://<EnterpriseManager>:9399/api/security/accounts?action=rebuildScope

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 201 Created. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

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.

300 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below rebuilds the restore scope for all users currently added to Veeam Backup Enterprise Manager.
Request : POST http://localhost:9399/api/security/accounts?action=rebuildScope Request Header: X-RestSvcSessionId Response: 201 Created 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>Finished</State> <Operation>StartRebuildScope</Operation> <Result Success="true" /> </Task> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/security/accounts/{ID}
Represents an account having the specified ID. The account is added to Veeam Backup Enterprise Manager and has a specific security role.

Resource URL
The URL of the reference resource representation:
http://<Enterprise-Manager>:9399/api/security/accounts/{ID}

The URL of the entity resource representation:


http://<Enterprise-Manager>:9399/api/security/accounts/{ID}?Format=Entity

Related Resources
/security /security/accounts /security/roles /security/accounts/{ID} /scopes

301 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Methods
The following methods are supported for the /security/accounts/{ID} resource: (GET) /security/accounts/{ID} (POST) /security/accounts/{ID} (POST) /security/accounts/{ID}/roles (DELETE) /security/accounts/{ID}

Resource Representation
The /security/accounts/{ID} resource has a resource representation of the following types. Entity reference resource representation:
<EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d" Name="BACKUPSERVER\Operator" UID="urn:veeam:EnterpriseAccount:9570aed1-7eff-4684-b77a-7735bdbe820d"> <Links> <Link Rel="Alternate" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d?format=Entity" /> </Links> </EntityRef>

Entity resource representation:


<EnterpriseAccount xmlns="http://www.veeam.com/ent/v1.0" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d?format=Entity" Name="BACKUPSERVER\Operator" UID="urn:veeam:EnterpriseAccount:9570aed1-7eff-4684-b77a-7735bdbe820d"> <Links> <Link Rel="Alternate" Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d" /> <Link Rel="Down" Type="EnterpriseAccountInRoleList" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d/roles" /> <Link Rel="Create" Type="EnterpriseAccountInRole" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d/roles" /> <Link Rel="Down" Type="EnterpriseAccountHierarchyScopeList" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d/scopes" /> <Link Rel="Create" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d/scopes" /> <Link Rel="Delete" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d" /> <Link Rel="ToggleRestoreScopesEnabled" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684b77a-7735bdbe820d" /> </Links> <AccountType>User</AccountType> <AllowRestoreAllVms>false</AllowRestoreAllVms> </EnterpriseAccount>

302 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /security/accounts/{ID}
Returns an account having the specified ID. The account is added to Veeam Backup Enterprise Manager and has a specific security role.

Request
To get an account having the specified ID, you need to send the GET HTTP request to the URL of the /security/accounts/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/security/accounts/{ID}

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries:
Parameter Type Description ID of the account that has a specific security role in Veeam Backup Enterprise Manager, for example: urn:veeam:EnterpriseAccount:9570aed1-7eff-4684b77a-7735bdbe820d. Name of the account that has a specific security role in Veeam Backup Enterprise Manager, for example: BACKUPSERVER\Operator. Type of the account that has a specific security role in Veeam Backup Enterprise Manager. Possible values: User Group Can Be Used for Filtering Can Be Used for Sorting

UID

URN

True

True

Name

String

True

True

Account Type

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success.

303 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /security/accounts/{ID} resource.

Example
A sample request below returns an account having ID fd4befd6-70c6-4b2f-a068-d1d9a61905a3:
Request : GET http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068d1d9a61905a3 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EnterpriseAccount xmlns="http://www.veeam.com/ent/v1.0" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3?format=Entity" Name="BUILTIN\Administrators" UID="urn:veeam:EnterpriseAccount:fd4befd6-70c6-4b2f-a068-d1d9a61905a3"> <Links> <Link Rel="Alternate" Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3" /> <Link Rel="Down" Type="EnterpriseAccountInRoleList" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3/roles" /> <Link Rel="Create" Type="EnterpriseAccountInRole" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3/roles" /> <Link Rel="Down" Type="EnterpriseAccountHierarchyScopeList" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3/scopes" /> <Link Rel="Create" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3/scopes" /> <Link Rel="Delete" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3" /> <Link Rel="ToggleRestoreScopesEnabled" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3" /> </Links> <AccountType>Group</AccountType> <AllowRestoreAllVms>true</AllowRestoreAllVms> </EnterpriseAccount> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

304 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(POST) /security/accounts/{ID}
Enables or disables the Restore scope: All virtual machines option specified for the account. The account added to Veeam Backup Enterprise Manager can be assigned a permission to restore all VMs in the virtual infrastructure or only those VMs that belong to a specific level: for example, VMs that reside in specific resource pool. By sending the POST HTTP request to the /security/accounts/{ID} URL, you the client can toggle this settings to enabled or disabled.

Request
To enable or disable the Restore scope: All virtual machines option for the account, you need to send the POST HTTP request to the /security/accounts/{ID} URL. HTTP Request
POST http://<Enterprise-Manager>:9399/api/security/accounts/{ID}

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 204 No Content. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

305 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below disables the Restore scope: All virtual machines option for the account having ID b1f22c43-645a-4a38-8d8e-560188b03f95:
Request : POST http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068d1d9a61905a3 Request Header: X-RestSvcSessionId Response: 204 No Content Response Body: None NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

(POST) /security/accounts/{ID}/roles
Assigns a Veeam Backup Enterprise Manager security role to the specified user account.

Request
To assign a security role to an account having the specified ID, you need to send the POST HTTP request to the URL of the /security/accounts/{ID}/roles resource. HTTP Request
POST http://<Enterprise-Manager>:9399/api/security/accounts/{ID}/roles

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body In the request body, the client must send the parameters for the role that should be assigned to the account. The body of the request must conform to the XML Schema Definition of Enterprise Manager RESTful API. The request body must contain the following elements:
Element Type Enterprise Account InRoleCreate SpecType Description ID of the role that must be assigned to the account. To get a list of IDs for available roles, send the GET HTTP Modifiable Min/Max Occurrence

Roles

request to the /security/roles resource .

No

1/1

306 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

For example:
<?xml version="1.0" encoding="utf-8"?> <EnterpriseAccountInRoleCreateSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <EnterpriseRoleUid>urn:veeam:EnterpriseRole:f84a8b62-49b8-4d0c-b25b92321b52bab6</EnterpriseRoleUid> </EnterpriseAccountInRoleCreateSpec>

Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 201 Created. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

Example
The example below assigns the Restore Operator role to the account having ID fd4befd6-70c6-4b2f-a068d1d9a61905a3:
Request : POST http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068d1d9a61905a3/roles Request Header: X-RestSvcSessionId Request Body : <?xml version="1.0" encoding="utf-8"?> <EnterpriseAccountInRoleCreateSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <EnterpriseRoleUid>urn:veeam:EnterpriseRole:f84a8b62-49b8-4d0c-b25b92321b52bab6</EnterpriseRoleUid> </EnterpriseAccountInRoleCreateSpec> Response: 201 Created NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

307 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Body: None

(DELETE) /security/accounts/{ID}
Removes the Veeam Backup Enterprise Manager security role from the account having the specified ID.

Request
To remove a security role from the account having the specified ID, you need to send the DELETE HTTP request to the URL of the /security/accounts/{ID} resource. HTTP Request
DELETE http://<Enterprise-Manager>:9399/api/security/accounts/{ID}

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 204 No Content. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

308 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below removes the Veeam Backup Enterprise Manager security role from the account having ID fd4befd6-70c6-4b2f-a068-d1d9a61905a3:
Request : DELETE http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2fa068-d1d9a61905a3 Request Header: X-RestSvcSessionId Response: 204 No Content Response Body: None NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/security/accounts/{ID}/scopes
Represents a restore scope defined for the specified account that is added to Veeam Backup Enterprise Manager and has a specific security role.

Resource URL
http://<Enterprise-Manager>:9399/api/security/accounts/{ID}/scopes

Related Resources
/security/accounts/{ID}

Methods
The following methods are supported for the /security/accounts/{ID}/scopes resource: (GET) /security/accounts/{ID}/scopes (POST) /security/accounts /{ID}/scopes

Resource Representation
The /security/accounts/{ID}/scopes resource has a resource representation of the following type:
<EnterpriseAccountHierarchyScopes xmlns="http://www.veeam.com/ent/v1.0"> <EnterpriseAccountHierarchyScope Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9" /> </Links> <Name>172.16.11.43</Name> <HierarchyRootName>sls-i0359.veeam.local</HierarchyRootName> <Platform>HyperV</Platform>

309 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<HierarchyObjectType>Host</HierarchyObjectType> <State>Processed</State> </EnterpriseAccountHierarchyScope> </EnterpriseAccountHierarchyScopes>

(GET) /security/accounts/{ID}/scopes
Returns a restore scope defined for the specified account. The account is added to Veeam Backup Enterprise Manager and has a specific security role.

Request
To get a restore scope defined for the account having the specified ID, you need to send the GET HTTP request to the URL of the /security/accounts/{ID}/scopes resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/security/accounts/{ID}/scopes

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /security/accounts/{ID}/scopes resource.

310 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a restore scope for the account having ID 448744d7-d5fd-4f8a-83d2c06e4ab796b6:
Request : GET http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a-83d2c06e4ab796b6/scopes Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EnterpriseAccountHierarchyScopes xmlns="http://www.veeam.com/ent/v1.0"> <EnterpriseAccountHierarchyScope Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9" /> </Links> <Name>172.16.11.43</Name> <HierarchyRootName>sls-i0359.veeam.local</HierarchyRootName> <Platform>HyperV</Platform> <HierarchyObjectType>Host</HierarchyObjectType> <State>Processed</State> </EnterpriseAccountHierarchyScope> </EnterpriseAccountHierarchyScopes> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

(POST) /security/accounts /{ID}/scopes


Assigns a restore scope to the account having the specified ID. The account is added to Veeam Backup Enterprise Manager and has a specific security role.

Request
To assign a restore scope to the account having the specified ID, you need to send the POST HTTP request to the URL of the /security/accounts/{ID}/scopes resource. HTTP Request
POST http://<Enterprise-Manager>:9399/api/security/accounts/{ID}/scopes

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body

311 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

In the request body, the client must send parameters of the restore scope. The restore scope is specified as a branch in the virtual infrastructure hierarchy. The client defines the upper node in the branch and all child nodes of the defined node become available to the user for restore. For example, if you want to allow the user to restore data from all VMs in the VMs resource pool, you need to send the parameters of the resource pool node in the request body. As a result, Veeam Backup Enterprise Manager will allow the user to restore data from all VMs residing in the VMs resource pool. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API. The request body must contain the following elements:
Element Hieararchy ObjRef Object Name Type Description Reference to the object in the virtual infrastructure hierarchy. The reference can be constructed manually or obtained with the lookup service . Name of the object in the virtual infrastructure hierarchy, for example: VM01. Modifiable Min/Max Occurrence

Hierarchy ObjRefType

Yes

0/1

String

Yes

0/1

For example:
<HierarchyScopeObjects> <HierarchyScopeItem> <HieararchyObjRef>urn:VMware:Vm: a2b0c55d-829a-4efe-bd95125ee77ba9dd.vm-7870</HieararchyObjRef> <ObjectName>VM01</ObjectName> </HierarchyScopeItem> </HierarchyScopeObjects>

Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully 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 Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

312 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below assigns the restore scope to the account having ID b1f22c43-645a-4a38-8d8e560188b03f95. The restore scope includes only one VM: SQLSRV having MoRef vm-15309.
Request : POST http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068d1d9a61905a3/scopes Request Header: X-RestSvcSessionId Request Body : <HierarchyScopeObjects> <HierarchyScopeItem> <HieararchyObjRef>urn:VMware:Vm: a2b0c55d-829a-4efe-bd95125ee77ba9dd.vm-7870</HieararchyObjRef> <ObjectName>VM01</ObjectName> </HierarchyScopeItem> </HierarchyScopeObjects> Response: 202 Accepted NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/security/accounts/{ID}/scopes/{ID}
Represents a specific restore scope defined for the specified account. The account is added to Veeam Backup Enterprise Manager and has a specific security role.

Resource URL
http://<Enterprise-Manager>:9399/api/security/accounts/{ID}/scopes/{ID}

Related Resources
/security/accounts/{ID} /scopes

Methods
The following methods are supported for the /security/accounts/{ID}/scopes/{ID} resource: (GET) /security/accounts/{ID}/scopes/{ID} (DELETE) /security/accounts /{ID}/scopes/{ID}

Resource Representation
The /security/accounts/{ID}/scopes/{ID} resource has a resource representation of the following types.
<EnterpriseAccountHierarchyScope xmlns="http://www.veeam.com/ent/v1.0" Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope"

313 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9" /> </Links> <Name>172.16.11.43</Name> <HierarchyRootName>sls-i0359.veeam.local</HierarchyRootName> <Platform>HyperV</Platform> <HierarchyObjectType>Host</HierarchyObjectType> <State>Processed</State> </EnterpriseAccountHierarchyScope>

(GET) /security/accounts/{ID}/scopes/{ID}
Returns a restore scope having the specified ID. The scope is defined for the account that is added to Veeam Backup Enterprise Manager and has a specific security role.

Request
To get a restore scope defined for the account having the specified ID, you need to send the GET HTTP request to the URL of the /security/accounts/{ID}/scopes/{ID} resource. HTTP Request
GET http://<EnterpriseManager>:9399/api/security/accounts/{ID}/scopes/{ID}

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.
Parameter Type Description ID of the hierarchy root scope resource, for example: 2afe748f-bdc3-49d0-883720d2037a1176. ID of the account parent to the hierarchy scope resource. State of the hierarchy scope. Possible values: Processed and Unprocessed. Name of the hierarchy scope resource, for example: Production. Name of the hierarchy root objects assigned as a scope, for example: vcprod.veeam.local. Can Be Used for Filtering Can Be Used for Sorting True True True True True

ID AccountUid ScopeState ScopeName Hierarchy RootName

String URN String String String

True True True True True

314 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client.

Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /security/accounts/{ID}/scopes/{ID} resource.

Example
The example below returns a restore scope having ID 75316e14-c742-4e7e-b594-ee532ae50fe9 for the account having ID 448744d7-d5fd-4f8a-83d2-c06e4ab796b6:
Request : GET http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a-83d2c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <EnterpriseAccountHierarchyScope xmlns="http://www.veeam.com/ent/v1.0" Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9" /> </Links> <Name>172.16.11.43</Name> <HierarchyRootName>sls-i0359.veeam.local</HierarchyRootName> <Platform>HyperV</Platform> <HierarchyObjectType>Host</HierarchyObjectType> <State>Processed</State> </EnterpriseAccountHierarchyScope> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

315 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(DELETE) /security/accounts /{ID}/scopes/{ID}


Removes the restore scope having the specified ID from the account having the specified ID. The account is added to Veeam Backup Enterprise Manager and has a specific security role.

Request
To remove a restore scope from the account having the specified ID, you need to send the DELETE HTTP request to the URL of the /security/accounts/{ID}/scopes/{ID} resource. HTTP Request
DELETE http://<EnterpriseManager>:9399/api/security/accounts/{ID}/scopes/{ID}

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 204 No Content. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

316 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below removes a restore scope having ID 75316e14-c742-4e7e-b594-ee532ae50fe9 for the account having ID 448744d7-d5fd-4f8a-83d2-c06e4ab796b6:
Request : DELETE http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9 Request Header: X-RestSvcSessionId Response: 204 No Content Response Body: None NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/tasks
Represents a collection of all tasks created by Veeam Backup Enterprise Manager in response to client requests.

Resource URL
http://<Enterprise-Manager>:9399/api/tasks

Related Resources
/tasks/{ID}

Methods
The following methods are supported for the /tasks resource: (GET) /tasks

Resource Representation
The /tasks resource has a resource representation of the following type:
<Tasks xmlns="http://www.veeam.com/ent/v1.0"> <Task Type="Task" Href="http://localhost:9399/api/tasks/task-24"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-24" /> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/wintw4/vmRestorePoints/7525f8a7-6073-402f-bc80-019c7edb2a42/guestfs/" /> </Links> <TaskId>task-24</TaskId> <State>Finished</State> <Operation>BrowseVM</Operation> <Result Success="true" /> </Task> <Task Type="Task" Href="http://localhost:9399/api/tasks/task-25">

317 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-25" /> </Links> <TaskId>task-25</TaskId> <State>Finished</State> <Operation>RestoreFile</Operation> <Result Success="true"> <Message>a3d17707-6f32-40db-8e6a-595ea1e81019</Message> </Result> </Task> </Tasks>

(GET) /tasks
Returns a resource representation of a collection of tasks created by Veeam Backup Enterprise Manager.

Request
To get a list of tasks, you need to send the GET HTTP request to the URL of the /tasks resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/tasks

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

318 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /tasks resource collection.

Example
The example below returns a list of all tasks created by Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/tasks Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <Tasks xmlns="http://www.veeam.com/ent/v1.0"> <Task Type="Task" Href="http://localhost:9399/api/tasks/task-24"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-24" /> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/wintw4/vmRestorePoints/7525f8a7-6073-402f-bc80-019c7edb2a42/guestfs/" /> </Links> <TaskId>task-24</TaskId> <State>Finished</State> <Operation>BrowseVM</Operation> <Result Success="true" /> </Task> <Task Type="Task" Href="http://localhost:9399/api/tasks/task-25"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-25" /> </Links> <TaskId>task-25</TaskId> <State>Finished</State> <Operation>RestoreFile</Operation> <Result Success="true"> <Message>a3d17707-6f32-40db-8e6a-595ea1e81019</Message> </Result> </Task> </Tasks> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/tasks/{ID}
Represents a task having the specified ID. The task is created by Veeam Backup Enterprise Manager in response to client requests.

Resource URL
http://<Enterprise-Manager>:9399/api/tasks/{ID}

319 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Related Resources
/tasks

Methods
The following methods are supported for the /tasks/{ID} resource: (GET) /tasks/{ID}

Resource Representation
The /tasks/{ID} resource has a resource representation of the following type:
<Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-23"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-23" /> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/" /> </Links> <TaskId>task-23</TaskId> <State>Finished</State> <Operation>BrowseVM</Operation> <Result Success="true" /> </Task>

(GET) /tasks/{ID}
Returns a resource representation of a task having the specified ID. The task is created by Veeam Backup Enterprise Manager in response to client requests.

Request
To get a task session, you need to send the GET HTTP request to the URL of the /tasks/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/tasks/{ID}

Request Headers The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters The following parameters can be used in queries.

320 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Parameter TaskUid State

Type

Description

Can Be Used for Filtering True True

Can Be Used for Sorting True True

String String

ID of the task resource, for example: task-1. State of the task operation. Possible values: Running Finished Result of the task operation. Possible values: Success Failed Warning

Operation

String

True

True

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /tasks/{ID} resource.

Example
The example below returns a task having ID 23:
Request : GET http://localhost:9399/api/tasks/task-23 Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-23"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-23" /> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3eb f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/" /> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

321 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Links> <TaskId>task-23</TaskId> <State>Finished</State> <Operation>BrowseVM</Operation> <Result Success="true" /> </Task>

/querySvc
Represents a query service that you can use to paginate results returned by Veeam Backup Enterprise Manager. In its resource representation, the /querySvc resource provides a set of links, or queries. By following a link from the list, the client executes a query and gets a list of entity resources of a specific type, paginated and sorted in the ascending order. For example, the client can get a list of jobs entities, 15 per page, displayed in the ascending order. Additionally, the /querySvc resource provides a link to the current logon session. The queries in the /querySvc resource representation are pre-configured. The client can use the provided queries or construct its own query strings with custom criteria using the query syntax.

Resource URL
http://<Enterprise-Manager>:9399/api/querySvc

Related Resources
None.

Methods
The following methods are supported for the /querySvc resource: (GET) /querySvc

Resource Representation
The /querySvc resource has a resource representation of the following type:
<QuerySvc xmlns="http://www.veeam.com/ent/v1.0" Type="QueryService" Href="http://localhost:9399/api/querySvc"> <Links> <Link Rel="Up" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af" /> <Link Rel="Down" Type="VmRestorePointList" Href="http://localhost:9399/api/query?type=VmRestorePoint&format=Entities &sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="VmReplicaPointList" Href="http://localhost:9399/api/query?type=VmReplicaPoint&format=Entities &sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="TaskList" Href="http://localhost:9399/api/query?type=Task&format=Entities&sortAsc=T askUid&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/query?type=Job&format=Entities&sortAsc=na me&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/query?type=RestorePoint&format=Entities&s

322 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

ortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/query?type=BackupTaskSession&format=Entit ies&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/query?type=ReplicaTaskSession&format=Enti ties&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="RestoreSessionList" Href="http://localhost:9399/api/query?type=RestoreSession&format=Entities &sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="RepositoryList" Href="http://localhost:9399/api/query?type=Repository&format=Entities&sor tAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupList" Href="http://localhost:9399/api/query?type=Backup&format=Entities&sortAsc =name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="ReplicaList" Href="http://localhost:9399/api/query?type=Replica&format=Entities&sortAs c=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="HierarchyRootList" Href="http://localhost:9399/api/query?type=HierarchyRoot&format=Entities& sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupJobSessionList" Href="http://localhost:9399/api/query?type=BackupJobSession&format=Entiti es&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/query?type=ReplicaJobSession&format=Entit ies&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/query?type=BackupServer&format=Entities&s ortAsc=name&pageSize=15&page=1&filter=" /> </Links> </QuerySvc>

(GET) /querySvc
Returns a set of queries for entity resources.

Request
To get a list of queries, you need to send the GET HTTP request to the URL of the /querySvc resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/querySvc

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

323 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /querySvc resource.

Example
The example below returns a resource representation of the /querySvc resource.
Request : GET http://localhost:9399/api/querySvc Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <QuerySvc xmlns="http://www.veeam.com/ent/v1.0" Type="QueryService" Href="http://localhost:9399/api/querySvc"> <Links> <Link Rel="Up" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af" /> <Link Rel="Down" Type="VmRestorePointList" Href="http://localhost:9399/api/query?type=VmRestorePoint&format=Entities &sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="VmReplicaPointList" Href="http://localhost:9399/api/query?type=VmReplicaPoint&format=Entities &sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="TaskList" Href="http://localhost:9399/api/query?type=Task&format=Entities&sortAsc=T askUid&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/query?type=Job&format=Entities&sortAsc=na me&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/query?type=RestorePoint&format=Entities&s ortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/query?type=BackupTaskSession&format=Entit ies&sortAsc=name&pageSize=15&page=1&filter=" /> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

324 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/query?type=ReplicaTaskSession&format=Enti ties&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="RestoreSessionList" Href="http://localhost:9399/api/query?type=RestoreSession&format=Entities &sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="RepositoryList" Href="http://localhost:9399/api/query?type=Repository&format=Entities&sor tAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupList" Href="http://localhost:9399/api/query?type=Backup&format=Entities&sortAsc =name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="ReplicaList" Href="http://localhost:9399/api/query?type=Replica&format=Entities&sortAs c=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="HierarchyRootList" Href="http://localhost:9399/api/query?type=HierarchyRoot&format=Entities& sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupJobSessionList" Href="http://localhost:9399/api/query?type=BackupJobSession&format=Entiti es&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/query?type=ReplicaJobSession&format=Entit ies&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/query?type=BackupServer&format=Entities&s ortAsc=name&pageSize=15&page=1&filter=" /> </Links> </QuerySvc>

/lookupSvc
Represents the lookup service.

Resource URL
http://<Enterprise-Manager>:9399/api/lookupSvc

Related Resources
None.

Methods
The following methods are supported for the /lookupSvc resource: (GET) /lookupSvc

Resource Representation
The /lookupSvc resource has a resource representation of the following type:
<LookupSvc xmlns="http://www.veeam.com/ent/v1.0" Type="LookupService" Href="http://localhost:9399/api/lookupSvc"> <Links> <Link Rel="Up" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af" /> <Link Rel="Down" Type="HierarchyItemList"

325 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 aa2b0c55d-829a-4efe-bd95-125ee77ba9dd&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 a9292ea06-0803-4477-82ed-2482b1c30241&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 a441d40ed-6e56-4884-b98e-27aac934624f&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 a9dc20876-816d-4cb9-8d91-43be20637c1c&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 a8dcc6a4d-67ad-423e-b5c4-687ebaefc706&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 a394588f8-c908-4fbd-b76c-6c5dbb2efab2&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 adf5baef6-adb9-45ed-955a-dbf54fee3a54&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3 a70aa9075-ca31-43bd-99cc-f888b969799b&name=*&type=Vm" /> </Links> </LookupSvc>

(GET) /lookup?host={hostUID}&hierachyRef={hierachyRef}&name={objN ame}&type={objType}


Returns a resource representation of the lookup service.

Request
To get a resource of a specific virtual infrastructure object, the client need to send a request of the following type:
HTTP Request

GET http://localhost:9399/api/lookup?&hierarchyRef={hierarchyRef}

or
GET http://localhost:9399/api/lookup?host={hostUID}&name={objName}&type={objT ype}

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId
Request Body

True

None.

326 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Query Parameters

None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type
Response Body

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

In the response body, Veeam Backup Enterprise Manager returns a representation of the /lookup resource.

Example
A sample request below returns an object of the VM named DNS; the VM is registered on the Hyper-V host having ID 3a70aa9075-ca31-43bd-99cc-f 888b969799b:
Request : GET http://localhost:9399/web/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a7 0aa9075-ca31-43bd-99cc-f888b969799b&name=dns&type=vm Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <HierarchyItems xmlns="http://www.veeam.com/ent/v1.0"> <HierarchyItem Type="HierarchyItem"> <ObjectRef>urn:HyperV:Vm:70aa9075-ca31-43bd-99cc-f888b969799b.8939b77364b6-4e38-90bb-7cb1d0cd3a0e</ObjectRef> <ObjectType>Vm</ObjectType> <ObjectName>dns</ObjectName> </HierarchyItem> </HierarchyItems>

327 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/summary
Represents a collection of summary reports providing information on Veeam Backup Enterprise Manager and Veeam Backup & Replication objects. The /summary resource provides links to five child reports covering the following areas: /summary/overview provides general information about backup infrastructure components and performed backup and replication jobs. /summary/vms_overview provides information about backed up and replicated VMs, available restore points and so on. /summary/statistics provides information about performed jobs, their status, duration and so on. /summary/processed_vms provides information about processed VM on all Veeam backup servers connected to Veeam Backup Enterprise Manager. /summary/repositories provides information about backup repositories.

Resource URL
http://<Enterprise-Manager>:9399/api/summary

Related Resources
None.

Methods
The following methods are supported for the /summary resource: (GET) /summary

Resource Representation
The /summary resource has a resource representation of the following type:
<SummaryReport xmlns="http://www.veeam.com/ent/v1.0"> <Links> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/overview" Name="Overview" /> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/vms_overview" Name="VmsOverview" /> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/job_statistics" Name="JobStatistics" /> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/processed_vms" Name="ProcessedVms" /> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/repository" Name="Repositories" /> </Links> </SummaryReport>

328 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(GET) /summary
Returns a set of links to reports on Veeam Backup Enterprise Manager and Veeam Backup & Replication entities.

Request
To get a list of reports, you need to send the GET HTTP request to the URL of the /summary resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/summary

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /summary resource.

329 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a list of reports on Veeam Backup Enterprise Manager and Veeam Backup & Replication entities.
Request : GET http://localhost:9399/api/summary Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <SummaryReport xmlns="http://www.veeam.com/ent/v1.0"> <Links> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/overview" Name="Overview" /> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/vms_overview" Name="VmsOverview" /> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/job_statistics" Name="JobStatistics" /> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/processed_vms" Name="ProcessedVms" /> <Link Rel="Down" Type="ReportFrame" Href="http://localhost:9399/api/reports/summary/repository" Name="Repositories" /> </Links> </SummaryReport> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/summary/overview
Represents a report informing about backup infrastructure components and performed backup and replication jobs.

Resource URL
http://<Enterprise-Manager>:9399/api/summary/overview

Related Resources
None.

Methods
The following methods are supported for the /summary/overview resource: (GET) /summary/overview

330 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representation
The /summary/overview resource has a resource representation of the following type:
<OverviewReportFrame xmlns="http://www.veeam.com/ent/v1.0"> <BackupServers>2</BackupServers> <ProxyServers>9</ProxyServers> <RepositoryServers>7</RepositoryServers> <RunningJobs>0</RunningJobs> <ScheduledJobs>5</ScheduledJobs> <SuccessfulVmLastestStates>16</SuccessfulVmLastestStates> <WarningVmLastestStates>1</WarningVmLastestStates> <FailedVmLastestStates>7</FailedVmLastestStates> </OverviewReportFrame>

(GET) /summary/overview
Returns a resource representation of an overview report about backup infrastructure components and performed backup and replication jobs.

Request
To get an overview report, you need to send the GET HTTP request to the URL of the /summary/overview resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/summary/overview

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success.

331 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /summary/overview resource.

Example
The example below returns an overview report informing about backup infrastructure components and performed jobs.
Request : GET http://localhost:9399/api/summary/overview Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <OverviewReportFrame xmlns="http://www.veeam.com/ent/v1.0"> <BackupServers>2</BackupServers> <ProxyServers>9</ProxyServers> <RepositoryServers>7</RepositoryServers> <RunningJobs>0</RunningJobs> <ScheduledJobs>5</ScheduledJobs> <SuccessfulVmLastestStates>16</SuccessfulVmLastestStates> <WarningVmLastestStates>1</WarningVmLastestStates> <FailedVmLastestStates>7</FailedVmLastestStates> </OverviewReportFrame> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/summary/vms_overview
Represents a report informing about backed up and replicated VMs, available restore points and so on.

Resource URL
http://<Enterprise-Manager>:9399/api/summary/vms_overview

Related Resources
None.

332 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Methods
The following methods are supported for the /summary/vms_overview resource: (GET) /summary/vms_overview

Resource Representation
The /summary/vms_overview resource has a resource representation of the following type:
<VmsOverviewReportFrame xmlns="http://www.veeam.com/ent/v1.0"> <ProtectedVms>5</ProtectedVms> <BackedUpVms>5</BackedUpVms> <ReplicatedVms>0</ReplicatedVms> <RestorePoints>15</RestorePoints> <FullBackupPointsSize>7840206848</FullBackupPointsSize> <IncrementalBackupPointsSize>285112832</IncrementalBackupPointsSize> <ReplicaRestorePointsSize>0</ReplicaRestorePointsSize> <SourceVmsSize>84164743572</SourceVmsSize> <SuccessBackupPercents>100</SuccessBackupPercents> <ProtectedVmsReportLink>Workspace/ViewReport.aspx?definition=8a56d84f1790-4f54-ab20-2e0bfdefa16b&amp;ShowParams=1</ProtectedVmsReportLink> </VmsOverviewReportFrame>

(GET) /summary/vms_overview
Returns a resource representation of an overview report about backed up and replicated VMs, available restore points and so on.

Request
To get a VM overview report, you need to send the GET HTTP request to the URL of the /summary/vms_overview resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/summary/vms_overview

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success.

333 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /summary/vms_overview resource.

Example
The example below returns a VM overview report informing about backed up and replicated VMs, available restore points and so on.
Request : GET http://localhost:9399/api/summary/vms_overview Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <VmsOverviewReportFrame xmlns="http://www.veeam.com/ent/v1.0"> <ProtectedVms>5</ProtectedVms> <BackedUpVms>5</BackedUpVms> <ReplicatedVms>0</ReplicatedVms> <RestorePoints>15</RestorePoints> <FullBackupPointsSize>7840206848</FullBackupPointsSize> <IncrementalBackupPointsSize>285112832</IncrementalBackupPointsSize> <ReplicaRestorePointsSize>0</ReplicaRestorePointsSize> <SourceVmsSize>84164743572</SourceVmsSize> <SuccessBackupPercents>100</SuccessBackupPercents> <ProtectedVmsReportLink>Workspace/ViewReport.aspx?definition=8a56d84f1790-4f54-ab20-2e0bfdefa16b&amp;ShowParams=1</ProtectedVmsReportLink> </VmsOverviewReportFrame> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/summary/job_statistics
Represents a report informing about performed jobs, their status, duration and so on.

Resource URL
http://<Enterprise-Manager>:9399/api/summary/job_statistics

Related Resources
None.

334 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Methods
The following methods are supported for the /summary/job_statistics resource: (GET) /summary/statistics

Resource Representation
The /summary/job_statistics resource has a resource representation of the following type:
<JobStatisticsReportFrame xmlns="http://www.veeam.com/ent/v1.0"> <RunningJobs>0</RunningJobs> <ScheduledJobs>5</ScheduledJobs> <ScheduledBackupJobs>4</ScheduledBackupJobs> <ScheduledReplicaJobs>1</ScheduledReplicaJobs> <TotalJobRuns>33</TotalJobRuns> <SuccessfulJobRuns>12</SuccessfulJobRuns> <WarningsJobRuns>0</WarningsJobRuns> <FailedJobRuns>21</FailedJobRuns> <MaxJobDuration>2460</MaxJobDuration> <MaxBackupJobDuration>2460</MaxBackupJobDuration> <MaxReplicaJobDuration>0</MaxReplicaJobDuration> <MaxDurationBackupJobName>Fileserver03 Backup</MaxDurationBackupJobName> <MaxDurationReplicaJobName /> <BackupJobStatusReportLink>Workspace/ViewReport.aspx?definition=7962844ddb6c-4d29-8b6e-4e0f7db0785f&amp;ShowParams=1</BackupJobStatusReportLink> </JobStatisticsReportFrame>

(GET) /summary/job_statistics
Returns an overview report about performed jobs, their status, duration and so on.

Request
To get a statistics report, you need to send the GET HTTP request to the URL of the /summary/job_statistics resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/summary/job_statistics

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

335 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /summary/job_statistics resource.

Example
The example below returns a statistics report informing about performed jobs, their status, duration and so on.
Request : GET http://localhost:9399/api/summary/jobs_statistics Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <JobStatisticsReportFrame xmlns="http://www.veeam.com/ent/v1.0"> <RunningJobs>0</RunningJobs> <ScheduledJobs>5</ScheduledJobs> <ScheduledBackupJobs>4</ScheduledBackupJobs> <ScheduledReplicaJobs>1</ScheduledReplicaJobs> <TotalJobRuns>33</TotalJobRuns> <SuccessfulJobRuns>12</SuccessfulJobRuns> <WarningsJobRuns>0</WarningsJobRuns> <FailedJobRuns>21</FailedJobRuns> <MaxJobDuration>2460</MaxJobDuration> <MaxBackupJobDuration>2460</MaxBackupJobDuration> <MaxReplicaJobDuration>0</MaxReplicaJobDuration> <MaxDurationBackupJobName>Fileserver03 Backup</MaxDurationBackupJobName> <MaxDurationReplicaJobName /> <BackupJobStatusReportLink>Workspace/ViewReport.aspx?definition=7962844ddb6c-4d29-8b6e-4e0f7db0785f&amp;ShowParams=1</BackupJobStatusReportLink> </JobStatisticsReportFrame> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

336 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

/summary/processed_vms
Represents a report informing about the number of VMs processed per day.

Resource URL
http://<Enterprise-Manager>:9399/api/summary/processed_vms

Related Resources
None.

Methods
The following methods are supported for the /summary/processed_vms resource: (GET) /summary/processed_vms

Resource Representation
The /summary/processed_vms resource has a resource representation of the following type:
<ProcessedVmsReportFrame xmlns="http://www.veeam.com/ent/v1.0"> <Day BackupedVms="10" ReplicatedVms="0" Timestamp="2013-08-12T00:00:0007:00" /> <Day BackupedVms="15" ReplicatedVms="0" Timestamp="2013-08-11T00:00:0007:00" /> <Day BackupedVms="13" ReplicatedVms="1" Timestamp="2013-08-10T00:00:0007:00" /> <Day BackupedVms="14" ReplicatedVms="1" Timestamp="2013-08-09T00:00:0007:00" /> <Day BackupedVms="9" ReplicatedVms="0" Timestamp="2013-08-08T00:00:0007:00" /> <Day BackupedVms="3" ReplicatedVms="1" Timestamp="2013-08-07T00:00:0007:00" /> <Day BackupedVms="14" ReplicatedVms="1" Timestamp="2013-08-06T00:00:0007:00" /> </ProcessedVmsReportFrame>

(GET) /summary/processed_vms
Returns an overview report about the number of VMs processed per day.

Request
To get a statistics report, you need to send the GET HTTP request to the URL of the /summary/processed_vms resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/summary/processed_vms

337 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /summary/processed_vms resource.

Example
The example below returns a statistics report informing about the number of VMs processed per day.
Request : GET http://localhost:9399/api/summary/processed_vms Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <ProcessedVmsReportFrame xmlns="http://www.veeam.com/ent/v1.0"> <Day BackupedVms="10" ReplicatedVms="0" Timestamp="2013-08-12T00:00:0007:00" /> <Day BackupedVms="15" ReplicatedVms="0" Timestamp="2013-08-11T00:00:0007:00" /> <Day BackupedVms="13" ReplicatedVms="1" Timestamp="2013-08-10T00:00:00NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

338 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

07:00" /> <Day BackupedVms="14" ReplicatedVms="1" Timestamp="2013-08-09T00:00:0007:00" /> <Day BackupedVms="9" ReplicatedVms="0" Timestamp="2013-08-08T00:00:0007:00" /> <Day BackupedVms="3" ReplicatedVms="1" Timestamp="2013-08-07T00:00:0007:00" /> <Day BackupedVms="14" ReplicatedVms="1" Timestamp="2013-08-06T00:00:0007:00" /> </ProcessedVmsReportFrame>

/summary/repositories
Represents a report informing about backup repositories, their capacity, free space and size of backup files on these backup repositories.

Resource URL
http://<Enterprise-Manager>:9399/api/summary/repositories

Related Resources
None.

Methods
The following methods are supported for the /summary/repositories resource: (GET) /summary/repositories

Resource Representation
The /summary/repositories resource has a resource representation of the following type:
<RepositoryReportFrame xmlns="http://www.veeam.com/ent/v1.0" CapacityPlanningReportLink="Workspace/ViewReport.aspx?definition=62221565 -102c-4ec8-851b-d61c03d972d1&amp;ShowParams=1"> <Period> <Name>Backups Vol1</Name> <Capacity>85530243072</Capacity> <FreeSpace>44606902272</FreeSpace> <BackupSize>40923340800</BackupSize> </Period> <Period> <Name>Backup Share</Name> <Capacity>212545302528</Capacity> <FreeSpace>33100488704</FreeSpace> <BackupSize>179444813824</BackupSize> </Period> <Period> <Name>Backups Vol2</Name> <Capacity>2000112582656</Capacity> <FreeSpace>1053424615424</FreeSpace> <BackupSize>946687967232</BackupSize> </Period> <Period> <Name>Default Backup Repository</Name> <Capacity>85530243072</Capacity> <FreeSpace>60549246976</FreeSpace>

339 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<BackupSize>24980996096</BackupSize> </Period> </RepositoryReportFrame>

(GET) /summary/repositories
Returns an overview report about backup repositories, their capacity, free space and size of backup files on these backup repositories.

Request
To get a repositories report, you need to send the GET HTTP request to the URL of the /summary/repositories resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/summary/repositories

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /summary/repositories resource.

340 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below returns a statistics report informing about backup repositories, their capacity, free space and size of backup files on these backup repositories.
Request : GET http://localhost:9399/api/summary/repositories Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <RepositoryReportFrame xmlns="http://www.veeam.com/ent/v1.0" CapacityPlanningReportLink="Workspace/ViewReport.aspx?definition=62221565 -102c-4ec8-851b-d61c03d972d1&amp;ShowParams=1"> <Period> <Name>Backups Vol1</Name> <Capacity>85530243072</Capacity> <FreeSpace>44606902272</FreeSpace> <BackupSize>40923340800</BackupSize> </Period> <Period> <Name>Backup Share</Name> <Capacity>212545302528</Capacity> <FreeSpace>33100488704</FreeSpace> <BackupSize>179444813824</BackupSize> </Period> <Period> <Name>Backups Vol2</Name> <Capacity>2000112582656</Capacity> <FreeSpace>1053424615424</FreeSpace> <BackupSize>946687967232</BackupSize> </Period> <Period> <Name>Default Backup Repository</Name> <Capacity>85530243072</Capacity> <FreeSpace>60549246976</FreeSpace> <BackupSize>24980996096</BackupSize> </Period> </RepositoryReportFrame> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

/logonSessions
Represents a collection of currently existing logon sessions for Veeam Backup Enterprise Manager RESTful API.

Resource URL
http://<Enterprise-Manager>:9399/api/logonsessions

Related Resources
/logonSessions/{ID}

341 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Methods
The following methods are supported for the /logonSessions resource: (GET) /logonSessions (POST) /sessionMngr/

Resource Representation
The /logonSessions resource has a resource representation of the following type:
<LogonSessions xmlns="http://www.veeam.com/ent/v1.0"> <LogonSession Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/backups" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/restorePoints" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/vmRestorePoints" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/vmReplicaPoints" /> <Link Rel="Down" Type="CatalogVmReferenceList" Href="http://localhost:9399/api/catalog/vms" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/backupSessions" /> <Link Rel="Down" Type="RestoreSessionReferenceList" Href="http://localhost:9399/api/restoreSessions" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/replicaSessions" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupTaskSessions" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/repicaTaskSessions" /> <Link Rel="Down" Type="EnterpriseSecuritySettings" Href="http://localhost:9399/api/security" /> <Link Rel="Down" Type="TaskList" Href="http://localhost:9399/api/tasks" /> <Link Rel="Down" Type="QueryService" Href="http://localhost:9399/api/querySvc" /> <Link Rel="Down" Type="LookupService" Href="http://localhost:9399/api/lookupSvc" /> <Link Rel="Down" Type="Report" Href="http://localhost:9399/api/reports/summary" Name="Summary" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/backupServers?format=Entity" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/jobs?format=Entity" /> <Link Rel="Down" Type="HierarchyRootList" Href="http://localhost:9399/api/hierarchyRoots?format=Entity" /> <Link Rel="Down" Type="RepositoryList"

342 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/repositories?format=Entity" /> <Link Rel="Down" Type="BackupList" Href="http://localhost:9399/api/backups?format=Entity" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/restorePoints?format=Entity" /> <Link Rel="Down" Type="VmRestorePointList" Href="http://localhost:9399/api/vmRestorePoints?format=Entity" /> <Link Rel="Down" Type="ReplicaList" Href="http://localhost:9399/api/replicas?format=Entity" /> <Link Rel="Down" Type="VmReplicaPointList" Href="http://localhost:9399/api/vmReplicaPoints?format=Entity" /> <Link Rel="Down" Type="CatalogVmList" Href="http://localhost:9399/api/catalog/vms?format=Entity" /> <Link Rel="Down" Type="BackupJobSessionList" Href="http://localhost:9399/api/backupSessions?format=Entity" /> <Link Rel="Down" Type="RestoreSessionList" Href="http://localhost:9399/api/restoreSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/replicaSessions?format=Entity" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/backupTaskSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/repicaTaskSessions?format=Entity" /> <Link Rel="Delete" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af" /> </Links> <UserName>VEEAM\Administrator</UserName> <SessionId>fffb65bd-0e7a-427a-bc35-915b0fdf17af</SessionId> </LogonSession> </LogonSessions>

(GET) /logonSessions
Returns a collection of currently existing login sessions for Veeam Backup Enterprise Manager RESTful API.

Request
To get a list of logon sessions, you need to send the GET HTTP request to the URL of the /logonSessions resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/logonSessions

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

343 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /logonSessions resource.

Example
The example below returns a collection of logon sessions that currently exist.
Request : GET http://localhost:9399/api/logonSessions Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <LogonSessions xmlns="http://www.veeam.com/ent/v1.0"> <LogonSession Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/backups" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/restorePoints" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/vmRestorePoints" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

344 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Href="http://localhost:9399/api/vmReplicaPoints" /> <Link Rel="Down" Type="CatalogVmReferenceList" Href="http://localhost:9399/api/catalog/vms" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/backupSessions" /> <Link Rel="Down" Type="RestoreSessionReferenceList" Href="http://localhost:9399/api/restoreSessions" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/replicaSessions" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupTaskSessions" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/repicaTaskSessions" /> <Link Rel="Down" Type="EnterpriseSecuritySettings" Href="http://localhost:9399/api/security" /> <Link Rel="Down" Type="TaskList" Href="http://localhost:9399/api/tasks" /> <Link Rel="Down" Type="QueryService" Href="http://localhost:9399/api/querySvc" /> <Link Rel="Down" Type="LookupService" Href="http://localhost:9399/api/lookupSvc" /> <Link Rel="Down" Type="Report" Href="http://localhost:9399/api/reports/summary" Name="Summary" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/backupServers?format=Entity" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/jobs?format=Entity" /> <Link Rel="Down" Type="HierarchyRootList" Href="http://localhost:9399/api/hierarchyRoots?format=Entity" /> <Link Rel="Down" Type="RepositoryList" Href="http://localhost:9399/api/repositories?format=Entity" /> <Link Rel="Down" Type="BackupList" Href="http://localhost:9399/api/backups?format=Entity" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/restorePoints?format=Entity" /> <Link Rel="Down" Type="VmRestorePointList" Href="http://localhost:9399/api/vmRestorePoints?format=Entity" /> <Link Rel="Down" Type="ReplicaList" Href="http://localhost:9399/api/replicas?format=Entity" /> <Link Rel="Down" Type="VmReplicaPointList" Href="http://localhost:9399/api/vmReplicaPoints?format=Entity" /> <Link Rel="Down" Type="CatalogVmList" Href="http://localhost:9399/api/catalog/vms?format=Entity" /> <Link Rel="Down" Type="BackupJobSessionList" Href="http://localhost:9399/api/backupSessions?format=Entity" /> <Link Rel="Down" Type="RestoreSessionList" Href="http://localhost:9399/api/restoreSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/replicaSessions?format=Entity" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/backupTaskSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/repicaTaskSessions?format=Entity" /> <Link Rel="Delete" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af" /> </Links> <UserName>VEEAM\Administrator</UserName> <SessionId>fffb65bd-0e7a-427a-bc35-915b0fdf17af</SessionId> </LogonSession> </LogonSessions>

345 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(POST) /sessionMngr/
Creates a new logon session for Veeam Backup Enterprise Manager RESTful API.

Request
To create a new logon session, you need to send the POST HTTP request to the URL of the /sessionMngr/ resource. HTTP Request
POST http://<Enterprise-Manager>:9399/api/sessionMngr/

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 201 Created. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Request Body In the response body, Veeam Backup Enterprise Manager returns a resource representation of the created logon session. The resource representation of the logon session contains links to resources available through Veeam Backup Enterprise Manager RESTful API.

346 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below creates a new logon session for Veeam Backup Enterprise Manager RESTful API.
Request : POST http://localhost:9399/api/sessionMngr/ Request Header: X-RestSvcSessionId Request Body : None Response: 201 Created Response Body: <LogonSession xmlns="http://www.veeam.com/ent/v1.0" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/backups" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/restorePoints" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/vmRestorePoints" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/vmReplicaPoints" /> <Link Rel="Down" Type="CatalogVmReferenceList" Href="http://localhost:9399/api/catalog/vms" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/backupSessions" /> <Link Rel="Down" Type="RestoreSessionReferenceList" Href="http://localhost:9399/api/restoreSessions" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/replicaSessions" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupTaskSessions" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/repicaTaskSessions" /> <Link Rel="Down" Type="EnterpriseSecuritySettings" Href="http://localhost:9399/api/security" /> <Link Rel="Down" Type="TaskList" Href="http://localhost:9399/api/tasks" /> <Link Rel="Down" Type="QueryService" Href="http://localhost:9399/api/querySvc" /> <Link Rel="Down" Type="LookupService" Href="http://localhost:9399/api/lookupSvc" /> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

347 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Down" Type="Report" Href="http://localhost:9399/api/reports/summary" Name="Summary" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/backupServers?format=Entity" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/jobs?format=Entity" /> <Link Rel="Down" Type="HierarchyRootList" Href="http://localhost:9399/api/hierarchyRoots?format=Entity" /> <Link Rel="Down" Type="RepositoryList" Href="http://localhost:9399/api/repositories?format=Entity" /> <Link Rel="Down" Type="BackupList" Href="http://localhost:9399/api/backups?format=Entity" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/restorePoints?format=Entity" /> <Link Rel="Down" Type="VmRestorePointList" Href="http://localhost:9399/api/vmRestorePoints?format=Entity" /> <Link Rel="Down" Type="ReplicaList" Href="http://localhost:9399/api/replicas?format=Entity" /> <Link Rel="Down" Type="VmReplicaPointList" Href="http://localhost:9399/api/vmReplicaPoints?format=Entity" /> <Link Rel="Down" Type="CatalogVmList" Href="http://localhost:9399/api/catalog/vms?format=Entity" /> <Link Rel="Down" Type="BackupJobSessionList" Href="http://localhost:9399/api/backupSessions?format=Entity" /> <Link Rel="Down" Type="RestoreSessionList" Href="http://localhost:9399/api/restoreSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/replicaSessions?format=Entity" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/backupTaskSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/repicaTaskSessions?format=Entity" /> <Link Rel="Delete" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af" /> </Links> <UserName>VEEAM\Administrator</UserName> <SessionId>fffb65bd-0e7a-427a-bc35-915b0fdf17af</SessionId>

/logonSessions/{ID}
Represents a currently existing logon session having the specified ID.

Resource URL
http://<Enterprise-Manager>:9399/api/logonsessions/{ID}

Related Resources
/logonSessions

Methods
The following methods are supported for the /logonSessions/{ID} resource: (GET) /logonSessions/{ID} (DELETE) /logonSessions/{ID}

348 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Resource Representation
The /logonSessions/{ID} resource has a resource representation of the following type:
<LogonSession xmlns="http://www.veeam.com/ent/v1.0" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/backups" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/restorePoints" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/vmRestorePoints" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/vmReplicaPoints" /> <Link Rel="Down" Type="CatalogVmReferenceList" Href="http://localhost:9399/api/catalog/vms" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/backupSessions" /> <Link Rel="Down" Type="RestoreSessionReferenceList" Href="http://localhost:9399/api/restoreSessions" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/replicaSessions" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupTaskSessions" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/repicaTaskSessions" /> <Link Rel="Down" Type="EnterpriseSecuritySettings" Href="http://localhost:9399/api/security" /> <Link Rel="Down" Type="TaskList" Href="http://localhost:9399/api/tasks" /> <Link Rel="Down" Type="QueryService" Href="http://localhost:9399/api/querySvc" /> <Link Rel="Down" Type="LookupService" Href="http://localhost:9399/api/lookupSvc" /> <Link Rel="Down" Type="Report" Href="http://localhost:9399/api/reports/summary" Name="Summary" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/backupServers?format=Entity" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/jobs?format=Entity" /> <Link Rel="Down" Type="HierarchyRootList" Href="http://localhost:9399/api/hierarchyRoots?format=Entity" /> <Link Rel="Down" Type="RepositoryList" Href="http://localhost:9399/api/repositories?format=Entity" /> <Link Rel="Down" Type="BackupList" Href="http://localhost:9399/api/backups?format=Entity" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/restorePoints?format=Entity" /> <Link Rel="Down" Type="VmRestorePointList" Href="http://localhost:9399/api/vmRestorePoints?format=Entity" /> <Link Rel="Down" Type="ReplicaList" Href="http://localhost:9399/api/replicas?format=Entity" />

349 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Down" Type="VmReplicaPointList" Href="http://localhost:9399/api/vmReplicaPoints?format=Entity" /> <Link Rel="Down" Type="CatalogVmList" Href="http://localhost:9399/api/catalog/vms?format=Entity" /> <Link Rel="Down" Type="BackupJobSessionList" Href="http://localhost:9399/api/backupSessions?format=Entity" /> <Link Rel="Down" Type="RestoreSessionList" Href="http://localhost:9399/api/restoreSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/replicaSessions?format=Entity" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/backupTaskSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/repicaTaskSessions?format=Entity" /> <Link Rel="Delete" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af" /> </Links> <UserName>VEEAMBACKUP\Administrator</UserName> <SessionId>fffb65bd-0e7a-427a-bc35-915b0fdf17af</SessionId>

(GET) /logonSessions/{ID}
Returns a currently existing logon session having the specified ID.

Request
To get a logon session having the specified ID, you need to send the GET HTTP request to the URL of the /logonSessions/{ID} resource. HTTP Request
GET http://<Enterprise-Manager>:9399/api/logonSessions/{ID}

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 200 Success.

350 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body In the response body, Veeam Backup Enterprise Manager returns a representation of the /logonSessions/{ID} resource.

Example
The example below returns a logon session created for Veeam Backup Enterprise Manager RESTful API. The restore session has ID fffb65bd-0e7a-427a-bc35-915b0fdf17af:
Request : GET http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af Request Header: X-RestSvcSessionId Response: 200 Success Response Body: <LogonSession xmlns="http://www.veeam.com/ent/v1.0" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/backups" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/restorePoints" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/vmRestorePoints" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/vmReplicaPoints" /> <Link Rel="Down" Type="CatalogVmReferenceList" Href="http://localhost:9399/api/catalog/vms" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/backupSessions" /> <Link Rel="Down" Type="RestoreSessionReferenceList" Href="http://localhost:9399/api/restoreSessions" /> NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

351 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/replicaSessions" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupTaskSessions" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/repicaTaskSessions" /> <Link Rel="Down" Type="EnterpriseSecuritySettings" Href="http://localhost:9399/api/security" /> <Link Rel="Down" Type="TaskList" Href="http://localhost:9399/api/tasks" /> <Link Rel="Down" Type="QueryService" Href="http://localhost:9399/api/querySvc" /> <Link Rel="Down" Type="LookupService" Href="http://localhost:9399/api/lookupSvc" /> <Link Rel="Down" Type="Report" Href="http://localhost:9399/api/reports/summary" Name="Summary" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/backupServers?format=Entity" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/jobs?format=Entity" /> <Link Rel="Down" Type="HierarchyRootList" Href="http://localhost:9399/api/hierarchyRoots?format=Entity" /> <Link Rel="Down" Type="RepositoryList" Href="http://localhost:9399/api/repositories?format=Entity" /> <Link Rel="Down" Type="BackupList" Href="http://localhost:9399/api/backups?format=Entity" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/restorePoints?format=Entity" /> <Link Rel="Down" Type="VmRestorePointList" Href="http://localhost:9399/api/vmRestorePoints?format=Entity" /> <Link Rel="Down" Type="ReplicaList" Href="http://localhost:9399/api/replicas?format=Entity" /> <Link Rel="Down" Type="VmReplicaPointList" Href="http://localhost:9399/api/vmReplicaPoints?format=Entity" /> <Link Rel="Down" Type="CatalogVmList" Href="http://localhost:9399/api/catalog/vms?format=Entity" /> <Link Rel="Down" Type="BackupJobSessionList" Href="http://localhost:9399/api/backupSessions?format=Entity" /> <Link Rel="Down" Type="RestoreSessionList" Href="http://localhost:9399/api/restoreSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/replicaSessions?format=Entity" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/backupTaskSessions?format=Entity" /> <Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/repicaTaskSessions?format=Entity" /> <Link Rel="Delete" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af" /> </Links> <UserName>VEEAMBACKUP\Administrator</UserName> <SessionId>fffb65bd-0e7a-427a-bc35-915b0fdf17af</SessionId>

352 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

(DELETE) /logonSessions/{ID}
Deletes a logon session having the specified ID.

Request
To delete a logon session, you need to send the DELETE HTTP request to the URL of the /logonSessions/{ID} resource. HTTP Request
DELETE http://<Enterprise-Manager>:9399/api/logonSessions/{ID}

Request Header The request contains the following headers:


Header Required Description 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.

X-RestSvcSessionId

True

Request Body None. Query Parameters None.

Response
The server returns the following response to the client. Response Codes A successfully operation returns response code 204 No Content. Response Headers The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Content-length Content-type The length of the response body. The media type and syntax of the request body message: application/xml. Description

Response Body None.

353 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Example
The example below deletes a logon session created for Veeam Backup Enterprise Manager RESTful API. The restore session has ID fffb65bd-0e7a-427a-bc35-915b0fdf17af:
Request : DELETE http://localhost:9399/api/logonSessions/fffb65bd-0e7a-427a-bc35915b0fdf17af Request Header: X-RestSvcSessionId Response: 204 No Content Response Body: None NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

354 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

SAMPLE SCENARIOS
In this section, you will find a set of sample scenarios that describe typical operations that can be performed with Veeam Backup Enterprise Manager resources using Veeam Backup Enterprise Manager RESTful API.

Starting a Job
Using Veeam Backup Enterprise Manager RESTful API, you can start a job created on the Veeam backup server connected to Veeam Backup Enterprise Manager.

Prerequisites
Make sure you are logged on to Veeam Backup Enterprise Manager under the user account that belongs to the Portal Administrators or Portal Operators group. If you use the account that belongs to the Portal Viewers group, you will not be able to start the job.

Procedure
1. After you access Veeam Backup Enterprise Manager RESTful API and create a new logon session, examine the representation of the logon session that the server has returned:
Request : POST http://localhost:9399/api/sessionMngr/ Request Header: Authorization: Basic QWRtaW5pc3RyYXRvcjpUcmVzc3Bhc3Mx Response: 201 Created Response Header: X-RestSvcSessionId: O9Msj3rq7EGUhtSMBQx+mw== Response Body: <LogonSession xmlns="http://www.veeam.com/ent/v1.0" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/2e712cc5-33d24f41-8cce-fe422fc259e6"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> ... </LogonSession>

2.

Find the link for the /jobs resource collection:


<Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" />

355 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

3.

From the link, retrieve the URL for the /jobs collection. The URL is specified in the Href element. Send the GET HTTP request to the retrieved URL. The server will return a representation of all jobs that are created on Veeam backup servers connected to Veeam Backup Enterprise Manager:
Request : GET http://localhost:9399/api/jobs Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512" Name="DC Backup" UID="urn:veeam:Job:da736815-4fea4c8e-b0e1-5ecdbca1c512"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512?format=Entity" Name="DC Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e15ecdbca1c512/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7" Name="Fileserver Backup" UID="urn:veeam:Job:795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7?format=Entity" Name="Fileserver Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb" Name="Exchange Backup" UID="urn:veeam:Job:de14a4c93fb9-419b-b622-c6e3ebda28cb"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622c6e3ebda28cb/backupSessions" />

356 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/6c1375ec-e666-4b65-9537d2d4b4b64dc8" Name="DC Replication" UID="urn:veeam:Job:6c1375ece666-4b65-9537-d2d4b4b64dc8"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/6c1375ec-e666-4b65-9537d2d4b4b64dc8?format=Entity" Name="DC Replication" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/jobs/6c1375ec-e666-4b65-9537d2d4b4b64dc8/replicaSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766f1c00a5b8067" Name=""SQL="""" UID="urn:veeam:Job:dce85686-59c842c4-8766-f1c00a5b8067"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766f1c00a5b8067?format=Entity" Name=""SQL="""" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766f1c00a5b8067/backupSessions" /> </Links> </Ref> </EntityReferences>

4.

Examine the received resource representation and find a link to the entity of the necessary job. The Rel attribute in the link will be set to Alternate:
<Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7?format=Entity" Name="Fileserver Backup" />

5.

Retrieve the URL for the job entity and send the GET HTTP request to the retrieved URL. The server will return a resource representation of the job:
Request : GET http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7?format=Entity Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <Job xmlns="http://www.veeam.com/ent/v1.0" Type="Job" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7?format=Entity" Name="Fileserver Backup"

357 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

UID="urn:veeam:Job:795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7" Name="Fileserver Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7" Name="Fileserver Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/795f2f576cc0-4c33-8c1b-bd7cd5df9aa7?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/795f2f576cc0-4c33-8c1b-bd7cd5df9aa7?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/795f2f576cc0-4c33-8c1b-bd7cd5df9aa7?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/795f2f576cc0-4c33-8c1b-bd7cd5df9aa7?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7?action=toggleScheduleEnabled" /> </Links> <JobType>Backup</JobType> <Platform>VMware</Platform> <Description>Created by VEEAMBACKUP\Administrator at 8/21/2013 6:10:28 AM.</Description> <ScheduleConfigured>false</ScheduleConfigured> <ScheduleEnabled>true</ScheduleEnabled> <JobScheduleOptions> <RetryOptions> <RetryTimes>3</RetryTimes> <RetryTimeout>10</RetryTimeout> <RetrySpecified>true</RetrySpecified> </RetryOptions> <WaitForBackupCompletion>true</WaitForBackupCompletion> <BackupCompetitionWaitingPeriodMin>180</BackupCompetitionWaitingPe riodMin> <OptionsDaily Enabled="true"> <Kind>Everyday</Kind> <Days>Sunday</Days> <Days>Monday</Days> <Days>Tuesday</Days> <Days>Wednesday</Days> <Days>Thursday</Days> <Days>Friday</Days> <Days>Saturday</Days> <Time>22:00:00.0000000-07:00</Time> </OptionsDaily> <OptionsMonthly Enabled="false"> <Time>22:00:00.0000000-07:00</Time> <DayNumberInMonth>Fourth</DayNumberInMonth> <DayOfWeek>Saturday</DayOfWeek> <Months>January</Months> <Months>February</Months> <Months>March</Months>

358 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Months>April</Months> <Months>May</Months> <Months>June</Months> <Months>July</Months> <Months>August</Months> <Months>September</Months> <Months>October</Months> <Months>November</Months> <Months>December</Months> </OptionsMonthly> <OptionsPeriodically Enabled="false"> <Kind>Hours</Kind> <FullPeriod>1</FullPeriod> <Schedule> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day > <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day > <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Da y> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</ Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</D ay> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day > <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</D ay> </Schedule> </OptionsPeriodically> <OptionsContinuous Enabled="false" /> <OptionsBackupWindow Enabled="false"> <TimePeriods> <Day Name="Sunday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day > <Day Name="Monday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day > <Day Name="Tuesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Da y> <Day Name="Wednesday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</ Day> <Day Name="Thursday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</D ay> <Day Name="Friday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</Day > <Day Name="Saturday">1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1</D ay> </TimePeriods> </OptionsBackupWindow> <OptionsDaisyChaining Enabled="false"> <PreviousJobUid /> </OptionsDaisyChaining>

359 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</JobScheduleOptions> <JobInfo> <BackupJobInfo> <Includes> <ObjectInJob Type="ObjectInJob" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7/includes/b1f65231-bb39-43ec-bfdc-1ae82acf98f7"> <ObjectInJobId>b1f65231-bb39-43ec-bfdc1ae82acf98f7</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:f27785dc-237e-4bea-8bfdad131c50934e.vm-19448</HierarchyObjRef> <Name>hp_vm1</Name> <DisplayName>hp_vm1</DisplayName> <Order>0</Order> <GuestProcessingOptions> <AppAwareProcessingMode>RequireSuccess</AppAwareProcessingMode> <FileSystemIndexingMode>ExceptSpecifiedFolders</FileSystemIndexing Mode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </ObjectInJob> </Includes> <GuestProcessingOptions> <AppAwareProcessingMode>Disabled</AppAwareProcessingMode> <FileSystemIndexingMode>Disabled</FileSystemIndexingMode> <IncludedIndexingFolders /> <ExcludedIndexingFolders> <Path>%windir%</Path> <Path>%ProgramFiles%</Path> <Path>%TEMP%</Path> </ExcludedIndexingFolders> <CredentialsId /> </GuestProcessingOptions> </BackupJobInfo> </JobInfo> </Job>

6.

Find a link to the job start action and send the POST HTTP request to the job start action URL. The job is started asynchronously: Veeam Backup Enterprise Manager creates a new task for the job start and returns the HTTP/1.1 202 ACCEPTED status to the client. In the response body, Veeam Backup Enterprise Manager returns a resource representation of the task.
Request : POST http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1bbd7cd5df9aa7?action=start/ Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Created

360 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

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>StartJob</Operation> </Task>

7.

Every task has its own ID. In the given example, the task ID is 1. To trace the task performance and check the task result, send the GET HTTP request to the task resource. The server will return a resource representation of the task describing the task status and result:
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" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>StartJob</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task>

Result
The job is started.

361 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Performing 1-Click Restore


Using Veeam Backup Enterprise Manager RESTful API, you can restore a VM guest OS file or folder from the backup to its initial location on the VM guest OS.

Prerequisites
Make sure you are logged on to Veeam Backup Enterprise Manager under the user account that belongs to the Portal Administrators or Portal Operators group. If you use the account that belongs to the Portal Viewers group, you will not be able to start the job. If you are logged on using the account that belongs to the Portal Operator group, make sure that your restore scope permits you to restore guest OS files from the necessary VM.

Procedure
1. After you access Veeam Backup Enterprise Manager RESTful API and create a new logon session, examine the representation of the logon session that the server has returned:
Request : POST http://localhost:9399/api/sessionMngr/ Request Header: Authorization: Basic QWRtaW5pc3RyYXRvcjpUcmVzc3Bhc3Mx Response: 201 Created Response Header: X-RestSvcSessionId: O9Msj3rq7EGUhtSMBQx+mw== Response Body: <LogonSessions xmlns="http://www.veeam.com/ent/v1.0"> <LogonSession Type="LogonSession" Href="http://localhost:9399/api/logonSessions/23936447-3e874ed9-8894-c43ea410af0f"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/backups" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/restorePoints" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/vmRestorePoints" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/vmReplicaPoints" /> <Link Rel="Down" Type="CatalogVmReferenceList" Href="http://localhost:9399/api/catalog/vms" />

362 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

... </Links> <UserName>LOCALHOST\Administrator</UserName> <SessionId>23936447-3e87-4ed9-8894-c43ea410af0f</SessionId> </LogonSession> </LogonSessions>

2.

Find the link for the /catalog/vms resource collection:


<Link Rel="Down" Type="CatalogVmReferenceList" Href="http://localhost:9399/api/catalog/vms" />

3.

From the link, retrieve the URL for the /catalog/vms collection. The URL is specified in the Href element. Send the GET HTTP request to the retrieved URL. The server will return a representation of all VMs whose guest OS files have been indexed during backup.
Request : GET http://localhost:9399/api/catalog/vms Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="CatalogVmReference" Href="http://localhost:9399/api/catalog/vms/fileserver01" Name="fileserver01" UID="urn:veeam:CatalogVm:fileserver01"> <Links> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/fileserver01?format =Entity" /> <Link Rel="Down" Type="CatalogVmRestorePointReferenceList" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints" /> </Links> </Ref> ... </EntityReferences>

4.

Examine the received resource representation and find a link to the entity of the necessary VM. The Rel attribute in the link will be set to Alternate:
<Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/fileserver01?format =Entity" />

5.

Retrieve the URL for the VM resource and send the GET HTTP request to the retrieved URL. The server will return a resource representation of the VM:
Request : GET http://localhost:9399/api/catalog/vms/fileserver01?format=Entit y

363 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <CatalogVm xmlns="http://www.veeam.com/ent/v1.0" Type="CatalogVm" Href="http://localhost:9399/api/catalog/vms/fileserver01?format =Entity" Name="fileserver01" UID="urn:veeam:CatalogVm:fileserver01" VmDisplayName="fileserver01"> <Links> <Link Rel="Alternate" Type="CatalogVmReference" Href="http://localhost:9399/api/catalog/vms/fileserver01" Name="fileserver01" /> <Link Rel="Down" Type="CatalogVmRestorePointReferenceList" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints" /> </Links> </CatalogVm>

6.

Examine the received resource representation and find a link to the list of restore point for the given VM. Retrieve the URL for the VM restore points collection and send the GET HTTP request to the retrieved URL. The server will return a resource representation of the restore points collection:
Request : GET http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoi nts Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/wintw2/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462" Name="8/26/2013 7:59:00 AM" UID="urn:veeam:CatalogVmRestorePoint:d2bfab92-7286-454e-ada555dd8146d462"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/fileserver01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada5-55dd8146d462?format=Entity" /> </Links> </Ref>

364 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

</EntityReferences>

7.

Examine the received resource representation and find a link to the entity resource representation for the necessary VM restore point. Send the GET HTTP request to the retrieved URL. The server will return a resource representation of the selected restore point:
Request : GET http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoi nts/d2bfab92-7286-454e-ada5-55dd8146d462?format=Entity Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <CatalogVmRestorePoint xmlns="http://www.veeam.com/ent/v1.0" Type="CatalogVmRestorePoint" Href="http://localhost:9399/api/catalog/vms/wintw2/vmRestorePoints/d2bfab92-7286-454e-ada555dd8146d462?format=Entity" Name="fileserver01" UID="urn:veeam:CatalogVmRestorePoint:d2bfab92-7286-454e-ada555dd8146d462"> <Links> <Link Rel="Alternate" Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada5-55dd8146d462" Name="fileserver01" /> <Link Rel="Up" Type="CatalogVm" Href="http://localhost:9399/api/catalog/vms/fileserver01?format =Entity" Name="fileserver01" /> <Link Rel="Browse" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada5-55dd8146d462?action=browse" /> <Link Rel="Related" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/d2bfab92-7286454e-ada5-55dd8146d462?format=Entity" Name="fileserver01" /> </Links> <BackupDateUTC>2013-08-26T07:59:00Z</BackupDateUTC> </CatalogVmRestorePoint>

8.

Find a link to the browse action and send the POST HTTP request to the URL in the link. In response, Veeam Backup Enterprise Manager creates a new task and returns the HTTP/1.1 202 ACCEPTED status to the client. In the response body, Veeam Backup Enterprise Manager returns a resource representation of the task.
Request : POST http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoi nts/d2bfab92-7286-454e-ada5-55dd8146d462?action=browse Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

365 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Response: 202 Created 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" /> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>BrowseVM</Operation> <Result Success="true" /> </Task>

8.

In the resource representation of the task, the server also returns a link to the VM guest OS file system. Send the GET HTTP request to the URL of the guest OS file system resource:
Request : GET http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoi nts/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <FileSystemEntry xmlns="http://www.veeam.com/ent/v1.0"> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada555dd8146d462/guestfs/?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada555dd8146d462/guestfs/?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada555dd8146d462/guestfs/?action=listDirs&pageSize=10&page=1" /> </Links> </DirectoryEntry> </FileSystemEntry>

366 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

9.

Construct the URL for the resource of the directory in which the file you plan to restore resides. The URL is constructed by the following pattern:
/catalog/vms/{ID}/vmRestorePoints/{ID}/guestfs/(filepath}, where file

path is the path to the directory on the VM guest OS. Send the GET HTTP request to the constructed URL:
Request : GET http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoi nts/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/C:/Documents Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success

10.

The resource representation of the directory contains a set of links that allow you to perform the following actions:

Display all entries, both files and subdirectories, in the directory Display all files in the directory Display all subdirectories in the directory
/catalog/vms/{ID}/vmRestorePoints/{ID}/guestfs/(filepath}?action=listAll

To get a list of all files, send the GET HTTP request to the URL:

Request : GET http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoi nts/d2bfab92-7286-454e-ada555dd8146d462/guestfs/C:/Documents?action=listAll Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <FileSystemEntries xmlns="http://www.veeam.com/ent/v1.0"> <Links> <Link Rel="Up" Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada555dd8146d462/guestfs/C:/Documents" /> </Links>

367 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Files> <FileEntry Type="FileEntry" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada555dd8146d462/guestfs/C:/Documents/Invoice1.docx"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada555dd8146d462/guestfs/C:/Documents/Invoice1.docx?action=restore" /> </Links> <Path>C:/Documents/Invoice1.docx</Path> <Name>Invoice1.docx</Name> <Size>16896000</Size> <Owner>Administrators</Owner> <ModifiedDateUTC>2013-08-14T17:13:36Z</ModifiedDateUTC> </FileEntry> <FileEntry Type="FileEntry" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada555dd8146d462/guestfs/C:/Documents/Invoice2.docx"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRest orePoints/d2bfab92-7286-454e-ada555dd8146d462/guestfs/C:/Documents/Invoice2.docx?action=restore" /> </Links> <Path>C:/Documents/Invoice2.docx</Path> <Name>Invoice2.docx</Name> <Size>16896000</Size> <Owner>Administrators</Owner> <ModifiedDateUTC>2013-08-16T17:04:41Z</ModifiedDateUTC> </FileEntry> ... </Files> <Directories /> </FileSystemEntries>

11.

Find a link to the restore action for the necessary file in the directory and send the POST HTTP request to the URL in the link. In response, Veeam Backup Enterprise Manager creates a new task and returns the HTTP/1.1 202 ACCEPTED status to the client. In the response body, Veeam Backup Enterprise Manager returns a resource representation of the task.
Request : POST http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoi nts/d2bfab92-7286-454e-ada555dd8146d462/guestfs/C:/Documents/Invoice1.docx?action=restore Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Created Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://win-tw3:9399/api/tasks/task-1">

368 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Links> <Link Rel="Delete" Type="Task" Href="http://wintw3:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>RestoreFile</Operation> </Task>

12.

Send the GET HTTP request to the task URL to learn about the task completion.
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://win-tw3:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://wintw3:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>RestoreFile</Operation> <Result Success="true"> <Message>e737afa9-904a-48a9-9340-107e4b68ec1c</Message> </Result> </Task>

Result
The file is restored to its initial location on the VM guest OS.

369 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Performing Full VM Restore


Using Veeam Backup Enterprise Manager RESTful API, you can perform the full VM restore operation.

Prerequisites
Make sure you are logged on to Veeam Backup Enterprise Manager under the user account that belongs to the Portal Administrators or Portal Operators group. If you use the account that belongs to the Portal Viewers group, you will not be able to start the job. If you are logged on using the account that belongs to the Portal Operator group, make sure that your restore scope permits you to restore the necessary VM.

Procedure
1. After you access Veeam Backup Enterprise Manager RESTful API and create a new logon session, examine the representation of the logon session that the server has returned:
Request : POST http://localhost:9399/api/sessionMngr/ Request Header: Authorization: Basic QWRtaW5pc3RyYXRvcjpUcmVzc3Bhc3Mx Response: 201 Created Response Header: X-RestSvcSessionId: O9Msj3rq7EGUhtSMBQx+mw== Response Body: <LogonSessions xmlns="http://www.veeam.com/ent/v1.0"> <LogonSession Type="LogonSession" Href="http://localhost:9399/api/logonSessions/3a9858d8-a45348c0-bbf1-7256bc6801e6"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/backups" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/restorePoints" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/vmRestorePoints" /> ... </Links> <UserName>BACKUPSERVER\Administrator</UserName> <SessionId>3a9858d8-a453-48c0-bbf1-7256bc6801e6</SessionId> </LogonSession> </LogonSessions>

370 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

2.

Find the link for the /vmRestorePoints resource collection:


<Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/vmRestorePoints" />

3.

From the link, retrieve the URL for the /vmRestorePoints collection. The URL is specified in the Href element. Send the GET HTTP request to the retrieved URL. The server will return a representation of all VM restore points that have been created by Veeam backup servers connected to Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/vmRestorePoints Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/7e26714d-4d444bf1-af0e-158e9f7f5f66" Name="sql01-hv@2013-08-21 10:46:42" UID="urn:veeam:VmRestorePoint:7e26714d-4d44-4bf1-af0e158e9f7f5f66"> <Links> <Link Rel="Up" Type="localhostReference" Href="http://localhost:9399/api/localhosts/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/fcf92506-ee3e4612-bfb5-68ab2d472532" Name="Aug 21 2013 10:46AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/7e26714d-4d444bf1-af0e-158e9f7f5f66?format=Entity" Name="sql01-hv@2013-08-21 10:46:42" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415" Name="sql01-hv@2013-08-21 10:44:36" UID="urn:veeam:VmRestorePoint:a712861b-0dd3-405b-8b752fbee55fb415"> <Links> <Link Rel="Up" Type="localhostReference" Href="http://localhost:9399/api/localhosts/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/6f30b893-71034925-bef0-48ca943ae6b6" Name="Aug 21 2013 10:44AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415?format=Entity" Name="sql01-hv@2013-08-21 10:44:36" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/5c0d5a40-714c457c-a005-3ccca1730468" Name="hp_vm1@2013-08-21 13:32:48"

371 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

UID="urn:veeam:VmRestorePoint:5c0d5a40-714c-457c-a0053ccca1730468"> <Links> <Link Rel="Up" Type="localhostReference" Href="http://localhost:9399/api/localhosts/15942270-fb56-4dcc96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/93731898-da964830-b74c-d632a8590746" Name="Aug 21 2013 1:32PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/5c0d5a40-714c457c-a005-3ccca1730468?format=Entity" Name="hp_vm1@2013-08-21 13:32:48" /> </Links> </Ref> ... </EntityReferences>

4.

Examine the received resource representation and find a link to the entity of the necessary restore point. The Rel attribute in the link will be set to Alternate:
<Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415?format=Entity" Name="sql01-hv@2013-08-21 10:44:36" /> </Links>

5.

Retrieve the URL for the VM restore point and send the GET HTTP request to the retrieved URL. The server will return a resource representation of the VM restore point:
Request : GET http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415?format=Entity Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <VmRestorePoint xmlns="http://www.veeam.com/ent/v1.0" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415?format=Entity" Name="sql01-hv@2013-08-21 10:44:36" UID="urn:veeam:VmRestorePoint:a712861b-0dd3-405b8b75-2fbee55fb415" VmDisplayName="sql01-hv"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415?action=restore" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb564dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/6f30b893-71034925-bef0-48ca943ae6b6" Name="Aug 21 2013 10:44AM" /> <Link Rel="Alternate" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415" Name="sql01-hv@2013-08-21 10:44:36" />

372 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<Link Rel="Down" Type="VmRestorePointMountList" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415/mounts" /> <Link Rel="Create" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415/mounts" /> </Links> <CreationTimeUTC>2013-08-21T10:44:36Z</CreationTimeUTC> <Algorithm>Full</Algorithm> <PointType>Full</PointType> </VmRestorePoint>

6.

Find a link to the full VM restore action and send the POST HTTP request to the URL in the link. The VM restore process is started asynchronously: Veeam Backup Enterprise Manager creates a new task for the VM restore and returns the HTTP/1.1 202 ACCEPTED status to the client. In the response body, Veeam Backup Enterprise Manager returns a resource representation of the task.
Request : POST http://localhost:9399/api/vmRestorePoints/a712861b-0dd3405b-8b75-2fbee55fb415?action=restore Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Created 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>StartVMRestore</Operation> </Task>

7.

Every task has its own ID. In the given example, the task ID is 1. To trace the task performance and check the task result, send the GET HTTP request to the task resource. The server will return a resource representation of the task describing the task status and result:
Request : GET http://localhost:9399/api/tasks/task-1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body:

373 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<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" /> <Link Rel="Related" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/b67a3603-81f446af-be68-9f2c2307465c?format=Entity" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>StartVMRestore</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task>

8.

In the resource representation of the task, the server also returns a link to the restore session resource created once the restore process is started. You can check the restore session details by sending the GET HTTP request to the restore session resource:
Request : GET http://localhost:9399/api/restoreSessions/b67a3603-81f446af-be68-9f2c2307465c?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/b67a3603-81f446af-be68-9f2c2307465c?format=Entity" Name="sql01-hv@2013-08-26 08:31:22" UID="urn:veeam:RestoreSession:b67a3603-81f4-46afbe68-9f2c2307465c" VmDisplayName="sql01-hv"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb564dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/b67a3603-81f446af-be68-9f2c2307465c" Name="sql01-hv@2013-08-26 08:31:22" /> </Links> <JobType>RestoreVm</JobType> <CreationTimeUTC>2013-08-26T08:31:22Z</CreationTimeUTC> <EndTimeUTC>2013-08-26T08:31:34Z</EndTimeUTC> <State>Stopped</State> <Result>Success</Result> </RestoreSession>

Result
The VM is restored from the backup to its initial location.

374 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Assigning a Restore Scope


Using Veeam Backup Enterprise Manager RESTful API, you assign a restore scope to an account having the Restore Operators role in Veeam Backup Enterprise Manager. A restore scope can be assigned to a user account that belongs to the Portal Operators group in Veeam Backup Enterprise Manager. The restore scope is specified as a branch in the virtual infrastructure hierarchy. The client defines the upper node in the branch and all child nodes of the defined node become available to the user for restore. For example, if you want to allow the user to restore data from all VMs in the VMs resource pool, you need to send the parameters of the resource pool node when assigning a restore scope. As a result, Veeam Backup Enterprise Manager will allow the user to restore data from all VMs residing in the VMs resource pool.

Prerequisites
Make sure you are logged on to Veeam Backup Enterprise Manager under the user account that belongs to the Portal Administrators group. Otherwise you will not be able to change configuration settings in Veeam Backup Enterprise Manager.

Procedure
1. After you access Veeam Backup Enterprise Manager RESTful API and create a new logon session, examine the representation of the logon session that the server has returned:
Request : POST http://localhost:9399/api/sessionMngr/ Request Header: Authorization: Basic QWRtaW5pc3RyYXRvcjpUcmVzc3Bhc3Mx Response: 201 Created Response Header: X-RestSvcSessionId: O9Msj3rq7EGUhtSMBQx+mw== Response Body: <LogonSession xmlns="http://www.veeam.com/ent/v1.0" Type="LogonSession" Href="http://localhost:9399/api/logonSessions/3b68b200-0a744543-b7b2-301fae3ea507"> <Links> <Link Rel="Up" Type="EnterpriseManager" Href="http://localhost:9399/api/" /> <Link Rel="Down" Type="BackupServerReferenceList" Href="http://localhost:9399/api/backupServers" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/jobs" /> <Link Rel="Down" Type="HierarchyRootReferenceList" Href="http://localhost:9399/api/hierarchyRoots" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/repositories" /> ... <Link Rel="Down" Type="EnterpriseSecuritySettings" Href="http://localhost:9399/api/security" /> ... </Links>

375 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

<UserName>BACKUPSERVER\Administrator</UserName> <SessionId>3b68b200-0a74-4543-b7b2-301fae3ea507</SessionId> </LogonSession>

2.

Find the link for the /security resource:


<Link Rel="Down" Type="EnterpriseSecuritySettings" Href="http://localhost:9399/api/security" />

3.

From the link, retrieve the URL for the /security resource. The URL is specified in the Href element. Send the GET HTTP request to the retrieved URL. The server will return a representation of the security resource that provides access to Veeam Backup Enterprise Manager security settings and allows you to manage roles used in Veeam Backup Enterprise Manager:
Request : GET http://localhost:9399/api/security Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EnterpriseSecuritySettings xmlns="http://www.veeam.com/ent/v1.0" Href="http://localhost:9399/api/security"> <Links> <Link Rel="Down" Type="EnterpriseAccountReferenceList" Href="http://localhost:9399/api/security/accounts" /> <Link Rel="Down" Type="EnterpriseRoleReferenceList" Href="http://localhost:9399/api/security/roles" /> <Link Rel="Create" Href="http://localhost:9399/api/security/accounts" /> <Link Rel="Start" Href="http://localhost:9399/api/security/accounts?action=rebuil dScope" /> </Links> </EnterpriseSecuritySettings>

4.

Examine the received resource representation and find a link to the /accounts resource.
<Link Rel="Down" Type="EnterpriseAccountReferenceList" Href="http://localhost:9399/api/security/accounts" />

5.

Retrieve the URL for the job entity and send the GET HTTP request to the retrieved URL. The server will return a list of all accounts that have a specific role in Veeam Backup Enterprise Manager.
Request : GET http://localhost:9399/api/security/accounts Request Header: X-RestSvcSessionId

376 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/129ccafbd740-4a5a-b602-b02acfec1ec5" Name="localhost\Administrator" UID="urn:veeam:EnterpriseAccount:129ccafb-d740-4a5a-b602b02acfec1ec5"> <Links> <Link Rel="Alternate" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/129ccafbd740-4a5a-b602-b02acfec1ec5?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/d537f7a19143-4c90-8326-d4225c4a8f30" Name="BUILTIN\Administrators" UID="urn:veeam:EnterpriseAccount:d537f7a1-9143-4c90-8326d4225c4a8f30"> <Links> <Link Rel="Alternate" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/d537f7a19143-4c90-8326-d4225c4a8f30?format=Entity" /> </Links> </Ref> </EntityReferences>

6.

Find a link to the entity representation of the necessary account resource and send the GET HTTP request to it.
Request : GET http://localhost:9399/api/security/accounts/129ccafb-d7404a5a-b602-b02acfec1ec5?format=Entity Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EnterpriseAccount xmlns="http://www.veeam.com/ent/v1.0" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/129ccafbd740-4a5a-b602-b02acfec1ec5?format=Entity" Name="localhost\Administrator" UID="urn:veeam:EnterpriseAccount:129ccafb-d740-4a5a-b602b02acfec1ec5"> <Links> <Link Rel="Alternate" Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/129ccafbd740-4a5a-b602-b02acfec1ec5" /> <Link Rel="Down" Type="EnterpriseAccountInRoleList" Href="http://localhost:9399/api/security/accounts/129ccafb-

377 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

d740-4a5a-b602-b02acfec1ec5/roles" /> <Link Rel="Create" Type="EnterpriseAccountInRole" Href="http://localhost:9399/api/security/accounts/129ccafbd740-4a5a-b602-b02acfec1ec5/roles" /> <Link Rel="Down" Type="EnterpriseAccountHierarchyScopeList" Href="http://localhost:9399/api/security/accounts/129ccafbd740-4a5a-b602-b02acfec1ec5/scopes" /> <Link Rel="Create" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/129ccafbd740-4a5a-b602-b02acfec1ec5/scopes" /> <Link Rel="Delete" Href="http://localhost:9399/api/security/accounts/129ccafbd740-4a5a-b602-b02acfec1ec5" /> <Link Rel="ToggleRestoreScopesEnabled" Href="http://localhost:9399/api/security/accounts/129ccafbd740-4a5a-b602-b02acfec1ec5" /> </Links> <AccountType>User</AccountType> <AllowRestoreAllVms>true</AllowRestoreAllVms> </EnterpriseAccount>

7.

Examine the received resource representation and find a link to the scope creation action. Send the POST HTTP request to the URL in the link. The request requires a body. In the body of the request, you must provide a reference to the hierarchy object, or node in the virtual infrastructure, and the object name. For example, if you want to assign a resource pool as a restore scope, you must provide a reference to the resource pool object in the request body. The reference to the hierarchy object can be constructed manually or obtained using the lookup service.
Request : POST http://localhost:9399/api/security/accounts/129ccafb-d7404a5a-b602-b02acfec1ec5/scopes Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Request Body : <?xml version="1.0" encoding="utf-8"?> <HierarchyScopeCreateSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <HierarchyScopeItem> <HieararchyObjRef>urn:VMware:ResourcePool:3e7fea0c-e92d-44599842-0304df34c644.resgroup-10734</HieararchyObjRef> <ObjectName>Production</ObjectName> </HierarchyScopeItem> </HierarchyScopeCreateSpec> Response: 201 Created Response Body: None

378 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

8.

To check if the restore scope has been successfully assigned or not, send the GET HTTP request to the URL of the /security/accounts/{ID}/scopes resource:
Request : GET http://localhost:9399/api/security/accounts/129ccafb-d7404a5a-b602-b02acfec1ec5/scopes Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EnterpriseAccountHierarchyScopes xmlns="http://www.veeam.com/ent/v1.0"> <EnterpriseAccountHierarchyScope Href="http://localhost:9399/api/security/accounts/9570aed17eff-4684-b77a-7735bdbe820d/scopes/2afe748f-bdc3-49d0-883720d2037a1176"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/9570aed17eff-4684-b77a-7735bdbe820d/scopes/2afe748f-bdc3-49d0-883720d2037a1176" /> </Links> <Name>Production</Name> <HierarchyRootName>vcprod.veeam.local</HierarchyRootName> <Platform>VMware</Platform> <HierarchyObjectType>ResourcePool</HierarchyObjectType> <State>Unprocessed</State> </EnterpriseAccountHierarchyScope> ... </EnterpriseAccountHierarchyScopes>

Result
The restore scope is assigned to the selected account having the Restore Operators role.

379 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

APPENDIX A. CONSTRUCTING HIERARCHYOBJREFTYPE


Some requests in Veeam Backup Enterprise Manager RESTful API require the client to provide a reference to the virtual infrastructure object, or HierarchyObjRefType. The HierarchyObjRefType object describes a specific node in the virtual infrastructure hierarchy. This object must be constructed for requests that refer to some node or level in the virtual infrastructure hierarchy, for example, a request editing a job or assigning a restore scope to the account in Veeam Backup Enterprise Manager. The HierarchyObjRefType object is constructed as a string that has the following pattern:
urn:<Platform>:<Type>:<HierarchyRootId>.<ObjectRef>

where: Platform is the platform on which the virtual infrastructure object is created: VMware, Hyperv or vCloud Type is the object type. In the VMware virtual environment, the HierarchyObjRefType can represent an object of the following types: VM Host Cluster Template VirtualApp Vc Datacenter Folder Datastore ComputeResource ResourcePool

In vCloud Director, the HierarchyObjRefType can represent an object of the following types: VcdSystem Organization OrgVdc Vapp Vm VappTemplate VmTemplate

In the Hyper-V virtual environment, the HierarchyObjRefType can represent an object of the following types:

380 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3

Vm Host Cluster Scvmm HostGroup HierarchyRootID is a ID of the host on which the virtual infrastructure object resides. The HierarchyRootID can be obtained using the /hierarchyRoots resource. ObjectRef is an ID of the virtual infrastructure object itself: mo-ref or ID, depending on the virtualization platform.

For example, you need to to configure the HierarchyObjRefType string for the VM. The VM is described with the following settings: Platform: VMware Type: VM HierarchyRootID: vcprod.veeam.local having ID a2b0c55d-829a-4efe-bd95-125ee77ba9dd Mo-ref: vm-7870

The HierarchyObjRefType string will then look in the following way:


urn:VMware:Vm:a2b0c55d-829a-4efe-bd95-125ee77ba9dd.vm-7870

Note:

In addition to configuring the HierarchyObjRefType string manually, you can get the HierarchyObjRefType string for the necessary object in the virtual infrastructure hierarchy using the /lookupSvc resource.

381 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3