Veeam Backup Enterprise Manager RESTful API Version 7.0 Reference November, 2013
Veeam Backup Enterprise Manager RESTful API Version 7.0
Reference November, 2013
2 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
© 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.
3 | 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
4 | 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
/BACKUPTASKSESSIONS.................................................................................................. 164
5 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
(GET) /backupTaskSessions............................................................................ 165
/BACKUPTASKSESSIONS/{ID} ........................................................................................... 167
(GET) /backupTaskSessions/{ID} ..................................................................... 169
/REPLICATASKSESSIONS.................................................................................................. 171
(GET) /replicaTaskSessions............................................................................. 172
/REPLICATASKSESSIONS/{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
6 | 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
7 | 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={objType} ............................................................................................................ 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
8 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
(DELETE) /logonSessions/{ID}......................................................................... 353
SAMPLE SCENARIOS....................................................................................................... 355
STARTING A JOB............................................................................................................ 355
PERFORMING 1-CLICK RESTORE ........................................................................................ 362
PERFORMING FULL VM RESTORE ...................................................................................... 370
ASSIGNING A RESTORE SCOPE .......................................................................................... 375
APPENDIX A. CONSTRUCTING HIERARCHYOBJREFTYPE ............................................... 380
9 | 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
10 | 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 # Date Description of Changes
Revision 1 8/15/2013 Initial version of the document for Veeam Backup Enterprise Manager RESTful API.
Revision 2 9/23/2013 Changes in the Reference section; several scenarios added to the Sample scenarios section.
Revision 3 11/14/2013 Lookup section added; parameters for vCloud VM restore added.
11 | 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.
12 | 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. The client makes requests to the server, Veeam Backup Enterprise Manager, over the HTTP protocol.
2. 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.
3. 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)
13 | 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
14 | 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-83d7-00ce2bbd7c0a
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.
15 | 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-afbd-273de2e6fd4a
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-b8af-8e45a58c1a88/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.
16 | 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-afbd-273de2e6fd4a?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-afbd-273de2e6fd4a" Name="localhost" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a/credentials" /> <Link Rel="Create" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a/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.
17 | 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-96e9-5f80e4725a15/credentials/57bd1035-fb26-441b-9e8b-6d0301dd2d87"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15?format=Entity" Name="localhost" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15/credentials/57bd1035-fb26-441b-9e8b-6d0301dd2d87" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15/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
18 | 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-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-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb/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-92cf-39ab36712bf5?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-b622-c6e3ebda28cb?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-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb/backupSessions" />
19 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb" Name="Exchange Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb?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">
20 | 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-b622-c6e3ebda28cb/includes/1767fb26-8d29-45c4-97b5-de69bd4136b0"> <ObjectInJobId>1767fb26-8d29-45c4-97b5-de69bd4136b0</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:195c7259-8d89-4f6e-9098-25ee1f432669.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>
21 | 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-92cf-39ab36712bf5?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-afbd-273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5" Name="Exchange Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/568c42ce-eb11-
22 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
4140-92cf-39ab36712bf5?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?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-46ba-afbd-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-92cf-39ab36712bf5" Name="Exchange Backup" />
3. List of job sessions:
<Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5/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-92cf-39ab36712bf5/includes" />
2. Edit a job:
<Link Rel="Start" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=start" />
3. Start a job:
<Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5" Name="Exchange Backup" />
4. Stop a job:
<Link Rel="Stop" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=stop" />
23 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
5. Retry a job:
<Link Rel="Retry" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=retry" />
6. Clone a job:
<Link Rel="Clone" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=clone" />
7. Enable or disable the job:
<Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?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 Description
Action Identifies an action that can be performed with the linked object. For example, Create, Edit, Delete, Start, Stop, Retry, Clone and so on.
Type of
relationship
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.
Alternate URL 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
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-b09a-73696ef34bf0" Name="Exchange Backup" />
24 | 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.
• Href attribute contains a URL for the backup resource — /backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a.
• Name attribute defines a name for the backup — Exchange Backup.
Href
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.
25 | 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-eb11-4140-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-92cf-39ab36712bf5" 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 HTTP Verb Sample Actions
Create POST Create a new resource, for example, a logon session or credentials record.
Delete DELETE Delete a resource, for example, a logon session or a task.
Alternate GET Get an entity representation for the resource.
Edit PUT Edit a resource, for example, a job.
Start POST Start some operation, for example, a job.
Stop POST Stop some operation, for example, a job.
Retry POST Retry some operation, for example, a job.
Clone POST Clone a resource, for example, a job.
Related GET 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.
Restore POST Perform a restore operation, for example, full VM restore.
Failover POST Perform VM replica failover.
Download POST Download a file.
26 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Operation HTTP Verb Sample Actions
Toggle
Schedule
Enabled
POST Enable or disable job launch by the schedule.
Toggle
RestoreScopes
Enabled
POST Enable or disable restore scope settings for the account having a specific role in Veeam Backup Enterprise Manager.
Browse POST Launch the browsing operation for the VM file system.
Up GET Retrieve a list of resources that are parent to the current resource, for example: Veeam backup server parent for a job resource.
Down GET Retrieve a list of resources that are child to the current resource, for example: job sessions child for a job resource.
Previous GET Move back to the previous page with query results
Next GET Move forward to the next page with query results
First GET Move to the first page with query results
Last GET Move to the last page with query results
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-92cf-39ab36712bf5?action=start
27 | 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-92cf-39ab36712bf5?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-9ed2-54e7fddc5ecf</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-b0c8-096c845bafcd?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>
28 | 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-9ed2-54e7fddc5ecf?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-9ed2-54e7fddc5ecf?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-afbd-273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/3efc471c-04be-4dd1-9ed2-54e7fddc5ecf" Name="Default Backup Repository" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/3efc471c-04be-4dd1-9ed2-54e7fddc5ecf/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/3efc471c-04be-4dd1-9ed2-54e7fddc5ecf/replicas" />
29 | 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-b0c8-096c845bafcd?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>
30 | 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-990b-ec16e1c6d1ee Response: 204 Deleted
31 | 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
Description Response
Body Content
Details
200 GET PUT Success
Resource representation The operation has been successfully completed.
201 POST Created Representation of the created resource
The resource has been successfully created.
202 POST Accepted n/a
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.
204 PUT POST DELETE
No Content n/a
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.
32 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Error operation statuses
Code Applies to HTTP Method
Description Response
Body Content
Details
400 POST PUT Bad Request Error
The request body is malformed, incomplete or otherwise invalid.
401 All Unauthorized Error The authorization header has been expected but not found (or found but is expired).
403 All Forbidden Error The user sending a request does not have adequate privileges to access one or more objects specified in the request.
404 All Not Found Error One or more resources specified in the request could not be found in the specified resource collection.
405 All Method is not Allowed Error
The HTTP method specified in the request is not supported for this resource.
500 GET POST PUT
Internal Server Error Error
The request has been received but could not be completed because of an internal error at the server side.
501 POST PUT DELETE
Not Implemented Error
The server does not support the functionality required to fulfill the request.
503 All Service Unavailable Error
The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.
33 | 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:
• Perform ad-hoc search for necessary resources • Filter results by defined criteria • Define the format of results display and pagination
Tip: 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.
34 | 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””.
35 | 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-eb11-4140-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-afbd-273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5" Name="DC Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5" Name="DC Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?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>
36 | 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>
37 | 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-92cf-39ab36712bf5/includes/9a3e17b6-00df-4cbc-8816-b4ae568983e3"> <ObjectInJobId>9a3e17b6-00df-4cbc-8816-b4ae568983e3</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:4852fc4f-9646-41e6-988d-60ea9b85bc39.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-4b8a-4f3d-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-afbd-273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf/includes" /> <Link Rel="Edit" Type="JobReference"
38 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf" Name="Exchange Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/e5d94cae-4b8a-4f3d-97a5-43cb95b67bcf?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
39 | 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-97a5-43cb95b67bcf/includes/0461a3f8-4d3e-42d7-8c91-f28e959278f2"> <ObjectInJobId>0461a3f8-4d3e-42d7-8c91-f28e959278f2</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:4852fc4f-9646-41e6-988d-60ea9b85bc39.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>
40 | 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=name&pageSize=100&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=job&format=entities&sortAsc=name&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.
41 | 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-ac3f-06ffe8b241ad?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-ac3f-06ffe8b241ad?action=restore" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/03506bd0-e239-4538-be29-cac3c3eec0d0" Name="Jul 19 2013 9:56AM" /> <Link Rel="Alternate" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/eb036525-d214-4057-ac3f-06ffe8b241ad" Name="sharepoint@2013-07-19 09:56:49" /> <Link Rel="Down" Type="VmRestorePointMountList" Href="http://localhost:9399/api/vmRestorePoints/eb036525-d214-4057-ac3f-06ffe8b241ad/mounts" /> <Link Rel="Create" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/eb036525-d214-4057-ac3f-06ffe8b241ad/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-9622-13f373dfac85?format=Entity" Name="sql01 (6ebb52e1-76e3-4659-8011-d9d91dc79c97)@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-9622-13f373dfac85?action=restore" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/8bcb389f-d7cd-4f86-89ff-a7dd86f78779" Name="Jul 30 2013 10:42AM" /> <Link Rel="Alternate" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/974ff763-5cb2-484f-9622-13f373dfac85" Name="sql01 (6ebb52e1-76e3-4659-8011-d9d91dc79c97)@2013-07-30 10:44:04" /> <Link Rel="Down" Type="VmRestorePointMountList" Href="http://localhost:9399/api/vmRestorePoints/974ff763-5cb2-484f-9622-13f373dfac85/mounts" />
42 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Create" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/974ff763-5cb2-484f-9622-13f373dfac85/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-afbd-273de2e6fd4a" Name="localhost" UID="urn:veeam:BackupServer:21a631e0-af7f-46ba-afbd-273de2e6fd4a"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/21a631e0-af7f-46ba-afbd-273de2e6fd4a?format=Entity" Name="localhost" /> </Links> </Ref> <Ref Type="BackupServerReference"
43 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ec-bcad37e72411" Name="backupserver2" UID="urn:veeam:BackupServer:44811b08-8ba6-4e18-b0ec-bcad37e72411"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ec-bcad37e72411/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ec-bcad37e72411/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ec-bcad37e72411/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/44811b08-8ba6-4e18-b0ec-bcad37e72411?format=Entity" Name="backupserver2" /> </Links> </Ref> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d7-00ce2bbd7c0a" Name="backupserver" UID="urn:veeam:BackupServer:69368052-f7be-4be2-83d7-00ce2bbd7c0a"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d7-00ce2bbd7c0a/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d7-00ce2bbd7c0a/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d7-00ce2bbd7c0a/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d7-00ce2bbd7c0a?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&pageSize=100&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=backupServer&sortAsc=name&pageSize=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:
44 | 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-83d7-00ce2bbd7c0a" Name="backupserver" UID="urn:veeam:BackupServer:69368052-f7be-4be2-83d7-00ce2bbd7c0a"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d7-00ce2bbd7c0a/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d7-00ce2bbd7c0a/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d7-00ce2bbd7c0a/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/69368052-f7be-4be2-83d7-00ce2bbd7c0a?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.
45 | 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/568c42ce-eb11-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-afbd-273de2e6fd4a" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/568c42ce-eb11-4140-92cf-39ab36712bf5/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%22Exchange+Backup%22)&pageSize=100&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=job&filter=(name%3d%3d%22Exchange+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-96e9-5f80e4725a15. For all other resources, this parameter can be skipped. In this case, the server will return a list of resources of the specified type.
46 | 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
Query syntax character Description
AND ; (Semicolon) All conditions specified in the filter parameter must be true.
OR , (Comma) 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/de14a4c9-3fb9-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-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766-f1c00a5b8067" Name="SQL" UID="urn:veeam:Job:dce85686-59c8-42c4-8766-f1c00a5b8067"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766-f1c00a5b8067?format=Entity" Name="SQL" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766-f1c00a5b8067/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" />
47 | 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
Query syntax character
Description
Greater > The query result must be greater than the value specified in the “field-value” pair.
Less < The query result must be less than the value specified in the “field-value” pair.
Equal == The query result must be equal to the value specified in the “field-value” pair.
Does not equal != The query result must not be equal to the value specified in the “field-value” pair.
Greater or equal >= The query result must be greater or equal to the value specified in the “field-value” pair.
Less or equal <= The query result must be less or equal to the value specified in the “field-value” 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/795f2f57-6cc0-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-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7?format=Entity" Name="Fileserver Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-
48 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
bd7cd5df9aa7/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/6c1375ec-e666-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-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/6c1375ec-e666-4b65-9537-d2d4b4b64dc8?format=Entity" Name="DC Replication" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/jobs/6c1375ec-e666-4b65-9537-d2d4b4b64dc8/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%3dreplica%3b+scheduleconfigured%3d%3dtrue)%2c(jobtype%3d%3dbackup%3bname%3d%3d%22FileServer+Backup%22)&pageSize=100&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/query?type=job&filter=(jobtype%3d%3dreplica%3b+scheduleconfigured%3d%3dtrue)%2c(jobtype%3d%3dbackup%3bname%3d%3d%22FileServer+Backup%22)&pageSize=100&page=1" /> </Links> </PagingInfo> </QueryResult>
49 | 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-a80a-cb5693b6527e" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a3e7fea0c-e92d-4459-9842-0304df34c644&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a195c7259-8d89-4f6e-9098-25ee1f432669&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a1b07c378-bb71-445d-8652-50cead6309e1&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3af27785dc-237e-4bea-8bfd-ad131c50934e&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3afa099d3b-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.
50 | 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-b515-2b18bbb4d3ec.
Request: GET http://localhost:9399http://localhost:9399/api/lookup?hierarchyRef= urn:vCloud:Vm:fa099d3b-7376-49b1-884c-bb6fa47c7b1e.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-884c-bb6fa47c7b1e.urn:vcloud:vm:6b2da27f-e653-495b-b515-2b18bbb4d3ec</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=(objectType)
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-bb6fa 47c7b1e • 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:
51 | 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
For the Hyper-V virtual environments:
• Vm • Host • Cluster • Scvmm • HostGroup
The example below returns a VM named DC that resides on the host having the following ID: fa099d3b-7376-49b1-884c-bb6fa47c7b1e.
Request: GET http://localhost:9399/web/#/api/lookup?host=urn:veeam:HierarchyRoot:fa099d3b-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-884c-bb6fa47c7b1e.urn:vcloud:vm:340be4d6-8657-4d70-92d7-
52 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
41ac6298f688</ObjectRef> <ObjectType>Vm</ObjectType> <ObjectName>DC</ObjectName> </HierarchyItem> </HierarchyItems>
53 | 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.
54 | 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.
2. The client must obtain an authorization token that must be used in all requests during the current logon session.
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. The client sends an unauthorized GET HTTP request to the base URL of Veeam Backup Enterprise Manager RESTful API:
2. 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>
55 | 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 WWW-Authenticate 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 X-RestSvcSessionId 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.
56 | 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-8a33-b02c7ff4b441" />
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
57 | 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. The client accesses Veeam Backup Enterprise Manager RESTful API by its base URL: • http://<Enterprise-Manager>:9399/api/ • https://<Enterprise-Manager>:9398/api/
2. 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.
3. The server creates a new authentication token for the logon session. 4. 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.
5. The client retrieves the authorization token from the server response. 6. 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.
7. The server returns a resource representation to the client. 8. 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.
9. Using the retrieved URL and the necessary HTTP verb, the client composes a new request to the server and so on and so forth.
58 | 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.
59 | 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 Value Required/Optional
Authorization Identifies an authenticated user who makes requests to the server.
Basic username:password (base64 encoded)
Must be sent with a request for creating a new logon session. To learn more, see the HTTP Authentication session.
Content-Type Identifies the media type and syntax of the request body message.
application/xml Must be sent with all requests with the request body message.
X-RestSvcSessionId Identifies a logon session used to work with Enterprise Manager RESTful API.
Session ID copied from the server reply to the Create new logon session request.
Must be sent with all requests to the server. To learn more, see the HTTP Authentication session.
60 | 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 Description Value Required/Optional
Content-Length Identifies the length of the response body message.
Length of the response body message in bytes.
Contained in all responses with the request body message.
Content-Type Identifies the media type and syntax of the request body message.
application/xml Contained in all responses with the request body message.
Location
Contains a URL for the resource that was created in response to the POST HTTP request.
URL for the created resource
Contained in responses to the POST HTTP requests
X-RestSvc
SessionId Contains an ID for a new logon session.
ID of the created logon session.
Contained in the response to the Create new logon session request. To learn more, see the HTTP Authentication session.
61 | 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. Access Veeam Backup Enterprise Manager RESTful API 2. Perform logon 3. Get a list of Veeam backup servers 4. 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/" />
62 | 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) Construct a string in the username:password format. b) Encode the string with base64 encoding. c) 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-4f41-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" /> <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"
63 | 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-4f41-8cce-fe422fc259e6" /> </Links> <UserName>VEEAMBACKUP\Administrator</UserName> <SessionId>2e712cc5-33d2-4f41-8cce-fe422fc259e6</SessionId>
64 | 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-4747-8bd4-d686f99b0540" Name="backupserver" UID="urn:veeam:BackupServer:f62624c1-8462-4747-8bd4-d686f99b0540"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540?format=Entity" Name="backupserver" /> </Links> </Ref> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c" Name="localhost" UID="urn:veeam:BackupServer:50a1b2fb-b90a-4e05-816f-e298eb2f995c">
65 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-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-4f41-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" /> <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"
66 | 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-4f41-8cce-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-8cce-fe422fc259e6"
67 | 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-8cce-fe422fc259e6 Response: 204 Deleted
4. If you are using Veeam Backup Enterprise Manager Web Client, close the browser window. The logon session will be deleted.
68 | 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}
69 | 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}
70 | 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-8bd4-d686f99b0540" Name="backupserver" UID="urn:veeam:BackupServer:f62624c1-8462-4747-8bd4-d686f99b0540"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540?format=Entity" Name="backupserver" /> </Links> </Ref> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c" Name="localhost" UID="urn:veeam:BackupServer:50a1b2fb-b90a-4e05-816f-e298eb2f995c"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c?format=Entity" Name="localhost" /> </Links> </Ref>
71 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupServers resource collection.
72 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-8bd4-d686f99b0540" Name="backupserver" UID="urn:veeam:BackupServer:f62624c1-8462-4747-8bd4-d686f99b0540"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540?format=Entity" Name="backupserver" /> </Links> </Ref> <Ref Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c" Name="localhost" UID="urn:veeam:BackupServer:50a1b2fb-b90a-4e05-816f-e298eb2f995c"> <Links> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/credentials" /> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c?format=Entity" Name="localhost" /> </Links> </Ref> </EntityReferences>
73 | 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-8bd4-d686f99b0540" Name="backupserver" UID="urn:veeam:BackupServer:f62624c1-8462-4747-8bd4-d686f99b0540"> <Links> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540?format=Entity" Name="backupserver" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials" /> </Links> </EntityRef>
74 | 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-8bd4-d686f99b0540?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-8bd4-d686f99b0540" Name="backupserver" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials" /> <Link Rel="Create" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
75 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Query Parameters
The following parameters can be used in queries:
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
UID URN
ID of the Veeam backup server connected to Veeam Backup Enterprise Manager, for example: urn:veeam:BackupServer:15942270-fb56-4dcc-96e9-5f80e4725a15.
True True
Name String Name of the Veeam backup server connected to Veeam Backup Enterprise Manager. for example: BACKUPSERVER.
True True
Description String Description specified for the Veeam backup server in Veeam Backup Enterprise Manager. True True
IpOrDns
Name IP address or String
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.
True True
Port Int64 Port used by Veeam Backup Enterprise Manager for collecting data from Veeam backup servers. By default, port 9392 is used.
True True
Version String Version of Veeam Backup & Replication installed on the Veeam backup server, for example: 7.0.
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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupServer/{ID} resource.
76 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Example The example below returns an entity representation of the Veeam backup server having ID f62624c1-8462-4747-8bd4-d686f99b0540:
Request: GET http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540?format=Entity Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-8bd4-d686f99b0540?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-8bd4-d686f99b0540" Name="backupserver" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials" /> <Link Rel="Create" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials?action=create" /> </Links> <Description /> <Port>9392</Port> <Version>7.0</Version> </BackupServer>
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=="Columbus backup server") Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body:
77 | 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-816f-e298eb2f995c" Name="backupserver" UID="urn:veeam:BackupServer:50a1b2fb-b90a-4e05-816f-e298eb2f995c"> <Links> <Link Rel="Alternate" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c?format=Entity" Name="backupserver" /> <Link Rel="Down" Type="JobReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/jobs" /> <Link Rel="Down" Type="RepositoryReferenceList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/repositories" /> <Link Rel="Down" Type="CredentialsList" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/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-816f-e298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c?format=Entity" Name="win-tw5" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-
78 | 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-816f-e298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c?format=Entity" Name="win-tw5" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
79 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Username String User name of the credentials record, for example: BACKUPSERVER/Administrator. True True
Description String Description of the credentials record, for example: Administrator credentials. True True
BackupSer
verUid URN
ID of the Veeam backup server on which the credentials record has been created, for example: urn:veeam:BackupServer:15942270-fb56-4dcc-96e9-5f80e4725a15.
True True
Credentials
Id URN
ID of the credentials record, for example:3ff61155-ed3d-47c5-a07b-29c7ca0d36b9. 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-96e9-5f80e4725a15.
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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupServers/{ID}/credentials collection resource.
80 | 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-816f-e298eb2f995c/credentials Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-816f-e298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c?format=Entity" Name="win-tw5" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/credentials/a45eb049-6f8d-49d4-9dba-4f1499f9d8d1" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-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-816f-e298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c?format=Entity" Name="win-tw5" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/credentials/d5e6816b-155d-4c2f-a555-4ad249fab682" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/50a1b2fb-b90a-4e05-816f-e298eb2f995c/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>
81 | 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://<Enterprise-Manager>:9399/api/backupServers/{ID}/credentials?action=create
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
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 Type Description Modifiable Min/Max Occurrence
Username String User name of the added credentials record in the DOMAIN\USENAME format. Yes 0/1
Description String Description of the added credentials record. Yes 0/1
Password String Password of the added credentials. Yes 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.
82 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
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-8bd4-d686f99b0540/credentials?action=create Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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
83 | 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-8bd4-d686f99b0540/credentials/70275b03-e805-49e1-9535-1867c62371e2"> <Links> <Link Rel="Up" Type="BackupServer" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540?format=Entity" Name="localhost" /> <Link Rel="Edit" Type="Credentials" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials/70275b03-e805-49e1-9535-1867c62371e2" /> <Link Rel="Delete" Type="Credentials" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/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>
84 | 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://<Enterprise-Manager>:9399/api/backupServers/{ID}/credentials/{ID}
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
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 Type Description Modifiable Min/Max Occurrence
Username String User name of the edited credentials record in the DOMAIN\USENAME format. Yes 0/1
Description String Description of the added credentials record. Yes 0/1
Password String Password of the added credentials. Yes 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.
85 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
None.
Example The example below updates the password parameter in the credentials record having ID c473b8df-4499-41b8-ba6b-7f76def6fea1 on the Veeam backup server with ID f62624c1-8462-4747-8bd4-d686f99b0540.
Request: PUT http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials/c473b8df-4499-41b8-ba6b-7f76def6fea1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Request Body: <?xml version="1.0" encoding="utf-8"?> <CredentialsInfo Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials/9a8fb433-cacd-4089-a97e-437e99f128bc" 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
86 | 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://<Enterprise-Manager>:9399/api/backupServers/{ID}/credentials/{ID}
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
None.
87 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Example The example below removes a credentials record having ID c473b8df-4499-41b8-ba 6b-7f76def 6fea1 on the Veeam backup server with ID f62624c1-8462-4747-8bd4-d686f99b0540.
Request: DELETE http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540/credentials/c473b8df-4499-41b8-ba6b-7f76def6fea1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 204 No Content
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-9821-b4b6e7397b34" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34?format=Entity" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList"
88 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/replicas" /> </Links> </Ref> <Ref Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51?format=Entity" Name="Default Backup Repository" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51/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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
89 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9821-b4b6e7397b34" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34?format=Entity" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/replicas" /> </Links> </Ref> <Ref Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51" 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-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/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51?format=Entity" Name="Default Backup Repository" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51/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-9821-b4b6e7397b34" 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-8bd4-
91 | 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-9821-b4b6e7397b34?format=Entity" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/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-9821-b4b6e7397b34?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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
92 | 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 Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the backup repository resource, for example: urn: veeam:Repository:b609c947-dd30-4295-8b57-cc880329dbd6.
True True
Name String Name of the backup repository, for example: Backups Vol2. True True
FreeSpace Int64 Free space available on the backup repository. True True
Capacity Int64 Total space available on the backup repository. True True
BackupServer
Uid URN
ID of the Veeam backup server parent to the backup repository resource, for example: urn:veeam:BackupServer:15942270-fb56-4dcc-96e9-5f80e4725a15.
True True
Backup
ServerName String
Name of the Veeam backup server parent to the backup repository resource. for example: BACKUPSERVER.
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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /repositories/{ID} resource.
93 | 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-9821-b4b6e7397b34 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9821-b4b6e7397b34" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Repository" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34?format=Entity" Name="Backup Volume1" /> <Link Rel="Down" Type="BackupReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/backups" /> <Link Rel="Down" Type="ReplicaReferenceList" Href="http://localhost:9399/api/repositories/0771a731-0238-405c-9821-b4b6e7397b34/replicas" /> </Links> </EntityRef>
/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
94 | 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/d1b85018-2769-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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/288a3c15-fe00-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-816f-e298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946-074ad0c2d97f?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946-074ad0c2d97f/backupSessions" /> </Links> </Ref> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/91345416-90d4-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-816f-e298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/91345416-90d4-4862-94a8-276659ce72cd?format=Entity" Name="Sharepoint Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/91345416-90d4-4862-94a8-276659ce72cd/backupSessions" /> </Links> </Ref> ... </Ref> </EntityReferences>
95 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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.
96 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
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/d1b85018-2769-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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/288a3c15-fe00-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-816f-e298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946-074ad0c2d97f?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946-074ad0c2d97f/backupSessions" /> </Links> </Ref> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/91345416-90d4-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-816f-e298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/91345416-90d4-4862-94a8-276659ce72cd?format=Entity" Name="Sharepoint Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/91345416-90d4-4862-94a8-276659ce72cd/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a" Name="Exchange Backup HV" UID="urn:veeam:Job:13b734c3-4fce-4aa0-b022-29ac5b4dd29a"> <Links> <Link Rel="Up" Type="BackupServerReference"
97 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a?format=Entity" Name="Exchange Backup HV" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/d6a0240e-f97e-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-816f-e298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/d6a0240e-f97e-40c1-84c8-445bd314d416?format=Entity" Name="Oracle Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/d6a0240e-f97e-40c1-84c8-445bd314d416/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-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-816f-e298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?format=Entity" Name="Fileservers Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/29edcb13-aa21-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-8bd4-d686f99b0540" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/29edcb13-aa21-4a56-b89b-bfb6f4b59f6e?format=Entity" Name="DC Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/29edcb13-aa21-4a56-b89b-bfb6f4b59f6e/backupSessions" /> </Links> </Ref> </EntityReferences>
Note: Currently the GET method returns jobs of the Backup and Replication types only.
98 | 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-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-816f-e298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?format=Entity" Name="Fileservers Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f/backupSessions" /> </Links> </EntityRef>
99 | 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-b047-485d3566f11f?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-816f-e298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f" Name="Fileservers Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f" Name="Fileservers Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?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>
100 | 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-b047-485d3566f11f/includes/1b6460b4-ebf8-48f4-af2b-0f5621c2f796"> <ObjectInJobId>1b6460b4-ebf8-48f4-af2b-0f5621c2f796</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c-6c5dbb2efab2.vm-14911</HierarchyObjRef>
101 | 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-b047-485d3566f11f/includes/6b7f2496-9e77-44f0-ad1c-569d5196bbbe"> <ObjectInJobId>6b7f2496-9e77-44f0-ad1c-569d5196bbbe</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c-6c5dbb2efab2.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>
102 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries:
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the job, for example: urn: veeam:Job:da736815-4fea-4c8e-b0e1-5ecdbca1c512. True True
Name String Name of the job, for example: DC Replication. True True
Description String Description of the job specified at the time of the job creation. True True
NextRun DateTime
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.
True True
JobType String Job type. Possible values: • Backup • Replica
True True
Platform String
Platform for which the job is created. Possible values: • VMware • Hyperv • vCloud
True True
ScheduleC
onfigured Boolean
Defines whether scheduling options are specified for the job. Possible values: • True • False
True True
ScheduleEn
abled Boolean
Defines whether schedule is enabled for the job. Possible values: • True • False
True True
103 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
BackupSer
verUid URN
ID of the Veeam backup server parent to the job resource. True True
BackupSer
verName String
Name of the Veeam backup server parent to the job resource. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /jobs/{ID} resource.
104 | 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-43fe-b047-485d3566f11f.
Request: GET http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f 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/78c3919c-54d7-43fe-b047-485d3566f11f?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-816f-e298eb2f995c" Name="backupserver" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f" Name="Fileservers Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f" Name="Fileservers Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?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>
105 | 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
106 | 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-b047-485d3566f11f/includes/1b6460b4-ebf8-48f4-af2b-0f5621c2f796"> <ObjectInJobId>1b6460b4-ebf8-48f4-af2b-0f5621c2f796</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c-6c5dbb2efab2.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-b047-485d3566f11f/includes/6b7f2496-9e77-44f0-ad1c-569d5196bbbe"> <ObjectInJobId>6b7f2496-9e77-44f0-ad1c-569d5196bbbe</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c-6c5dbb2efab2.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>
107 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
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 Type Description Modifiable Min/Max
Occurrence
Description String Description provided for the job. Yes 0/1
Schedule
Configured Boolean Defines whether scheduling options are configured for the job. Yes 0/1
Schedule
Enabled Boolean
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.
Yes 0/1
For example:
<?xml version="1.0" encoding="utf-8"?> <Job Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512?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-4dcc-96e9-5f80e4725a15" Name="localhost" Type="BackupServerReference" Rel="Up"/>
108 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512" Name="DC Backup" Type="JobReference" Rel="Alternate"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512/backupSessions" Type="BackupJobSessionReferenceList" Rel="Down"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512/includes" Type="ObjectInJobList" Rel="Down"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512" Name="DC Backup" Type="JobReference" Rel="Edit"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512/includes" Type="ObjectInJob" Rel="Create"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512?action=start" Rel="Start"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512?action=stop" Rel="Stop"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512?action=retry" Rel="Retry"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512?action=clone" Rel="Clone"/> <Link Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512?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>
109 | 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-4c8e-b0e1-5ecdbca1c512/includes/e310aa12-eff2-41f4-97c8-631b677fc17f" Type="ObjectInJob"> <ObjectInJobId>e310aa12-eff2-41f4-97c8-631b677fc17f</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:3e7fea0c-e92d-4459-9842-0304df34c644.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/>
110 | 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 Type Description Modifiable Min/Max Occurrence
RetryOptions JobScheduleRetry OptionsType
Retry options set for the job. To learn more, see Retry Options.
Yes —
WaitForBackup
Completion Boolean
This parameter is set for SureBackup jobs. Defines whether the job must wait for the corresponding backup or replication job to launch.
Yes 0/1
Backup
Competition
Waiting
PeriodMin
Int64 Time period in minutes for which the job must wait for the backup completion.
Yes 0/1
OptionsDaily JobScheduleDaily OptionsType
Daily backup options set for the job. To learn more, see Daily Backup Scheduling Options.
Yes 0/1
OptionsMonthly JobScheduleMonthly OptionsType
Monthly backup options set for the job. To learn more, see Monthly Backup Scheduling Options.
Yes 0/1
Options
Periodically JobSchedulePeriodicallyOptionsType
Periodic backup options set for the job. To learn more, see Periodic Backup Scheduling Options.
Yes 0/1
Options
Continuous Boolean
Defines whether the job must be run in a continuous manner. Yes 0/1
OptionsBackup
Window JobScheduleBackupWindowOptionsType
Backup window options set for the job. To learn more, see Backup Window Options.
Yes 0/1
OptionsDaisy
Chaining JobScheduleDaisy ChainingOptionsType
Defines whether backup job chaining is enabled for the job. To learn more, see Job Chaining Options
Yes 0/1
Retry Options
111 | 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 Type Description Modifiable Min/Max
Occurrence
RetryTimes Int64 Number of retries set for the job. Yes 0/1
RetryTimeo
ut Int64 Time interval between job retries Yes 0/1
RetrySpecif
ied 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>
112 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
You can define the following daily scheduling options for the job:
Element Type Description Modifiable Min/Max
Occurrence
Enabled Boolean Defines whether daily scheduling options are specified for the job. Yes —
Kind String
Kind of daily scheduling scheme. Possible values: • Everyday • WeekDays • SelectedDays
Yes 0/1
Days DaysOfWeek Enumeration
Days on which the job must be launched. Possible values: • Sunday • Monday • Tuesday • Wednesday • Thursday • Friday • Saturday
Yes 0/unbounded
Time Time Daily time interval within which the job session should be completed. 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>
113 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
You can define the following daily scheduling options for the job:
Element Type Description Modifiable Min/Max
Occurrence
Enabled Boolean Defines whether monthly scheduling options are specified for the job. Yes —
DayNumber
InMonth String
Day in month on which the backup job must be launched. Yes 0/1
DayOf
Week String
Days on which the job must be launched. Possible values: • Sunday • Monday • Tuesday • Wednesday • Thursday • Friday • Saturday
Yes 0/ unbounded
Months JobScheduleMonth Enumeration
Months on which the job must be launched. Possible values: • January • February • March • April • May • June • July • August • September • October • November • December
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>
114 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
You can define the following monthly scheduling options for the job:
Element Type Description Modifiable Min/Max
Occurrence
Enabled Boolean Defines whether periodic scheduling options are specified for the job. Yes —
FullPeriod Int64 Defines periodic cycles (in hours) in which the job must be launched. Yes 0/1
Schedule Time Periods Type
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.
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 Type Description Modifiable Min/Max Occurrence
Enabled Boolean Defines whether backup window options are specified for the job. Yes —
TimePeriods Time Periods Type
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.
Yes 0/unbounded
115 | 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 Type Description Modifiable Min/Max Occurrence
Enabled Boolean Defines whether job chaining is enabled. Yes —
Previous
JobUid URN
ID of the previous job in the chain, for example: veeam:Job:da736815-4fea-4c8e-b0e1-5ecdbca1c512
Yes 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
Example The example below changes the number of retries to 5 for the job having ID 78c3919c-54d7-43fe-b047-485d3566f11f.
Request: POST http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f?action=edit Request Header:
116 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Request Body: <?xml version="1.0" encoding="utf-8"?> <Job Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb?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 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>EditJob</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task>
117 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 202 Accepted.
Response Headers
The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
118 | 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-b047-485d3566f11f?action=start Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Accepted Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>StartJob</Operation> </Task>
To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:
Request: GET http://localhost:9399/api/tasks/task-1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" 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>
119 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 202 Accepted.
Response Headers
The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
120 | 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-b047-485d3566f11f?action=stop Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Accepted Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>StopJob</Operation> </Task>
To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:
Request: GET http://localhost:9399/api/tasks/task-1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" 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>
121 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 202 Accepted.
Response Headers
The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
122 | 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-b047-485d3566f11f?action=retry Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Accepted Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>RetryJob</Operation> </Task>
To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:
Request: GET http://localhost:9399/api/tasks/task-1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" 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>
123 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
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 Type Description Modifiable Min/Max Occurrence
JobName String Name of the new cloned job. Yes 1/1
FolderName String Name of the backup file/replica that will be created by the cloned job. Yes 1/1
Repository
Uid URN
ID of the backup repository to which the backup file/replica metadata will be written. No 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-8864-d1b4eed4b551</RepositoryUid> </BackupJobCloneInfo> </JobCloneSpec>
Query Parameters
None.
124 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
125 | 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-b047-485d3566f11f?action=clone Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-8864-d1b4eed4b551</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>
To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:
Request: GET http://localhost:9399/api/tasks/task-1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Related" Type="Job"
126 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/jobs/56582f3f-12ae-405d-8921-ed741f74dc02?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://<Enterprise-Manager>:9399/api/jobs/{ID}?action=toggleScheduleEnabled
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully operation returns response code 202 Accepted.
Response Headers
The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
127 | 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-b047-485d3566f11f?action=toggleScheduleEnabled Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Accepted Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>UpdateJob</Operation> </Task>
128 | 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 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>UpdateJob</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task>
/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}
129 | 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-89bc-03f66b60e6cb/includes/561bce0c-9435-4cc2-9e03-1f65cd031c10"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb/includes/561bce0c-9435-4cc2-9e03-1f65cd031c10" Name="sql01-srv" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> </Links> <ObjectInJobId>561bce0c-9435-4cc2-9e03-1f65cd031c10</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:70aa9075-ca31-43bd-99cc-f888b969799b.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-89bc-03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9" Name="sql02-srv" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> </Links> <ObjectInJobId>27a1d57f-7c15-43c6-9162-d05aff1c9bb9</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:70aa9075-ca31-43bd-99cc-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>
130 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid String ID of the VM or VM container processed by the job, for example: e310aa12-eff2-41f4-97c8-631b677fc17f. True True
Name String Name of the VM or VM container processed by the job. for example: DC-SRV. True True
Order Int64 Order number for processing the VM or VM container by the job. The processing sequence starts with 0. True True
JobUid URN
ID of the backup or replication job parent to the VM or VM container resource, for example: urn:veeam:Job:da736815-4fea-4c8e-b0e1-5ecdbca1c512.
True True
131 | 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. True True
Backup
ServerUid URN
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-96e9-5f80e4725a15.
True True
Backup
ServerName String
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
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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /jobs/{ID}/includes collection resource.
132 | 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 78c3919c-54d7-43fe-b047-485d3566f11f.
Request: GET http://localhost:9399/api/jobs/78c3919c-54d7-43fe-b047-485d3566f11f/includes Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-89bc-03f66b60e6cb/includes/561bce0c-9435-4cc2-9e03-1f65cd031c10"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb/includes/561bce0c-9435-4cc2-9e03-1f65cd031c10" Name="sql01-srv" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> </Links> <ObjectInJobId>561bce0c-9435-4cc2-9e03-1f65cd031c10</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:70aa9075-ca31-43bd-99cc-f888b969799b.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-89bc-03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9" Name="sql02-srv" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb?format=Entity" Name="SQL Backup HV" /> </Links> <ObjectInJobId>27a1d57f-7c15-43c6-9162-d05aff1c9bb9</ObjectInJobId> <HierarchyObjRef>urn:HyperV:Vm:70aa9075-ca31-43bd-99cc-
133 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
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 Modifiable Min/Max Occurrence
HierarchyObjRef Hierarchy ObjRefType
Reference to the VM or VM container added to the job. The reference can be constructed manually or obtained with the lookup service.
Yes 1/1
Hierarchy
ObjName String Name of the VM or VM container added to the job. No 1/1
134 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Element Type Description Modifiable Min/Max
Occurrence
Order Int64 Order in which the VM or VM container should be processed by the job. The processing sequence starts with 0.
Yes 0/1
GuestProcessing
Options
Guest Processing Options Type
Options for application-aware image processing. Yes 0/1
You can define the following guest processing options for the job:
Element Type Description Modifiable Min/Max Occurrence
AppAware
ProcessingMode String
Mode of application aware image processing. Possible values: • RequireSuccess • IgnoreFailures • Disabled
Yes —
FileSystem
IndexingMode String
File indexing options. Possible values: • EveryFolders • SpecifiedFolders • ExceptSpecifiedFolders
Yes —
Included
IndexingFolders StringList Type
List of folders that must be indexed. This parameter should be specified if the SpecifiedFolders option is passed in the FileSystemIndexingMode parameter.
Yes —
Excluded
IndexingFolders StringList Type
List of folders that must be excluded from indexing. This parameter should be specified if the ExceptSpecifiedFolders option is passed in the FileSystemIndexingMode parameter.
—
CredentialsId String Guest OS credentials for starting the indexing runtime process. 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.vm-10266</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.
135 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
Example The example below adds a VM having MoID vm-10266 to the job having ID f365fbd8-fbd2-43ad-9f7a-c87cd390a0d9.
Request: POST http://localhost:9399/api/jobs/f365fbd8-fbd2-43ad-9f7a-c87cd390a0d9/includes Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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.vm-10266</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:
136 | 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 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-11</TaskId> <State>Running</State> <Operation>UpdateJob</Operation> </Task>
137 | 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-9946-074ad0c2d97f/includes/eddec4df-493a-48f5-b970-97e73cc65397"> <Links> <Link Rel="Delete" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946-074ad0c2d97f/includes/eddec4df-493a-48f5-b970-97e73cc65397" Name="alba-exch01" /> <Link Rel="Up" Type="Job" Href="http://localhost:9399/api/jobs/288a3c15-fe00-42ad-9946-074ad0c2d97f?format=Entity" Name="Exchange Backup" /> </Links> <ObjectInJobId>eddec4df-493a-48f5-b970-97e73cc65397</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:394588f8-c908-4fbd-b76c-6c5dbb2efab2.vm-3198</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>
138 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 202 Accepted.
Response Headers
The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
139 | 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-89bc-03f66b60e6cb/includes/27a1d57f-7c15-43c6-9162-d05aff1c9bb9 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Accepted Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>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 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>UpdateJob</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task>
140 | 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-9875-16fec36eaa1e" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-9875-16fec36eaa1e?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-9875-16fec36eaa1e/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb-51c3b0271729" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb-51c3b0271729?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-a6fb-51c3b0271729/taskSessions" />
141 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
</Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0-672ee10e08fa" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0-672ee10e08fa?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-a5f0-672ee10e08fa/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a057-6cd81aa92991" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a057-6cd81aa92991?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-a057-6cd81aa92991/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0-bd51d9fd12c8" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0-bd51d9fd12c8?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-9cb0-bd51d9fd12c8/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94ad-c0168ff1b94a" 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"
142 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94ad-c0168ff1b94a?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-94ad-c0168ff1b94a/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcb-db3103a80267" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/29edcb13-aa21-4a56-b89b-bfb6f4b59f6e" Name="DC Backup" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcb-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-9bcb-db3103a80267/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2d-f3cad759ee4c" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2d-f3cad759ee4c?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-8b2d-f3cad759ee4c/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.
143 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success
144 | 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-9875-16fec36eaa1e" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-9875-16fec36eaa1e?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-9875-16fec36eaa1e/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb-51c3b0271729" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/51c98271-3ec9-4f6d-a6fb-51c3b0271729?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-a6fb-51c3b0271729/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0-672ee10e08fa" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/156802f7-2dee-4e5e-a5f0-672ee10e08fa?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-a5f0-672ee10e08fa/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a057-6cd81aa92991" Name="SQL Backup HV@2013-08-09 10:36:36" UID="urn:veeam:BackupJobSession:11b8d3b6-9d81-4665-a057-6cd81aa92991"> <Links>
145 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/11b8d3b6-9d81-4665-a057-6cd81aa92991?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-a057-6cd81aa92991/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0-bd51d9fd12c8" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/84c217e9-3e94-4e1b-9cb0-bd51d9fd12c8?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-9cb0-bd51d9fd12c8/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94ad-c0168ff1b94a" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/c60369a7-ce41-43fa-94ad-c0168ff1b94a?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-94ad-c0168ff1b94a/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcb-db3103a80267" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/29edcb13-aa21-4a56-b89b-bfb6f4b59f6e" Name="DC Backup" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/5bc039dc-a077-4266-9bcb-
146 | 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-9bcb-db3103a80267/taskSessions" /> </Links> </Ref> <Ref Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2d-f3cad759ee4c" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/d1b85018-2769-45be-89bc-03f66b60e6cb" Name="SQL Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/ba04e584-8dda-4a5d-8b2d-f3cad759ee4c?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-8b2d-f3cad759ee4c/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}
147 | 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-9875-16fec36eaa1e" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSession" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-9875-16fec36eaa1e?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-9875-16fec36eaa1e/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-9875-16fec36eaa1e?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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-9875-16fec36eaa1e" Name="Exchange Backup HV@2013-08-08 13:45:36" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-9875-16fec36eaa1e/taskSessions" /> <Link Rel="Related" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/dc29542b-3eb2-42c0-97ab-d15b5f51336b" 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>
148 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the backup job session resource, for example: 88b395e2-81ff-439c-558c-188d97274c15.
True True
Name String Name of the backup job session resource, for example: exch@2013-08-26 22:28:51. True True
JobType String Type of the backup job session. Possible values: Backup. True True
JobUid URN
ID of the backup job parent to the backup job session resource, for example: urn:veeam:Job:dce85686-59c8-42c4-8766-f1c00a5b8067.
True True
JobName String Name of the backup job parent to the backup job session resource, for example: SQL Backup. True True
CreationTime Date Time
Date and time when the backup job session was started. The parameter accepts only UTC-formatted DateTime values.
True True
EndType Date Time
Date and time when the backup job session was ended. The parameter accepts only UTC-formatted DateTime values.
True True
149 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
State String
State of the backup job session. Possible values: • Starting • Stopping • Working • Pausing • Resuming • Stopped
True True
Result String
Result of the backup job session. Possible values: • Success • Warning • Failed
True True
IsRetry Boolean
Defines whether the backup job session has been retried or not. Possible values: • True • False
True True
Backup
ServerUid URN ID of the Veeam backup server parent to the backup job session resource. True True
Backup
ServerName String Name of the Veeam backup server parent to the backup session resource. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupSessions/{ID} resource.
150 | 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-9875-16fec36eaa1e?format=Entity Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9875-16fec36eaa1e?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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/13b734c3-4fce-4aa0-b022-29ac5b4dd29a" Name="Exchange Backup HV" /> <Link Rel="Alternate" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-9875-16fec36eaa1e" Name="Exchange Backup HV@2013-08-08 13:45:36" /> <Link Rel="Down" Type="BackupTaskSessionReferenceList" Href="http://localhost:9399/api/backupSessions/b9750ea7-51e2-4bee-9875-16fec36eaa1e/taskSessions" /> <Link Rel="Related" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/dc29542b-3eb2-42c0-97ab-d15b5f51336b" 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>
/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
151 | 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-8d54-26f140a7b1bf" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d-954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d54-26f140a7b1bf?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-8d54-26f140a7b1bf/repicaTaskSessions" /> </Links> </Ref> <Ref Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b729-65c9e1f807ee" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d-954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b729-65c9e1f807ee?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-b729-65c9e1f807ee/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.
152 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success
153 | 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-8d54-26f140a7b1bf" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d-954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d54-26f140a7b1bf?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-8d54-26f140a7b1bf/repicaTaskSessions" /> </Links> </Ref> <Ref Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b729-65c9e1f807ee" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d-954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/980ccecc-e336-457c-b729-65c9e1f807ee?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-b729-65c9e1f807ee/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
154 | 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-8d54-26f140a7b1bf" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d-954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSession" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d54-26f140a7b1bf?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-8d54-26f140a7b1bf/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-8d54-26f140a7b1bf?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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d-954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d54-26f140a7b1bf" Name="SQL Replication@2013-08-09 12:20:16" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d54-26f140a7b1bf/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>
155 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the replication job session resource, for example: 88b395e2-81ff-439c-558c-188d97274c15. True True
Name String Name of the replication job session resource, for example: exch@2013-08-26 22:28:51. True True
JobType String Type of the replication job session. Possible values: Replica. True True
JobUid URN
ID of the replication job parent to the replication job session resource, for example: urn:veeam:Job:dce85686-59c8-42c4-8766-f1c00a5b8067.
True True
JobName String
Name of the replication job parent to the replication job session resource, for example: SQL Replica.
True True
156 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Creation
Time Date Time
Date and time when the replication job session was started. The parameter accepts only UTC-formatted DateTime values.
True True
EndType Date Time
Date and time when the replication job session was ended. The parameter accepts only UTC-formatted DateTime values
True True
State String
State of the replication job session. Possible values: • Starting • Stopping • Working • Pausing • Resuming • Stopped
True True
Result String
Result of the replication job session. Possible values: • Success • Warning • Failed
True True
IsRetry Boolean
Defines whether the replication job session has been retried or not. Possible values: • True • False
True True
Backup
ServerUid URN
ID of the Veeam backup server parent to the replication job session resource. True True
BackupSer
verName String
Name of the Veeam backup server parent to the replication session resource. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /replicaSessions/{ID} resource.
157 | 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-9875-16fec36eaa1e?format=Entity Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-8d54-26f140a7b1bf?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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="JobReference" Href="http://localhost:9399/api/jobs/598cc57b-9f44-473b-800d-954fbc528043" Name="SQL Replication" /> <Link Rel="Alternate" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d54-26f140a7b1bf" Name="SQL Replication@2013-08-09 12:20:16" /> <Link Rel="Down" Type="ReplicaTaskSessionReferenceList" Href="http://localhost:9399/api/replicaSessions/d6c25519-059d-4962-8d54-26f140a7b1bf/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>
/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
158 | 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-a2d1-0342977fb65e" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/3f81da3b-d3ea-4c15-a2d1-0342977fb65e?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-a43a-10b54a07c1de" Name="FLR_[VM02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)]@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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/828fd4bf-0793-4336-a43a-10b54a07c1de?format=Entity" Name="FLR_[VM02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)]@2013-08-07 11:38:15" /> </Links> </Ref> <Ref Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/036cb885-a877-4ce4-b4cb-11fad0b3fd88" 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-8bd4-d686f99b0540" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/036cb885-a877-4ce4-b4cb-11fad0b3fd88?format=Entity" Name="sql02-srv@2013-08-09 12:34:50" /> </Links> </Ref> ... </EntityReferences>
159 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /restoreSessions/{ID} resource.
160 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-a2d1-0342977fb65e" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/3f81da3b-d3ea-4c15-a2d1-0342977fb65e?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-a43a-10b54a07c1de" Name="FLR_[VM02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)]@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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/828fd4bf-0793-4336-a43a-10b54a07c1de?format=Entity" Name="FLR_[VM02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)]@2013-08-07 11:38:15" /> </Links> </Ref> <Ref Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/036cb885-a877-4ce4-b4cb-11fad0b3fd88" 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-8bd4-d686f99b0540" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/036cb885-a877-4ce4-b4cb-11fad0b3fd88?format=Entity" Name="sql02-srv@2013-08-09 12:34:50" /> </Links> </Ref> ... </EntityReferences>
161 | 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-a1a5-67a93fa3e8f8" 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-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/3f1a1e60-0a44-45c2-a1a5-67a93fa3e8f8?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-a1a5-67a93fa3e8f8?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-96e9-5f80e4725a15" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/3f1a1e60-0a44-45c2-a1a5-
162 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the restore session resource, for example: 18b395e2-81ff-439c-ae8c-188d97274c15. True True
Name String Name of the restore session resource, for example: sql02@2013-08-26 11:28:33. True True
JobType String Type of the restore session. Possible values: • FileLevelRestore • RestoreVm
True True
Creation
Time Date Time
Date and time when the restore session was started. The parameter accepts only UTC-formatted DateTime values.
True True
EndType Date Time
Date and time when the restore session was ended. The parameter accepts only UTC-formatted DateTime values
True True
State String State of the restore session. Possible values: • Starting True True
163 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
• Stopping • Working • Stopped
Result String
Result of the restore session. Possible values: • Success • Warning • Failed
True True
Backup
ServerUid URN
ID of the Veeam backup server parent to the restore session resource. True True
Backup
ServerName String
Name of the Veeam backup server parent to the restore session resource. True True
VmDisplay
Name String
Name of the VM for which the restore session has been started. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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-ae8c-188d97274c15 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success
164 | 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-ae8c-188d97274c15?format=Entity" Name="Explorer_FLR_[exch01]@2013-08-06 11:16:07" UID="urn:veeam:RestoreSession:18b395e2-81ff-439c-ae8c-188d97274c15" VmDisplayName="exch01"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/18b395e2-81ff-439c-ae8c-188d97274c15" 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-4933-a49e-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-
165 | 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-8a74-f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933-a49e-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-4456-8ee0-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/3270ccd0-41df-48a4-9046-6e60f1359dd6" Name="Sharepoint Backup, Aug 6 2013 9:00PM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/6cc39799-1ae2-4456-8ee0-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-420f-8b6d-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/e24277b7-03d1-4409-8f26-c7dbd2b96411" Name="Webservices Backup, Aug 3 2013 7:17PM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/b5dd6e1e-0901-420f-8b6d-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
166 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request Headers The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-4933-a49e-00e42bc7d477" Name="exch01@2013-08-08 06:01:23" UID="urn:veeam:BackupTaskSession:0953f21b-2060-4933-a49e-00e42bc7d477"> <Links>
167 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/adeb728b-59b6-4581-8a74-f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933-a49e-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-4456-8ee0-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/3270ccd0-41df-48a4-9046-6e60f1359dd6" Name="Sharepoint Backup, Aug 6 2013 9:00PM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/6cc39799-1ae2-4456-8ee0-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-420f-8b6d-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/e24277b7-03d1-4409-8f26-c7dbd2b96411" Name="Webservices Backup, Aug 3 2013 7:17PM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/b5dd6e1e-0901-420f-8b6d-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}
168 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
The URL of the entity resource representation:
http://<Enterprise-Manager>: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-4933-a49e-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-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/adeb728b-59b6-4581-8a74-f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933-a49e-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-4933-a49e-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/adeb728b-59b6-4581-8a74-f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSessionReference" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933-a49e-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>
169 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries:
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
UID URN ID of the backup task session. True True
Name String Name of the backup task session, for example: dc-hv@2013-08-25 05:01:09. True True
Creation
Time Date Time
Date and time when the backup task session was launched. The parameter accepts only UTC-formatted DateTime values.
True True
EndTime Date Time
Date and time when the backup task session was completed. The parameter accepts only UTC-formatted DateTime values.
True True
Reason String Reason for which the backup task session has been completed with the Warning or Error status. True True
State String
State of the backup task session. Possible values: • InProgress • Pending • Completed
TotalSize Int64 Size of all restore points produced by the corresponding backup job. True True
170 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
JobUid URN ID of the backup job parent to the backup task session resource. True True
JobName String Name of the backup job parent to the backup task session resource. True True
Backup
ServerUid URN ID of the backup server on which the corresponding backup job is created. True True
Backup
ServerName String Name of the backup server on which the corresponding backup job is created. True True
VmDisplayNa
me String Name of the VM that is processed in the backup task session. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /backupTaskSessions/{ID} resource.
Example
The example request below returns a resource representation of a task having ID 0953f21b-2060-4933-a49e-00e42bc7d477.
Request: GET http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933-a49e-00e42bc7d477 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="BackupTaskSessionReference"
171 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933-a49e-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-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupJobSessionReference" Href="http://localhost:9399/api/backupSessions/adeb728b-59b6-4581-8a74-f10a84124c95" Name="Exchange Backup, Aug 8 2013 6:00AM" /> <Link Rel="Alternate" Type="BackupTaskSession" Href="http://localhost:9399/api/backupTaskSessions/0953f21b-2060-4933-a49e-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-420d-b1d0-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7-349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420d-
172 | 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-4641-b20a-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/991a8df7-87e2-41f3-b310-aed8cb0f2cb6" Name="Fileserver Replicas, Aug 5 2013 8:48AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/0c952802-d6c4-4641-b20a-078c384d2b6f?format=Entity" Name="fileserver01@2013-08-05 08:52:36" /> </Links> </Ref> <Ref Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/5c43f020-5554-4a54-bdf2-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/99daed28-4b23-4364-9528-e2903ccd8bf4" Name="Netware Replication, Aug 6 2013 5:00PM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/5c43f020-5554-4a54-bdf2-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
173 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-420d-b1d0-04dbf9f6c622" Name="netware_vm@2013-08-05 11:15:25" UID="urn:veeam:ReplicaTaskSession:4a212394-ea3b-420d-b1d0-04dbf9f6c622">
174 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7-349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420d-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-4641-b20a-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/991a8df7-87e2-41f3-b310-aed8cb0f2cb6" Name="Fileserver Replicas, Aug 5 2013 8:48AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/0c952802-d6c4-4641-b20a-078c384d2b6f?format=Entity" Name="fileserver01@2013-08-05 08:52:36" /> </Links> </Ref> <Ref Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/5c43f020-5554-4a54-bdf2-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/99daed28-4b23-4364-9528-e2903ccd8bf4" Name="Netware Replication, Aug 6 2013 5:00PM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/5c43f020-5554-4a54-bdf2-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}
175 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
The URL of the entity resource representation:
http://<Enterprise-Manager>: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-420d-b1d0-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7-349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420d-b1d0-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-420d-b1d0-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-a8a6-3f5b89978193" Name="win-tw5" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7-349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSessionReference" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420d-b1d0-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>
176 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries:
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
UID URN ID of the replica task session. True True
Name String Name of the replica task session, for example: dc-hv@2013-08-25 05:01:09. True True
Creation
Time Date Time
Date and time when the replica task session was launched. The parameter accepts only UTC-formatted DateTime values.
True True
EndTime Date Time
Date and time when the replica task session was completed. The parameter accepts only UTC-formatted DateTime values.
True True
Reason String Reason for which the replica task session has been completed with the Warning or Error status. True True
State String
State of the replica task session. Possible values: • InProgress • Pending • Completed
True True
TotalSize Int64 Size of all restore points produced by the corresponding replication job. True True
177 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
JobUid URN ID of the replication job parent to the replica task session resource. True True
JobName String Name of the replication job parent to the replica task session resource. True True
Backup
ServerUid URN ID of the backup server on which the corresponding replication job is created. True True
Backup
ServerName String Name of the backup server on which the corresponding replication job is created. True True
VmDisplay
Name String Name of the VM that is processed in the replica task session. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /replicaTaskSessions/{ID} resource.
Example
The example request below returns a resource representation of a task having ID 4a212394-ea3b-420d-b1d0-04dbf9f6c622:
Request: GET http://localhost:9399/api/replicaTaskSessions/4a212394-ea3b-420d-b1d0-04dbf9f6c622 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EntityRef xmlns="http://www.veeam.com/ent/v1.0" Type="ReplicaTaskSessionReference"
178 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420d-b1d0-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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaJobSessionReference" Href="http://localhost:9399/api/replicaSessions/2e215cc4-886e-49fd-8af7-349c8c070301" Name="Netware Replication, Aug 5 2013 11:14AM" /> <Link Rel="Alternate" Type="ReplicaTaskSession" Href="http://localhost:9399/api/repicaTaskSessions/4a212394-ea3b-420d-b1d0-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-bd95-125ee77ba9dd" Name="vcprod" UID="urn:veeam:HierarchyRoot:a2b0c55d-829a-4efe-bd95-125ee77ba9dd"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/a2b0c55d-829a-4efe-bd95-125ee77ba9dd?format=Entity" Name="vcprod" /> </Links> </Ref> <Ref Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99cc-f888b969799b" Name="hv01" UID="urn:veeam:HierarchyRoot:70aa9075-ca31-43bd-99cc-f888b969799b"> <Links> <Link Rel="Up" Type="BackupServerReference"
179 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99cc-f888b969799b?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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries:
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
UID URN ID of the hierarchy root resource, for example: urn:veeam:HierarchyRoot:195c7259-8d89-4f6e-9098-25ee1f432669.
True True
Name String Name of the hierarchy root resource, for example: 172.16.12.21.
True True
Hierarchy
RootId String
ID of the hierarchy root, for example: 195c7259-8d89-4f6e-9098-25ee1f432669.
True True
Backup
ServerUid URN
ID of the Veeam backup server to which the hierarchy root, or host, is added.
True True
Backup
ServerName String
Name of the Veeam backup server to which the hierarchy root, or host, is added.
True True
180 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-bd95-125ee77ba9dd" Name="vcprod" UID="urn:veeam:HierarchyRoot:a2b0c55d-829a-4efe-bd95-125ee77ba9dd"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/a2b0c55d-829a-4efe-bd95-125ee77ba9dd?format=Entity" Name="vcprod" /> </Links> </Ref> <Ref Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99cc-f888b969799b" Name="hv01" UID="urn:veeam:HierarchyRoot:70aa9075-ca31-43bd-99cc-f888b969799b"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot"
181 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99cc-f888b969799b?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-99cc-f888b969799b" 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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRoot" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99cc-f888b969799b?format=Entity" Name="hv01" /> </Links> </EntityRef>
182 | 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-99cc-f888b969799b?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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99cc-f888b969799b" 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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.
183 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Header Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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-99cc-f888b969799b?format=Entity Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-99cc-f888b969799b?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-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Alternate" Type="HierarchyRootReference" Href="http://localhost:9399/api/hierarchyRoots/70aa9075-ca31-43bd-99cc-f888b969799b" Name="hv01" /> </Links> <HierarchyRootId>70aa9075-ca31-43bd-99cc-f888b969799b</HierarchyRootId> </HierarchyRoot>
/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}
184 | 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-9513-222d923a3766" Name="Exchange Backup HV" UID="urn:veeam:Backup:07d82d95-7539-450d-9513-222d923a3766"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513-222d923a3766?format=Entity" Name="Exchange Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513-222d923a3766/restorePoints" /> </Links> </Ref> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252-c3752f88bb70" Name="SQL Backup HV" UID="urn:veeam:Backup:c55a5225-b83c-4b0e-a252-c3752f88bb70"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252-c3752f88bb70?format=Entity" Name="SQL Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252-c3752f88bb70/restorePoints" /> </Links> </Ref> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5c-dae0d0eb79b2" Name="DC Backup" UID="urn:veeam:Backup:c4ab83e9-76b2-46cb-bb5c-dae0d0eb79b2"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5c-dae0d0eb79b2?format=Entity" Name="DC Backup" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5c-dae0d0eb79b2/restorePoints" />
185 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /backups resource collection.
186 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9513-222d923a3766" Name="Exchange Backup HV" UID="urn:veeam:Backup:07d82d95-7539-450d-9513-222d923a3766"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513-222d923a3766?format=Entity" Name="Exchange Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513-222d923a3766/restorePoints" /> </Links> </Ref> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252-c3752f88bb70" Name="SQL Backup HV" UID="urn:veeam:Backup:c55a5225-b83c-4b0e-a252-c3752f88bb70"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252-c3752f88bb70?format=Entity" Name="SQL Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/c55a5225-b83c-4b0e-a252-c3752f88bb70/restorePoints" /> </Links> </Ref> <Ref Type="BackupReference" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5c-dae0d0eb79b2" Name="DC Backup" UID="urn:veeam:Backup:c4ab83e9-76b2-46cb-bb5c-dae0d0eb79b2"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-
187 | 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-92b1-f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5c-dae0d0eb79b2?format=Entity" Name="DC Backup" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/c4ab83e9-76b2-46cb-bb5c-dae0d0eb79b2/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-8676-226656c35c05" Name="SQL Backup" UID="urn:veeam:Backup:58c917c7-7b7a-41ff-8676-226656c35c05"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="backupserver" />
188 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/b609c947-dd30-4295-8b57-cc880329dbd6" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676-226656c35c05?format=Entity" Name="SQL Backup" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676-226656c35c05/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-8676-226656c35c05?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-8b57-cc880329dbd6" Name="Default Backup Repository" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="backupserver" /> <Link Rel="Alternate" Type="BackupReference" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676-226656c35c05" Name="SQL Backup" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/58c917c7-7b7a-41ff-8676-226656c35c05/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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
189 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the backup resource, for example: urn:veeam:Backup:58c917c7-7b7a-41ff-8676-226656c35c05.
True True
Name String Name of the backup job parent to the backup, for example: SQL Backup. True True
JobUid URN ID of the backup job parent to the backup, for example:urn:veeam:Job:da736815-4fea-4c8e-b0e1-5ecdbca1c512.
True True
JobName String Name of the backup job parent to the backup, for example: DNS Backup.
True True
Repository
Uid URN
ID of the backup repository parent to the backup, for example: urn:veeam:Repository:b609c947-dd30-4295-8b57-cc880329dbd6.
True True
Repository
Name Name
Name of the backup repository parent to the backup, for example: Backup Vol 1. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /backups/{ID} resource.
Example The example below returns a resource representation of a backup having ID 07d82d95-7539-450d-9513-222d923a3766:
Request: GET http://localhost:9399/api/backups/07d82d95-7539-450d-9513- 222d923a3766 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response:
190 | 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-9513-222d923a3766" Name="Exchange Backup HV" UID="urn:veeam:Backup:07d82d95-7539-450d-9513-222d923a3766"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/f62624c1-8462-4747-8bd4-d686f99b0540" Name="localhost" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/33f2c2f6-4461-4ffc-92b1-f07af6cf2f51" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Backup" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513-222d923a3766?format=Entity" Name="Exchange Backup HV" /> <Link Rel="Down" Type="RestorePointReferenceList" Href="http://localhost:9399/api/backups/07d82d95-7539-450d-9513-222d923a3766/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-939d-5f9be88d2667" Name="Netware Replication" UID="urn:veeam:Replica:f5811b06-c082-4aec-939d-5f9be88d2667"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653-444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/6256e2d8-2440-4e53-9806-
191 | 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-939d-5f9be88d2667?format=Entity" Name="Netware Replication" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d-5f9be88d2667/vmReplicaPoints" /> </Links> </Ref> <Ref Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871" Name="Fileserver Replicas" UID="urn:veeam:Replica:5f8361d3-6521-4391-b78a-7ca47ca78871"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653-444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/f21760f3-09c7-4a72-8864-d1b4eed4b551" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871?format=Entity" Name="Fileserver Replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871/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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
192 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-939d-5f9be88d2667" Name="Netware Replication" UID="urn:veeam:Replica:f5811b06-c082-4aec-939d-5f9be88d2667"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653-444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/6256e2d8-2440-4e53-9806-079eb1b86ead" Name="Backups Vol1" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d-5f9be88d2667?format=Entity" Name="Netware Replication" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d-5f9be88d2667/vmReplicaPoints" /> </Links> </Ref> <Ref Type="ReplicaReference"
193 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871" Name="Fileserver Replicas" UID="urn:veeam:Replica:5f8361d3-6521-4391-b78a-7ca47ca78871"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653-444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/f21760f3-09c7-4a72-8864-d1b4eed4b551" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871?format=Entity" Name="Fileserver Replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871/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}
194 | 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-a9f9-48f45d871a62" Name="DC Replication" UID="urn:veeam:Replica:566466c1-532b-4ae2-a9f9-48f45d871a62"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="backupserver" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/b609c947-dd30-4295-8b57-cc880329dbd6" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f9-48f45d871a62?format=Entity" Name="DC Replication" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f9-48f45d871a62/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-a9f9-48f45d871a62?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-8b57-cc880329dbd6" Name="Default Backup Repository" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="backupserver" /> <Link Rel="Alternate" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f9-48f45d871a62" Name="DC Replication" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/566466c1-532b-4ae2-a9f9-48f45d871a62/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}
195 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the VM replica resource, for example: urn:veeam:Replica:58c917c7-7b7a-41ff-8676-226656c35c05.
True True
Name String Name of the replica resource, for example: DNS Replication. True True
JobUid URN ID of the replication job parent to the replica, for example:urn:veeam:Job:da736815-4fea-4c8e-b0e1-5ecdbca1c512.
True True
JobName String Name of the replication job parent to the replica, for example: DNS Replication. True True
Repository
Uid URN ID of the backup repository in which replica metadata is stored, for example: urn:veeam:Repository:b609c947-dd30-4295-8b57-cc880329dbd6.
True True
Repository
Name Name Name of the backup repository in which replica metadata is stored, for example: Backup Vol 1. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /replicas/{ID} resource.
196 | 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-b78a-7ca47ca78871 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-b78a-7ca47ca78871" Name="Fileserver Replicas" UID="urn:veeam:Replica:5f8361d3-6521-4391-b78a-7ca47ca78871"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/dd55247f-1919-4fa2-8653-444fb15ee221" Name="win-tw5" /> <Link Rel="Up" Type="RepositoryReference" Href="http://localhost:9399/api/repositories/f21760f3-09c7-4a72-8864-d1b4eed4b551" Name="Default Backup Repository" /> <Link Rel="Alternate" Type="Replica" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871?format=Entity" Name="Fileserver Replicas" /> <Link Rel="Down" Type="VmReplicaPointReferenceList" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871/vmReplicaPoints" /> </Links> </EntityRef>
/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
197 | 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-a25f-016a4fd8e428" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/afaf5dd8-0b13-48ac-8057-844ea08c2934" Name="vLab Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f-016a4fd8e428?format=Entity" Name="Jul 21 2013 8:00AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f-016a4fd8e428/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b" 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-a8a6-3f5b89978193" Name="backupserver" <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/22bc3753-625f-4681-9542-28e92caf270e" Name="Exchange Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b?format=Entity" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239-085dfd20091a" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/d086326c-5744-494d-8e6c-b570ee6a2f58" Name="Fileservers Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239-085dfd20091a?format=Entity" Name="Aug 5 2013 11:31AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239-085dfd20091a/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07-093da514ee88" Name="Aug 9 2013 8:00AM" UID="urn:veeam:RestorePoint:87518f1b-3e06-47c1-bb07-093da514ee88">
198 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/afaf5dd8-0b13-48ac-8057-844ea08c2934" Name="vLab Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07-093da514ee88?format=Entity" Name="Aug 9 2013 8:00AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07-093da514ee88/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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 200 Success.
199 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-a25f-016a4fd8e428" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/afaf5dd8-0b13-48ac-8057-844ea08c2934" Name="vLab Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f-016a4fd8e428?format=Entity" Name="Jul 21 2013 8:00AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/3a17f699-54b0-4ef2-a25f-016a4fd8e428/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b" 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-a8a6-3f5b89978193" Name="backupserver" <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/22bc3753-625f-4681-9542-28e92caf270e" Name="Exchange Backup" />
200 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b?format=Entity" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239-085dfd20091a" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/d086326c-5744-494d-8e6c-b570ee6a2f58" Name="Fileservers Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239-085dfd20091a?format=Entity" Name="Aug 5 2013 11:31AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/9796c487-5b9e-4599-a239-085dfd20091a/vmRestorePoints" /> </Links> </Ref> <Ref Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07-093da514ee88" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/afaf5dd8-0b13-48ac-8057-844ea08c2934" Name="vLab Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07-093da514ee88?format=Entity" Name="Aug 9 2013 8:00AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/87518f1b-3e06-47c1-bb07-093da514ee88/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}
201 | 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-9a7b-07fcfeff826b" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/22bc3753-625f-4681-9542-28e92caf270e" Name="Exchange Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b?format=Entity" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b/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-9a7b-07fcfeff826b?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-9542-28e92caf270e" Name="Exchange Backup" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Alternate" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-
202 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the restore point resource. True True
Name String Name of the restore point, for example: Aug 26 2013 7:57AM. True True
Creation
Time Date Time
Date and time when the restore point was created. The parameter accepts only UTC-formatted DateTime values.
True True
BackupUid URN ID of the VM backup parent to the restore point resource. True True
Backup
Name String
Name of the backup parent to the restore point resource. True True
Backup
ServerUid URN
ID of the Veeam backup server on which the restore point has been created. True True
Backup
ServerName String
Name of the Veeam backup server on which the restore point has been created. True True
203 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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-9a7b-07fcfeff826b Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9a7b-07fcfeff826b" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="BackupReference" Href="http://localhost:9399/api/backups/22bc3753-625f-4681-9542-28e92caf270e" Name="Exchange Backup" /> <Link Rel="Alternate" Type="RestorePoint" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b?format=Entity" Name="Jul 15 2013 10:49AM" /> <Link Rel="Down" Type="VmRestorePointReferenceList" Href="http://localhost:9399/api/restorePoints/69ff2edc-c9a5-4fce-9a7b-07fcfeff826b/vmRestorePoints" /> </Links> </EntityRef>
204 | 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-9467-03c7e21b32e1" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/52bea0a0-e76d-4d4e-b5ee-c9d1485523af" Name="Aug 8 2013 12:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1?format=Entity" Name="exch01@2013-08-08 12:03:09" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/cbeb8fa5-da2b-4d4f-b58a-06a4fdc0dc54" Name="sql01 (5bd562ee-4823-420c-a0a6-3c51f7d2ff9e)@2013-07-28 16:01:37" UID="urn:veeam:VmRestorePoint:cbeb8fa5-da2b-4d4f-b58a-06a4fdc0dc54"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/bd7543fc-0e5b-4e67-aad1-207d1239885b" Name="Jul 28 2013 4:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/cbeb8fa5-da2b-4d4f-b58a-06a4fdc0dc54?format=Entity" Name="sql01 (5bd562ee-4823-420c-a0a6-3c51f7d2ff9e)@2013-07-28 16:01:37" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/2da36881-dfcf-4d8d-8f28-07e596ca01a3" Name="sql02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)@2013-07-27 16:02:28" UID="urn:veeam:VmRestorePoint:2da36881-dfcf-4d8d-8f28-
205 | 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/af4e3a56-f37c-43e9-8ecd-312c44c5e6ba" Name="Jul 27 2013 4:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/2da36881-dfcf-4d8d-8f28-07e596ca01a3?format=Entity" Name="sql02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)@2013-07-27 16:02:28" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/499d17d4-78c0-40af-b4ba-07ff24774c8c" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/53db72de-17f8-4f0d-b6d9-78eab90b78ae" Name="Jul 19 2013 9:55AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/499d17d4-78c0-40af-b4ba-07ff24774c8c?format=Entity" Name="fileserver01@2013-07-19 09:59:07" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/77fbb7a2-e2ce-4bb5-80d8-092374ca1a3e" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/b3293726-99ea-4556-a675-ce4a6efffa82" Name="Aug 7 2013 3:00AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/77fbb7a2-e2ce-4bb5-80d8-092374ca1a3e?format=Entity" Name="sharepoint@2013-08-07 03:01:25" /> </Links> </Ref> ... </EntityReferences>
206 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmRestorePoints resource collection.
207 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9467-03c7e21b32e1" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/52bea0a0-e76d-4d4e-b5ee-c9d1485523af" Name="Aug 8 2013 12:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1?format=Entity" Name="exch01@2013-08-08 12:03:09" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/cbeb8fa5-da2b-4d4f-b58a-06a4fdc0dc54" Name="sql01 (5bd562ee-4823-420c-a0a6-3c51f7d2ff9e)@2013-07-28 16:01:37" UID="urn:veeam:VmRestorePoint:cbeb8fa5-da2b-4d4f-b58a-06a4fdc0dc54"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/bd7543fc-0e5b-4e67-aad1-207d1239885b" Name="Jul 28 2013 4:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/cbeb8fa5-da2b-4d4f-b58a-06a4fdc0dc54?format=Entity" Name="sql01 (5bd562ee-4823-420c-a0a6-3c51f7d2ff9e)@2013-07-28 16:01:37" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/2da36881-dfcf-4d8d-8f28-07e596ca01a3" Name="sql02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)@2013-07-27 16:02:28" UID="urn:veeam:VmRestorePoint:2da36881-dfcf-4d8d-8f28-07e596ca01a3"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/af4e3a56-f37c-43e9-8ecd-312c44c5e6ba" Name="Jul 27 2013 4:01PM" />
208 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/2da36881-dfcf-4d8d-8f28-07e596ca01a3?format=Entity" Name="sql02 (b1d5929b-91b5-4ae8-aea7-8297f3fc2c6b)@2013-07-27 16:02:28" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/499d17d4-78c0-40af-b4ba-07ff24774c8c" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/53db72de-17f8-4f0d-b6d9-78eab90b78ae" Name="Jul 19 2013 9:55AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/499d17d4-78c0-40af-b4ba-07ff24774c8c?format=Entity" Name="fileserver01@2013-07-19 09:59:07" /> </Links> </Ref> <Ref Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/77fbb7a2-e2ce-4bb5-80d8-092374ca1a3e" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/b3293726-99ea-4556-a675-ce4a6efffa82" Name="Aug 7 2013 3:00AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/77fbb7a2-e2ce-4bb5-80d8-092374ca1a3e?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
209 | 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-b669-0da996b09b97" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/40d5ffa2-e043-4f5c-8638-36a7b2383754" Name="Aug 8 2013 6:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b669-0da996b09b97?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-b669-0da996b09b97?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-b669-0da996b09b97?action=restore" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/40d5ffa2-e043-4f5c-8638-36a7b2383754" Name="Aug 8 2013 6:01PM" /> <Link Rel="Alternate" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b669-0da996b09b97" Name="exch01@2013-08-08 18:03:14" /> <Link Rel="Down" Type="VmRestorePointMountList" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b669-0da996b09b97/mounts" /> <Link Rel="Create" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b669-
210 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the VM backup point resource. True True
Name String Name of the VM backup restore point, for example: sql01-hv@2013-08-24 05:03:25. True True
Creation
Time Date Time
Date and time when the restore point was created. The parameter accepts only UTC-formatted DateTime values.
True True
Type String
Type of the VM backup restore point. Possible values: • Full • Increment • ReverseIncrement
True True
Algorithm String
Replication method used to create the restore point. Possible values: • Full • ReversedIncremental • Incremental
True True
211 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
• SyntheticFull
Restore
PointUid URN ID of the restore point. True True
Restore
PointName String Name of the restore point. True True
VmDisplay
Name String Name of the VM for which the restore point has been created. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmRestorePoints/{ID} resource.
Example
The example below returns a restore point having ID 710c0a5f-2783-4222-b669-0da 996b09b97 for the exch01 VM:
Request: GET http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b669-0da996b09b97 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-b669-0da996b09b97" Name="exch01@2013-08-08 18:03:14" UID="urn:veeam:VmRestorePoint:710c0a5f-2783-4222-b669-0da996b09b97">
212 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/40d5ffa2-e043-4f5c-8638-36a7b2383754" Name="Aug 8 2013 6:01PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b669-0da996b09b97?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://<Enterprise-Manager>:9399/api/vmrestorepoints/{ID}?action=restore
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
213 | 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 Type Description Modifiable Min/Max Occurrence
PowerOn
AfterRestore Boolean Specifies if the VM should be powered on after the restore process is complete.
Yes 1/1
For the vCloud Director platform, the request body must contain the following elements:
Element Type Description Modifiable Min/Max
Occurrence
PowerOn
AfterRestore Boolean
Specifies if the VM should be powered on after the restore process is complete.
Yes 1/1
HierarchyRoot
Uid UID
ID of the host on which the VM should be restored, for example: urn:veeam:HierarchyRoot:fa099d3b-7376-49b1-884c-bb6fa47c7b1e.
Yes 1/1
OrgVdcRef Hierarchy ObjRef
Reference to the OrgVdc to which the VM should be restored. The reference can be constructed manually or obtained with the lookup service.
Yes 1/1
vAppNewName String
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.
Yes 0/1
VmsRestore
Parameters
vCloudVm Restore ParametersInfo
Defines VM-specific parameters. No —
214 | 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-8a98-d3fde641086e</VmRestorePointUid> <VmNewName>vmTestSize</VmNewName> <DatastoreRef>urn:vCloud:Datastore:fa099d3b-7376-49b1-884c-bb6fa47c7b1e.urn:vcloud:datastore:68d9f62d-f3c1-4842-8ad6-9b7faca3c92a</DatastoreRef> <OrgVdcStorageProfileRef>urn:vCloud:OrgVdcStorageProfile:fa099d3b-7376-49b1-884c-bb6fa47c7b1e.urn:vcloud:vdcstorageprofile:1afeb3cc-bc4f-4e0f-b092-a3f8bbe70adc</OrgVdcStorageProfileRef> <LinkedCloneVmTemplateRef/> </Vm> </VmsRestoreParameters>
You can define the following restore parameters for VMs:
Element Type Description Modifiable Min/Max
Occurrence
VmRestore
PointUid UID
ID of the restore point from which the VM should be restored, for example: urn:veeam:VmRestorePoint:48c8cd65-d5fa-4ca6-8a98-d3fde641086e.
Yes 1/1
VmNew
Name String
Name of the restored VM. If this parameter is not specified, the VM is restored with its initial name.
Yes 0/1
Datastore
Ref HierarchyObjRef
Reference to the datastore on which VM files should be placed. The reference can be constructed manually or obtained with the lookup service.
Yes 0/1
OrgVdc
Storage
ProfileRef
HierarchyObjRef
Reference to the OrgVdc profile to be used for the restored VM. The reference can be constructed manually or obtained with the lookup service.
Yes 0/1
Linked
CloneVm
Template
Ref
HierarchyObjRef
(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.
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-884c-bb6fa47c7b1e</HierarchyRootUid> <OrgVdcRef>urn:vCloud:OrgVdc:fa099d3b-7376-49b1-884c-bb6fa47c7b1e.urn:vcloud:vdc:1d0bf8ae-8eac-4772-b675-5a4cf06fcbc1</OrgVdcRef> <vAppNewName>vApp2</vAppNewName> <VmsRestoreParameters> <Vm> <VmRestorePointUid>urn:veeam:VmRestorePoint:48c8cd65-d5fa-4ca6-8a98-d3fde641086e</VmRestorePointUid>
215 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<VmNewName>VM-restored</VmNewName> <DatastoreRef>urn:vCloud:Datastore:fa099d3b-7376-49b1-884c-bb6fa47c7b1e.urn:vcloud:datastore:68d9f62d-f3c1-4842-8ad6-9b7faca3c92a</DatastoreRef> <OrgVdcStorageProfileRef>urn:vCloud:OrgVdcStorageProfile:fa099d3b-7376-49b1-884c-bb6fa47c7b1e.urn:vcloud:vdcstorageprofile:1afeb3cc-bc4f-4e0f-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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
Example
The example below restores a VM from the restore point having ID b32c22c4-79af-4486-b2e2-1a3897db5c61:
Request: POST http://localhost:9399/api/vmRestorePoints/b32c22c4-79af-4486-b2e2-1a3897db5c61?action=restore Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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">
216 | 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 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" /> <Link Rel="Related" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/d67d532a-9ce2-43b8-88c6-90354f2f8727?format=Entity" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>StartVMRestore</Operation> <Result Success="true"> <Message>Ok</Message> </Result> </Task>
(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.
217 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 202 Accepted.
Response Headers
The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
Example The example below restores VM guest OS files from the restore point having ID 710c0a5f-2783-4222-b669-0da996b09b97 for the exch01 VM:
Request: POST http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b669-0da996b09b97/mounts Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj
218 | 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 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" /> <Link Rel="Related" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/710c0a5f-2783-4222-b669-0da996b09b97/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>
219 | 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-9467-03c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/F:"> <Path>F:</Path> <Name>F:</Name> </DirectoryEntry>
220 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmRestorePoints/{ID}/mounts resource.
221 | 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-4831-9467-03c7e21b32e1:
Request: GET http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9467-03c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/F:"> <Path>F:</Path> <Name>F:</Name> </DirectoryEntry> </FSRoots> </VmRestorePointMount> </VmRestorePointMounts>
222 | 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-9467-03c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/F:"> <Path>F:</Path>
223 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
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.
224 | 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-9467-03c7e21b32e1/mounts/1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9467-03c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/F:"> <Path>F:</Path> <Name>F:</Name> </DirectoryEntry> </FSRoots> </VmRestorePointMount> </VmRestorePointMounts>
(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.
225 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
HTTP Request
DELETE http://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
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 5253146b-a313-4831-9467-03c7e21b32e1:
Request: DELETE http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj
226 | 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://<Enterprise-Manager>: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-9467-03c7e21b32e1/mounts/1/C:?action=listAll"> <Links> <Link Rel="Up" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:" /> </Links> <Files> <FileEntry Type="FileEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/pagefile.sys"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/pagefile.sys?action=restore" />
227 | 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-9467-03c7e21b32e1/mounts/1/C:/$Recycle.Bin"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/$Recycle.Bin?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/$Recycle.Bin?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/$Recycle.Bin?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/Documents%20and%20Settings"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Documents%20and%20Settings?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Documents%20and%20Settings?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Documents%20and%20Settings?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/ExchangeSetupLogs"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/ExchangeSetupLogs?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/ExchangeSetupLogs?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/ExchangeSetupLogs?action=listFiles&pageSize=10&p
228 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
age=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/inetpub"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/inetpub?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/inetpub?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/inetpub?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/PerfLogs"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/PerfLogs?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/PerfLogs?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/PerfLogs?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/Program%20Files"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files?action=restore" />
229 | 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-9467-03c7e21b32e1/mounts/1/C:/Program%20Files%20(x86)"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files%20(x86)?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/Program%20Files%20(x86)?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/ProgramData"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/ProgramData?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/ProgramData?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/ProgramData?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/Recovery"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Recovery?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Recovery?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Recovery?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Recovery?action=restore" /> </Links> <Path>C:/Recovery</Path>
230 | 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-9467-03c7e21b32e1/mounts/1/C:/Remote%20Debugger"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Remote%20Debugger?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Remote%20Debugger?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Remote%20Debugger?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/System%20Volume%20Information"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/System%20Volume%20Information?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/System%20Volume%20Information?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/System%20Volume%20Information?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:/Users"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Users?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Users?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Users?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Users?action=restore" /> </Links> <Path>C:/Users</Path> <Name>Users</Name> </DirectoryEntry>
231 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Windows"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Windows?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Windows?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Windows?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}/{filepath}
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 200 Success.
Response Headers
232 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
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-9467-03c7e21b32e1/mounts/1/C:/Program%20Files 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/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Program%20Files?action=restore" /> </Links> <Path>C:/Program Files</Path> <Name>Program Files</Name> </DirectoryEntry> </FileSystemEntry>
233 | 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://<Enterprise-Manager>:9399/api/vmRestorePoints/{ID}/mounts/{ID}/{filepath}?action=restore
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
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 Type Description Modifiable Min/Max Occurrence
ToOriginalLocation — Use this element if you want to restore the file to the original location. No —
ForDirectDownload — Use this element if you want to download the restored file. No —
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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
234 | 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-9467-03c7e21b32e1/mounts/1/C:/Documents%20and%20Settings Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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>
To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:
Request: GET http://localhost:9399/api/tasks/task-1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response:
235 | 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-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/desktop.ini?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER.DAT?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser.dat.LOG1?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser.dat.LOG2?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER.DAT%7B016888bd-6c6f-11de-8d1d-001e0bcde3ec%7D.TMContainer00000000000000000001.regtrans-ms?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER.DAT%7B016888bd-6c6f-11de-8d1d-001e0bcde3ec%7D.TMContainer00000000000000000002.regtrans-ms?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser.ini?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator.HVCDEV01/NTUSER.DAT?action=download" /> ... </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>FileRestoreFromMountPoint</Operation> </Task>
236 | 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://<Enterprise-Manager>: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-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/Invoice.docx Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: None
/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-9fc6-1ad2c58902bc" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-
237 | 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-8f26-376549b9f45d" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d-5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/614a268e-897f-45f0-8f26-376549b9f45d?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-a821-402020fc824d" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d-5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/469b5b30-aca3-400d-a821-402020fc824d?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-a56b-40cfbbc90448" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d-5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/368e73fa-c2b6-417e-a56b-40cfbbc90448?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.
238 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success
239 | 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-9fc6-1ad2c58902bc" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-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-8f26-376549b9f45d" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d-5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/614a268e-897f-45f0-8f26-376549b9f45d?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-a821-402020fc824d" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d-5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/469b5b30-aca3-400d-a821-402020fc824d?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-a56b-40cfbbc90448" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/f5811b06-c082-4aec-939d-5f9be88d2667" Name="Netware Replication" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/368e73fa-c2b6-417e-a56b-40cfbbc90448?format=Entity" Name="netware_vm@2013-08-07 01:09:16" /> </Links>
240 | 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
241 | 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-9fc6-1ad2c58902bc" 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-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPoint" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc?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-9fc6-1ad2c58902bc?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-9fc6-1ad2c58902bc?action=failover" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="backupserver" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc" Name="fileserver01@2013-08-05 17:16:12" /> <Link Rel="Down" Type="VmReplicaPointMountList" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc/mounts" /> <Link Rel="Create" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc/mounts" /> </Links> <CreationTimeUTC>2013-08-05T17:16:12Z</CreationTimeUTC> <Algorithm>Full</Algorithm> <PointType>Snapshot</PointType> </VmReplicaPoint>
242 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
Uid URN ID of the VM replica point resource. True True
Name String Name of the VM replica point, for example: dc-hv@2013-08-21 11:03:38. True True
Creation
Time Date Time
Date and time when the restore point was created. The parameter accepts only UTC-formatted DateTime values.
True True
Type String Type of the VM replica point. Possible values: • VMware VMs: Snapshot, Increment • Hyper-V VMs: Full, ReverseIncrement
True True
Algorithm String
Replication method used to create the restore point. Possible values: • VMware VMs: Full • Hyper-V VMs: ReversedIncremental
True True
ReplicaUid URN ID of the VM replica parent to the VM replica point resource. True True
Replica
Name String
Name of the VM replica parent to the VM replica point resource. True True
VmDisplay
Name String
Name of the VM for which the restore point has been created. True True
243 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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-9fc6-1ad2c58902bc?Format=Entity Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9fc6-1ad2c58902bc?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-9fc6-1ad2c58902bc?action=failover" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/14623907-ed70-48b0-a8a6-3f5b89978193" Name="win-tw5" /> <Link Rel="Up" Type="ReplicaReference" Href="http://localhost:9399/api/replicas/5f8361d3-6521-4391-b78a-7ca47ca78871" Name="Fileserver Replicas" /> <Link Rel="Alternate" Type="VmReplicaPointReference" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc" Name="fileserver01@2013-08-05 17:16:12" /> <Link Rel="Down" Type="VmReplicaPointMountList" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc/mounts" />
244 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Create" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc/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://<Enterprise-Manager>:9399/api/vmrestorepoints/{ID}?action=failover
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 202 Accepted.
Response Headers
The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
245 | 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-aca3-400d-a821-402020fc824d:
Request: POST http://localhost:9399/api/vmReplicaPoints/469b5b30-aca3-400d-a821-402020fc824d?action=failover Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Accepted Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>StartReplicaFailover</Operation> </Task>
To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:
Request: GET http://localhost:9399/api/tasks/task-1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Related" Type="RestoreSession" Href="http://localhost:9399/api/restoreSessions/40078d3c-96a1-46cd-a081-5fa09b5944c5?format=Entity" /> </Links> <TaskId>task-1</TaskId>
246 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 202 Accepted.
Response Headers
The response to this request contains the following headers. The response may also include additional standard HTTP headers.
Header Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
247 | 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-4e73-429a-9fc6-1ad2c58902bc:
Request: POST http://localhost:9399/api/vmReplicaPoints/710c0a5f-2783-4222-b669-0da996b09b97/mounts Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Accepted Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>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 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" /> <Link Rel="Related" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc/mounts/2" Name="7b8f9c7d-4e73-429a-9fc6-1ad2c58902bc@2" /> </Links>
248 | 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-9fc6-1ad2c58902bb/mounts/1"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bb/mounts/1" /> </Links> <FSRoots /> </VmReplicaPointMount> <VmReplicaPointMount Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bb/mounts/2"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-
249 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /vmReplicaPoints/{ID}/mounts resource.
250 | 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 7b8f9c7d-4e73-429a-9fc6-1ad2c58902bb:
Request: GET http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bb/mounts Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9fc6-1ad2c58902bb/mounts/1"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bb/mounts/1" /> </Links> <FSRoots /> </VmReplicaPointMount> <VmReplicaPointMount Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bb/mounts/2"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/7b8f9c7d-4e73-429a-9fc6-1ad2c58902bb/mounts/2" /> </Links> <FSRoots /> </VmReplicaPointMount> </VmReplicaPointMounts>
/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}
251 | 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-9467-03c7e21b32e1/mounts/1"> <Links> <Link Rel="Delete" Type="VmReplicaPointMount" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/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}
252 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
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-9467-03c7e21b32ee/mounts/1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-9467-
253 | 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-9467-03c7e21b32ee/mounts/1" /> </Links> <FSRoots> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:"> <Path>C:</Path> <Name>C:</Name> </DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32ee/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://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
254 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
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-9467- 03c7e21b32ee/mounts/1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 204 No Content Response Body: None
/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.
255 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Resource URL
http://<Enterprise-Manager>: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-9467-03c7e21b32ee/mounts/1/C:?action=listAll"> <Links> <Link Rel="Up" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:" /> </Links> <Files> <FileEntry Type="FileEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/pagefile.sys"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/$Recycle.Bin"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/$Recycle.Bin?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/$Recycle.Bin?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/$Recycle.Bin?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore"
256 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/Documents%20and%20Settings"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Documents%20and%20Settings?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Documents%20and%20Settings?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Documents%20and%20Settings?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/ExchangeSetupLogs"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/ExchangeSetupLogs?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/ExchangeSetupLogs?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/ExchangeSetupLogs?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/inetpub"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/inetpub?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/inetpub?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/inetpub?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/inetpub?action=restore" />
257 | 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-9467-03c7e21b32ee/mounts/1/C:/PerfLogs"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/PerfLogs?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/PerfLogs?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/PerfLogs?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/Program%20Files"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/Program%20Files%20(x86)"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files%20(x86)?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/Program%20Files%20(x86)?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files%20(x86)?action=restore" /> </Links> <Path>C:/Program Files (x86)</Path>
258 | 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-9467-03c7e21b32ee/mounts/1/C:/ProgramData"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/ProgramData?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/ProgramData?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/ProgramData?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/Recovery"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Recovery?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Recovery?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Recovery?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/Remote%20Debugger"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Remote%20Debugger?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Remote%20Debugger?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Remote%20Debugger?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Remote%20Debugger?action=restore" /> </Links> <Path>C:/Remote Debugger</Path> <Name>Remote Debugger</Name> </DirectoryEntry>
259 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/System%20Volume%20Information"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/System%20Volume%20Information?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/System%20Volume%20Information?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/System%20Volume%20Information?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/Users"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Users?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Users?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Users?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/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-9467-03c7e21b32ee/mounts/1/C:/Windows"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Windows?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Windows?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Windows?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Windows?action=restore" /> </Links> <Path>C:/Windows</Path> <Name>Windows</Name> </DirectoryEntry> </Directories> </FileSystemEntries>
260 | 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://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}/{filepath}
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
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:
261 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request: GET http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files 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/vmRestorePoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files"> <Links> <Link Rel="Down" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files?action=listAll" /> <Link Rel="Down" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files?action=listDirs&pageSize=10&page=1" /> <Link Rel="Down" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files?action=listFiles&pageSize=10&page=1" /> <Link Rel="Restore" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32ee/mounts/1/C:/Program%20Files?action=restore" /> </Links> <Path>C:/Program Files</Path> <Name>Program Files</Name> </DirectoryEntry> </FileSystemEntry>
(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://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}/{filepath}?action=restore
262 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
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 Type Description Modifiable Min/Max
Occurrence
ToOriginalLocation — Use this element if you want to restore the file to the original location. No —
ForDirectDownload — Use this element if you want to download the restored file. No —
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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
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:
263 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request: POST http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/C:/Documents%20and%20Settings Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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>
To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:
Request: GET http://localhost:9399/api/tasks/task-1 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/desktop.ini?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER.DAT?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-
264 | 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-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser.dat.LOG2?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/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-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER.DAT%7B016888bd-6c6f-11de-8d1d-001e0bcde3ec%7D.TMContainer00000000000000000001.regtrans-ms?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/NTUSER.DAT%7B016888bd-6c6f-11de-8d1d-001e0bcde3ec%7D.TMContainer00000000000000000002.regtrans-ms?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/ntuser.ini?action=download" /> <Link Rel="Download" Href="http://localhost:9399/api/vmReplicaPoints/5253146b-a313-4831-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator.HVCDEV01/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://<Enterprise-Manager>:9399/api/vmReplicaPoints/{ID}/mounts/{ID}/{filepath}?a ction=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-9467-03c7e21b32e1/mounts/1/c:/documents%20and%20settings/Administrator/Invoice.docx Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: None
265 | 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>
266 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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.
267 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
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/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>
/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
268 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 200 Success.
269 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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>
/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}
270 | 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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a" Name="7/15/2013 10:52:00 AM" UID="urn:veeam:CatalogVmRestorePoint:1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a?format=Entity" /> </Links> </Ref> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/7ef345ee-2f73-4624-bdd8-90f4b5130584" Name="7/18/2013 1:47:00 PM" UID="urn:veeam:CatalogVmRestorePoint:7ef345ee-2f73-4624-bdd8-90f4b5130584"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/7ef345ee-2f73-4624-bdd8-90f4b5130584?format=Entity" /> </Links> </Ref> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/6b1f2c41-089a-4cee-849b-8142f8e02c6a" Name="7/19/2013 7:09:00 AM" UID="urn:veeam:CatalogVmRestorePoint:6b1f2c41-089a-4cee-849b-8142f8e02c6a"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/6b1f2c41-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.
271 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
HTTP Request
GET http://<Enterprise-Manager>:9399/api/catalog/vms/{vmname}/vmRestorePoints
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success
272 | 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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a" Name="7/15/2013 10:52:00 AM" UID="urn:veeam:CatalogVmRestorePoint:1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a?format=Entity" /> </Links> </Ref> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/7ef345ee-2f73-4624-bdd8-90f4b5130584" Name="7/18/2013 1:47:00 PM" UID="urn:veeam:CatalogVmRestorePoint:7ef345ee-2f73-4624-bdd8-90f4b5130584"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/7ef345ee-2f73-4624-bdd8-90f4b5130584?format=Entity" /> </Links> </Ref> <Ref Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/6b1f2c41-089a-4cee-849b-8142f8e02c6a" Name="7/19/2013 7:09:00 AM" UID="urn:veeam:CatalogVmRestorePoint:6b1f2c41-089a-4cee-849b-8142f8e02c6a"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/exch01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/6b1f2c41-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://<Enterprise-Manager>: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
273 | 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/39face38-b4ae-4995-bc3d-093d83b6e01e" Name="9/8/2013 5:03:00 AM" UID="urn:veeam:CatalogVmRestorePoint:39face38-b4ae-4995-bc3d-093d83b6e01e"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/dc" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/dc/vmRestorePoints/39face38-b4ae-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/39face38-b4ae-4995-bc3d-093d83b6e01e?format=Entity" Name="dc" UID="urn:veeam:CatalogVmRestorePoint:39face38-b4ae-4995-bc3d-093d83b6e01e"> <Links> <Link Rel="Alternate" Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/dc/vmRestorePoints/39face38-b4ae-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/39face38-b4ae-4995-bc3d-093d83b6e01e?action=browse" /> <Link Rel="Related" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/39face38-b4ae-4995-bc3d-093d83b6e01e?format=Entity" Name="dc" /> </Links> <BackupDateUTC>2013-09-08T05:03:00Z</BackupDateUTC> </CatalogVmRestorePoint>
274 | 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://<Enterprise-Manager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /catalog/vms/{vmname}/vmRestorePoints/{ID} resource.
275 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Example The example below returns a restore point having ID 1bd3ebf0-34fa-40f6-bc4c-c9ba cdba 8c0a for a VM having the exch01 name:
Request: GET http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a 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/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a?format=Entity" Name="exch01" UID="urn:veeam:CatalogVmRestorePoint:1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a"> <Links> <Link Rel="Alternate" Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a?action=browse" /> <Link Rel="Related" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/35e736fc-14c2-43f8-ac65-a90c505bd4ac?format=Entity" Name="exch01" /> <Link Rel="Related" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/28427880-6ad4-41f1-9619-cb9b1c5ecafe?format=Entity" Name="exch01" /> </Links> <BackupDateUTC>2013-07-15T10:52:00Z</BackupDateUTC> </CatalogVmRestorePoint>
(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.
276 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
HTTP Request
POST http://<Enterprise-Manager>:9399/catalog/vms/{vmname}/vmRestorePoints/{ID}?action=browse
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
The response body also contains a link to the VM file system that allows you to browse for VM guest OS files.
277 | 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-c9ba cdba8c0a:
Request: POST http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a?action=browse 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" /> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/" /> </Links> <TaskId>task-1</TaskId> <State>Finished</State> <Operation>BrowseVM</Operation> <Result Success="true" /> </Task>
/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://<Enterprise-Manager>: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/
278 | 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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/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://<Enterprise-Manager>:9399/api//catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
279 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/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/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/?action=listDirs&pageSize=10&page=1" /> </Links> </DirectoryEntry> </FileSystemEntry>
280 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath} 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://<Enterprise-Manager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath}
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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:" /> </Links> <Files /> <Directories> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RECYCLE.BIN"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RECYCLE.BIN?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RECYCLE.BIN?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RECYCLE.BIN?action=listDirs&pageSize=10&page=1" /> </Links> <Path>F:\$RECYCLE.BIN</Path> <Name>$RECYCLE.BIN</Name>
281 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
</DirectoryEntry> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RmMetadata"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RmMetadata?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/$RmMetadata?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchLogs"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchLogs?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchLogs?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/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/1bd3ebf0-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
282 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
f0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/System%20Volume%20Information?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/System%20Volume%20Information?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/System%20Volume%20Information?action=listDirs&pageSize=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://<Enterprise-Manager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath}
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 200 Success.
283 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/Mailbox%20Database 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/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187" /> </Links> <Directories> <DirectoryEntry Type="DirectoryEntry" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187/catalogdata-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e8-6cc9085c894e"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187/catalogdata-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e8-6cc9085c894e?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187/catalogdata-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e8-
284 | 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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187/catalogdata-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e8-6cc9085c894e?action=listDirs&pageSize=10&page=1" /> </Links> <Path>F:/ExchDB/Mailbox Database 0094410187/catalogdata-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-a0e8-6cc9085c894e</Path> <Name>catalogdata-383a5446-de16-4f2b-bbc2-cb1ce47ae608-6542140a-201e-4df8-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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187?action=listDirs&pageSize=10&page=1" /> <Link Rel="Last" Href="http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/F:/ExchDB/Mailbox%20Database%200094410187?action=listDirs&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=restore URL.
HTTP Request
POST http://<Enterprise-Manager>:9399/api/catalog/vms/{vmname}/vmRestorePoints/{ID}/guestfs/{filepath}?action=restore
Request Headers
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
285 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
Example
The example below lets the client restore the C:/Users folder from the VM guest OS:
Request: POST http://localhost:9399/api/catalog/vms/exch01/vmRestorePoints/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/C:/Users Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Accepted Response Body: <Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1"> <Links> <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" /> </Links> <TaskId>task-1</TaskId> <State>Running</State> <Operation>RestoreFile</Operation> </Task>
To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:
286 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
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>RestoreFile</Operation> <Result Success="true"> <Message>a3d17707-6f32-40db-8e6a-595ea1e81019</Message> </Result> </Task>
/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" />
287 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
288 | 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 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=rebuildScope" /> </Links> </EnterpriseSecuritySettings>
/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
289 | 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-94e6-001432483a4e" Name="Portal User" UID="urn:veeam:EnterpriseRole:d19a3d33-cb77-4ffe-94e6-001432483a4e"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6-001432483a4e?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/f84a8b62-49b8-4d0c-b25b-92321b52bab6" 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-b25b-92321b52bab6?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/5f37a46b-9ce2-40f4-8a62-b45b079257fc" 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-8a62-b45b079257fc?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/c11c0c38-ba8b-49c7-bf70-fc2058fff1e2" 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-bf70-fc2058fff1e2?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
290 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request Header
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-94e6-001432483a4e" Name="Portal User" UID="urn:veeam:EnterpriseRole:d19a3d33-cb77-4ffe-94e6-001432483a4e"> <Links>
291 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6-001432483a4e?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/f84a8b62-49b8-4d0c-b25b-92321b52bab6" 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-b25b-92321b52bab6?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/5f37a46b-9ce2-40f4-8a62-b45b079257fc" 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-8a62-b45b079257fc?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseRoleReference" Href="http://localhost:9399/api/security/roles/c11c0c38-ba8b-49c7-bf70-fc2058fff1e2" 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-bf70-fc2058fff1e2?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
292 | 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-94e6-001432483a4e" Name="Portal User" UID="urn:veeam:EnterpriseRole:d19a3d33-cb77-4ffe-94e6-001432483a4e"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6-001432483a4e?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-94e6-001432483a4e" Name="Portal User" UID="urn:veeam:EnterpriseRole:d19a3d33-cb77-4ffe-94e6-001432483a4e"> <Links> <Link Rel="Alternate" Type="EnterpriseRole" Href="http://localhost:9399/api/security/roles/d19a3d33-cb77-4ffe-94e6-001432483a4e?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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
293 | 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 Can Be
Used for Filtering
Can Be Used for Sorting
UID URN
ID of the security role used in Veeam Backup Enterprise Manager, for example:urn:veeam:EnterpriseRole:d19a3d33-cb77-4ffe-94e6-001432483a4e.
True True
Name String Name of the security role used in Veeam Backup Enterprise Manager ,for example: Portal User. 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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-94e6-001432483a4e Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-94e6-001432483a4e?format=Entity" Name="Portal User"
294 | 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-94e6-001432483a4e" /> </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-4065-9716-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-4065-9716-0909cc52aac2?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-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-4b2f-a068-d1d9a61905a3?format=Entity" /> </Links> </Ref> </EntityReferences>
295 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /security/accounts collection resource.
296 | 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 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/ae8d6950-bbca-4065-9716-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-4065-9716-0909cc52aac2?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-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-4b2f-a068-d1d9a61905a3?format=Entity" /> </Links> </Ref> </EntityReferences>
(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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
297 | 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 Modifiable Min/Max Occurrence
AccountType AccountType Enumeration
Type of account added to Veeam Backup Enterprise Manager. Possible values: • User • Group
No 1/1
AccountName String
Name of the account added to Veeam Backup Enterprise Manager, for example: VEEAM\Administrator.
Yes 1/1
Roles URN
ID of the role assigned to the added account. To get a list of IDs for available roles, send the GET HTTP request to the /security/roles resource.
No 1/1
AllowRestoreAll
Vms Boolean
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.
No 1/1
HierarchyScope
Objects HierarchyScopeCreateSpecType
Restore scope assigned to the added account. To learn more, see Hierarchy Scope Settings.
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-b25b-92321b52bab6</EnterpriseRoleUid> </EnterpriseRole> </Roles> <AllowRestoreAllVms>false</AllowRestoreAllVms> <HierarchyScopeObjects> <HierarchyScopeItem> <HieararchyObjRef/> <ObjectName/> </HierarchyScopeItem> </HierarchyScopeObjects> </EnterpriseAccountCreateSpec>
298 | 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-bd95-125ee77ba9dd.vm-7870</HieararchyObjRef> <ObjectName>VM01</ObjectName> </HierarchyScopeItem> </HierarchyScopeObjects>
You can define the following hierarchy scope settings for the added account:
Element Type Description Modifiable Min/Max
Occurrence
Hieararchy
ObjRef HierarchyObjRef Type
Reference to the object in the virtual infrastructure hierarchy. You can construct the reference manually or use the lookup service to retrieve the reference.
Yes 0/1
ObjectName String Name of the object in the virtual infrastructure hierarchy, for example: VM01.
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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
None.
299 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-b25b-92321b52bab6</EnterpriseRoleUid> </EnterpriseRole> </Roles> <AllowRestoreAllVms>true</AllowRestoreAllVms> <HierarchyScopeObjects> <HierarchyScopeItem> <HieararchyObjRef/> <ObjectName/> </HierarchyScopeItem> </HierarchyScopeObjects> </EnterpriseAccountCreateSpec> Response: 201 Created Response Body: None
(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.
300 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request HTTP Request
POST http://<Enterprise-Manager>:9399/api/security/accounts?action=rebuildScope
Request Header
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns an ID of the task that has been created to perform the requested action, and the task state. You can check the operation results by sending the GET HTTP request to the URL of the task resource.
Additionally, Veeam Backup Enterprise Manager returns a link to the task deletion operation. You can send the GET HTTP request to the URL in the link to stop the task execution.
301 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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>
/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
302 | 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-4684-b77a-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-4684-b77a-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-4684-b77a-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-4684-b77a-7735bdbe820d" /> <Link Rel="Down" Type="EnterpriseAccountInRoleList" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684-b77a-7735bdbe820d/roles" /> <Link Rel="Create" Type="EnterpriseAccountInRole" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684-b77a-7735bdbe820d/roles" /> <Link Rel="Down" Type="EnterpriseAccountHierarchyScopeList" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684-b77a-7735bdbe820d/scopes" /> <Link Rel="Create" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684-b77a-7735bdbe820d/scopes" /> <Link Rel="Delete" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684-b77a-7735bdbe820d" /> <Link Rel="ToggleRestoreScopesEnabled" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684-b77a-7735bdbe820d" /> </Links> <AccountType>User</AccountType> <AllowRestoreAllVms>false</AllowRestoreAllVms> </EnterpriseAccount>
303 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries:
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
UID URN
ID of the account that has a specific security role in Veeam Backup Enterprise Manager, for example: urn:veeam:EnterpriseAccount:9570aed1-7eff-4684-b77a-7735bdbe820d.
True True
Name String Name of the account that has a specific security role in Veeam Backup Enterprise Manager, for example: BACKUPSERVER\Operator.
True True
Account
Type String
Type of the account that has a specific security role in Veeam Backup Enterprise Manager. Possible values: • User • Group
True True
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 200 Success.
304 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /security/accounts/{ID} resource.
Example A sample request below returns an account having ID fd4befd6-70c6-4b2f-a068-d1d9a61905a 3:
Request: GET http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3 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/fd4befd6-70c6-4b2f-a068-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-4b2f-a068-d1d9a61905a3" /> <Link Rel="Down" Type="EnterpriseAccountInRoleList" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3/roles" /> <Link Rel="Create" Type="EnterpriseAccountInRole" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3/roles" /> <Link Rel="Down" Type="EnterpriseAccountHierarchyScopeList" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3/scopes" /> <Link Rel="Create" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3/scopes" /> <Link Rel="Delete" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3" /> <Link Rel="ToggleRestoreScopesEnabled" Href="http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3" /> </Links> <AccountType>Group</AccountType> <AllowRestoreAllVms>true</AllowRestoreAllVms> </EnterpriseAccount>
305 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
None.
306 | 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-a068-d1d9a61905a3 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 204 No Content Response Body: None
(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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
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 Description Modifiable Min/Max Occurrence
Roles
Enterprise Account InRoleCreate SpecType
ID of the role that must be assigned to the account. To get a list of IDs for available roles, send the GET HTTP request to the /security/roles resource.
No 1/1
307 | 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-b25b-92321b52bab6</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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
None.
Example The example below assigns the Restore Operator role to the account having ID fd4befd6-70c6-4b2f-a068-d1d9a61905a3:
Request: POST http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3/roles Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-b25b-92321b52bab6</EnterpriseRoleUid> </EnterpriseAccountInRoleCreateSpec> Response: 201 Created
308 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
None.
309 | 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-d1d9a 61905a3:
Request: DELETE http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 204 No Content Response Body: None
/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-4f8a-83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a-83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9" /> </Links> <Name>172.16.11.43</Name> <HierarchyRootName>sls-i0359.veeam.local</HierarchyRootName> <Platform>HyperV</Platform>
310 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /security/accounts/{ID}/scopes resource.
311 | 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-83d2-c06e4ab796b6:
Request: GET http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a-83d2-c06e4ab796b6/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/448744d7-d5fd-4f8a-83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a-83d2-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>
(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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
312 | 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 Type Description Modifiable Min/Max
Occurrence
Hieararchy
ObjRef Hierarchy ObjRefType
Reference to the object in the virtual infrastructure hierarchy. The reference can be constructed manually or obtained with the lookup service.
Yes 0/1
Object
Name String
Name of the object in the virtual infrastructure hierarchy, for example: VM01. Yes 0/1
For example:
<HierarchyScopeObjects> <HierarchyScopeItem> <HieararchyObjRef>urn:VMware:Vm: a2b0c55d-829a-4efe-bd95-125ee77ba9dd.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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
None.
313 | 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-8d8e-560188b03f95. The restore scope includes only one VM: SQLSRV having MoRef vm-15309.
Request: POST http://localhost:9399/api/security/accounts/fd4befd6-70c6-4b2f-a068-d1d9a61905a3/scopes Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Request Body: <HierarchyScopeObjects> <HierarchyScopeItem> <HieararchyObjRef>urn:VMware:Vm: a2b0c55d-829a-4efe-bd95-125ee77ba9dd.vm-7870</HieararchyObjRef> <ObjectName>VM01</ObjectName> </HierarchyScopeItem> </HierarchyScopeObjects> Response: 202 Accepted
/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-4f8a-83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope"
314 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a-83d2-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://<Enterprise-Manager>:9399/api/security/accounts/{ID}/scopes/{ID}
Request Header
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
Parameter Type Description Can Be Used for Filtering
Can Be Used for Sorting
ID String ID of the hierarchy root scope resource, for example: 2afe748f-bdc3-49d0-8837-20d2037a1176.
True True
AccountUid URN ID of the account parent to the hierarchy scope resource. True True
ScopeState String State of the hierarchy scope. Possible values: Processed and Unprocessed. True True
ScopeName String Name of the hierarchy scope resource, for example: Production. True True
Hierarchy
RootName String Name of the hierarchy root objects assigned as a scope, for example: vcprod.veeam.local.
True True
315 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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-83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <EnterpriseAccountHierarchyScope xmlns="http://www.veeam.com/ent/v1.0" Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a-83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/448744d7-d5fd-4f8a-83d2-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>
316 | 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://<Enterprise-Manager>:9399/api/security/accounts/{ID}/scopes/{ID}
Request Header
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
None.
317 | 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-4f8a-83d2-c06e4ab796b6/scopes/75316e14-c742-4e7e-b594-ee532ae50fe9 Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 204 No Content Response Body: None
/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/win-tw4/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">
318 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
319 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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/win-tw4/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>
/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}
320 | 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/1bd3ebf0-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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
The following parameters can be used in queries.
321 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Parameter Type Description Can Be
Used for Filtering
Can Be Used for Sorting
TaskUid String ID of the task resource, for example: task-1. True True
State String State of the task operation. Possible values: • Running • Finished
True True
Operation String
Result of the task operation. Possible values: • Success • Failed • Warning
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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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/1bd3ebf0-34fa-40f6-bc4c-c9bacdba8c0a/guestfs/" />
322 | 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-bc35-915b0fdf17af" /> <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=TaskUid&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/query?type=Job&format=Entities&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/query?type=RestorePoint&format=Entities&s
323 | 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=Entities&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/query?type=ReplicaTaskSession&format=Entities&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&sortAsc=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&sortAsc=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=Entities&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/query?type=ReplicaJobSession&format=Entities&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/query?type=BackupServer&format=Entities&sortAsc=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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
324 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-bc35-915b0fdf17af" /> <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=TaskUid&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="JobList" Href="http://localhost:9399/api/query?type=Job&format=Entities&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="RestorePointList" Href="http://localhost:9399/api/query?type=RestorePoint&format=Entities&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupTaskSessionList" Href="http://localhost:9399/api/query?type=BackupTaskSession&format=Entities&sortAsc=name&pageSize=15&page=1&filter=" />
325 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Down" Type="ReplicaTaskSessionList" Href="http://localhost:9399/api/query?type=ReplicaTaskSession&format=Entities&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&sortAsc=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&sortAsc=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=Entities&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="ReplicaJobSessionList" Href="http://localhost:9399/api/query?type=ReplicaJobSession&format=Entities&sortAsc=name&pageSize=15&page=1&filter=" /> <Link Rel="Down" Type="BackupServerList" Href="http://localhost:9399/api/query?type=BackupServer&format=Entities&sortAsc=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-bc35-915b0fdf17af" /> <Link Rel="Down" Type="HierarchyItemList"
326 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3aa2b0c55d-829a-4efe-bd95-125ee77ba9dd&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a9292ea06-0803-4477-82ed-2482b1c30241&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a441d40ed-6e56-4884-b98e-27aac934624f&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a9dc20876-816d-4cb9-8d91-43be20637c1c&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a8dcc6a4d-67ad-423e-b5c4-687ebaefc706&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a394588f8-c908-4fbd-b76c-6c5dbb2efab2&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3adf5baef6-adb9-45ed-955a-dbf54fee3a54&name=*&type=Vm" /> <Link Rel="Down" Type="HierarchyItemList" Href="http://localhost:9399/api/lookup?host=urn%3aveeam%3aHierarchyRoot%3a70aa9075-ca31-43bd-99cc-f888b969799b&name=*&type=Vm" /> </Links> </LookupSvc>
(GET) /lookup?host={hostUID}&hierachyRef={hierachyRef}&name={objName}&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={objType}
Request Header
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
327 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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%3a70aa9075-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.8939b773-64b6-4e38-90bb-7cb1d0cd3a0e</ObjectRef> <ObjectType>Vm</ObjectType> <ObjectName>dns</ObjectName> </HierarchyItem> </HierarchyItems>
328 | 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>
329 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /summary resource.
330 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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>
/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
331 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully operation returns response code 200 Success.
332 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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>
/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.
333 | 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=8a56d84f-1790-4f54-ab20-2e0bfdefa16b&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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully operation returns response code 200 Success.
334 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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=8a56d84f-1790-4f54-ab20-2e0bfdefa16b&ShowParams=1</ProtectedVmsReportLink> </VmsOverviewReportFrame>
/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.
335 | 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=7962844d-db6c-4d29-8b6e-4e0f7db0785f&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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
336 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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=7962844d-db6c-4d29-8b6e-4e0f7db0785f&ShowParams=1</BackupJobStatusReportLink> </JobStatisticsReportFrame>
337 | 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:00-07:00" /> <Day BackupedVms="15" ReplicatedVms="0" Timestamp="2013-08-11T00:00:00-07:00" /> <Day BackupedVms="13" ReplicatedVms="1" Timestamp="2013-08-10T00:00:00-07:00" /> <Day BackupedVms="14" ReplicatedVms="1" Timestamp="2013-08-09T00:00:00-07:00" /> <Day BackupedVms="9" ReplicatedVms="0" Timestamp="2013-08-08T00:00:00-07:00" /> <Day BackupedVms="3" ReplicatedVms="1" Timestamp="2013-08-07T00:00:00-07:00" /> <Day BackupedVms="14" ReplicatedVms="1" Timestamp="2013-08-06T00:00:00-07: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
338 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
Request Header
The request contains the following headers:
Header Required Description
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <ProcessedVmsReportFrame xmlns="http://www.veeam.com/ent/v1.0"> <Day BackupedVms="10" ReplicatedVms="0" Timestamp="2013-08-12T00:00:00-07:00" /> <Day BackupedVms="15" ReplicatedVms="0" Timestamp="2013-08-11T00:00:00-07:00" /> <Day BackupedVms="13" ReplicatedVms="1" Timestamp="2013-08-10T00:00:00-
339 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
07:00" /> <Day BackupedVms="14" ReplicatedVms="1" Timestamp="2013-08-09T00:00:00-07:00" /> <Day BackupedVms="9" ReplicatedVms="0" Timestamp="2013-08-08T00:00:00-07:00" /> <Day BackupedVms="3" ReplicatedVms="1" Timestamp="2013-08-07T00:00:00-07:00" /> <Day BackupedVms="14" ReplicatedVms="1" Timestamp="2013-08-06T00:00:00-07: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&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>
340 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns a representation of the /summary/repositories resource.
341 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 200 Success Response Body: <RepositoryReportFrame xmlns="http://www.veeam.com/ent/v1.0" CapacityPlanningReportLink="Workspace/ViewReport.aspx?definition=62221565-102c-4ec8-851b-d61c03d972d1&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>
/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}
342 | 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-bc35-915b0fdf17af"> <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"
343 | 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-bc35-915b0fdf17af" /> </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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
344 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-bc35-915b0fdf17af"> <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"
345 | 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-bc35-915b0fdf17af" /> </Links> <UserName>VEEAM\Administrator</UserName> <SessionId>fffb65bd-0e7a-427a-bc35-915b0fdf17af</SessionId> </LogonSession> </LogonSessions>
346 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
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.
347 | 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 NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-bc35-915b0fdf17af"> <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" />
348 | 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-bc35-915b0fdf17af" /> </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}
349 | 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-bc35-915b0fdf17af"> <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" />
350 | 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-bc35-915b0fdf17af" /> </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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response
The server returns the following response to the client.
Response Codes
A successfully operation returns response code 200 Success.
351 | 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
In the response body, Veeam Backup Enterprise Manager returns 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-bc35-915b0fdf17af Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj 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-bc35-915b0fdf17af"> <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" />
352 | 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-bc35-915b0fdf17af" /> </Links> <UserName>VEEAMBACKUP\Administrator</UserName> <SessionId>fffb65bd-0e7a-427a-bc35-915b0fdf17af</SessionId>
353 | 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
X-RestSvcSessionId True
The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.
Request Body
None.
Query Parameters
None.
Response The server returns the following response to the client.
Response Codes
A successfully 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 Description
Content-length The length of the response body.
Content-type The media type and syntax of the request body message: application/xml.
Response Body
None.
354 | 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-bc35-915b0fdf17af Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 204 No Content Response Body: None
355 | 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-33d2-4f41-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" />
356 | 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-b0e1-5ecdbca1c512" Name="DC Backup" UID="urn:veeam:Job:da736815-4fea-4c8e-b0e1-5ecdbca1c512"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512?format=Entity" Name="DC Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/da736815-4fea-4c8e-b0e1-5ecdbca1c512/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-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-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7?format=Entity" Name="Fileserver Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7/backupSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-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-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb?format=Entity" Name="Exchange Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/de14a4c9-3fb9-419b-b622-c6e3ebda28cb/backupSessions" />
357 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
</Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/6c1375ec-e666-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-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/6c1375ec-e666-4b65-9537-d2d4b4b64dc8?format=Entity" Name="DC Replication" /> <Link Rel="Down" Type="ReplicaJobSessionReferenceList" Href="http://localhost:9399/api/jobs/6c1375ec-e666-4b65-9537-d2d4b4b64dc8/replicaSessions" /> </Links> </Ref> <Ref Type="JobReference" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766-f1c00a5b8067" Name=""SQL="""" UID="urn:veeam:Job:dce85686-59c8-42c4-8766-f1c00a5b8067"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="Job" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766-f1c00a5b8067?format=Entity" Name=""SQL="""" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/dce85686-59c8-42c4-8766-f1c00a5b8067/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-8c1b-bd7cd5df9aa7?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-8c1b-bd7cd5df9aa7?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-8c1b-bd7cd5df9aa7?format=Entity" Name="Fileserver Backup"
358 | 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-4dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="JobReference" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7" Name="Fileserver Backup" /> <Link Rel="Down" Type="BackupJobSessionReferenceList" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7/backupSessions" /> <Link Rel="Down" Type="ObjectInJobList" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7/includes" /> <Link Rel="Edit" Type="JobReference" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7" Name="Fileserver Backup" /> <Link Rel="Create" Type="ObjectInJob" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7/includes" /> <Link Rel="Start" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7?action=start" /> <Link Rel="Stop" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7?action=stop" /> <Link Rel="Retry" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7?action=retry" /> <Link Rel="Clone" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7?action=clone" /> <Link Rel="ToggleScheduleEnabled" Href="http://localhost:9399/api/jobs/795f2f57-6cc0-4c33-8c1b-bd7cd5df9aa7?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</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>
359 | 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</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>
360 | 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-8c1b-bd7cd5df9aa7/includes/b1f65231-bb39-43ec-bfdc-1ae82acf98f7"> <ObjectInJobId>b1f65231-bb39-43ec-bfdc-1ae82acf98f7</ObjectInJobId> <HierarchyObjRef>urn:VMware:Vm:f27785dc-237e-4bea-8bfd-ad131c50934e.vm-19448</HierarchyObjRef> <Name>hp_vm1</Name> <DisplayName>hp_vm1</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>
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-8c1b-bd7cd5df9aa7?action=start/ Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj Response: 202 Created
361 | 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.
362 | 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-3e87-4ed9-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" />
363 | 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/vmRestorePoints" /> </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=Entity
364 | 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/vmRestorePoints" /> </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/vmRestorePoints 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/win-tw2/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462" Name="8/26/2013 7:59:00 AM" UID="urn:veeam:CatalogVmRestorePoint:d2bfab92-7286-454e-ada5-55dd8146d462"> <Links> <Link Rel="Up" Href="http://localhost:9399/api/catalog/vms/fileserver01" /> <Link Rel="Alternate" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462?format=Entity" /> </Links> </Ref>
365 | 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/vmRestorePoints/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/win-tw2/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462?format=Entity" Name="fileserver01" UID="urn:veeam:CatalogVmRestorePoint:d2bfab92-7286-454e-ada5-55dd8146d462"> <Links> <Link Rel="Alternate" Type="CatalogVmRestorePointReference" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoints/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/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462?action=browse" /> <Link Rel="Related" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/d2bfab92-7286-454e-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/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462?action=browse Request Header: X-RestSvcSessionId NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj
366 | 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/vmRestorePoints/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/vmRestorePoints/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/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/"> <Links> <Link Rel="Down" Type="FileSystemItemsList" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/?action=listAll" /> <Link Rel="Down" Type="FileEntryList" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/?action=listFiles&pageSize=10&page=1" /> <Link Rel="Down" Type="DirectoryEntryList" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/?action=listDirs&pageSize=10&page=1" /> </Links> </DirectoryEntry> </FileSystemEntry>
367 | 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/vmRestorePoints/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
To get a list of all files, send the GET HTTP request to the /catalog/vms/{ID}/vmRestorePoints/{ID}/guestfs/(filepath}?action=listAll URL:
Request: GET http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/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/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/C:/Documents" /> </Links>
368 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Files> <FileEntry Type="FileEntry" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/C:/Documents/Invoice1.docx"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/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/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/guestfs/C:/Documents/Invoice2.docx"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/catalog/vms/fileserver01/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/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/vmRestorePoints/d2bfab92-7286-454e-ada5-55dd8146d462/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">
369 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Links> <Link Rel="Delete" Type="Task" Href="http://win-tw3: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://win-tw3: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.
370 | 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-a453-48c0-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>
371 | 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-4d44-4bf1-af0e-158e9f7f5f66" Name="sql01-hv@2013-08-21 10:46:42" UID="urn:veeam:VmRestorePoint:7e26714d-4d44-4bf1-af0e-158e9f7f5f66"> <Links> <Link Rel="Up" Type="localhostReference" Href="http://localhost:9399/api/localhosts/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/fcf92506-ee3e-4612-bfb5-68ab2d472532" Name="Aug 21 2013 10:46AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/7e26714d-4d44-4bf1-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-0dd3-405b-8b75-2fbee55fb415" Name="sql01-hv@2013-08-21 10:44:36" UID="urn:veeam:VmRestorePoint:a712861b-0dd3-405b-8b75-2fbee55fb415"> <Links> <Link Rel="Up" Type="localhostReference" Href="http://localhost:9399/api/localhosts/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/6f30b893-7103-4925-bef0-48ca943ae6b6" Name="Aug 21 2013 10:44AM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3-405b-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-714c-457c-a005-3ccca1730468" Name="hp_vm1@2013-08-21 13:32:48"
372 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
UID="urn:veeam:VmRestorePoint:5c0d5a40-714c-457c-a005-3ccca1730468"> <Links> <Link Rel="Up" Type="localhostReference" Href="http://localhost:9399/api/localhosts/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/93731898-da96-4830-b74c-d632a8590746" Name="Aug 21 2013 1:32PM" /> <Link Rel="Alternate" Type="VmRestorePoint" Href="http://localhost:9399/api/vmRestorePoints/5c0d5a40-714c-457c-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-0dd3-405b-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-0dd3-405b-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-0dd3-405b-8b75-2fbee55fb415?format=Entity" Name="sql01-hv@2013-08-21 10:44:36" UID="urn:veeam:VmRestorePoint:a712861b-0dd3-405b-8b75-2fbee55fb415" VmDisplayName="sql01-hv"> <Links> <Link Rel="Restore" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3-405b-8b75-2fbee55fb415?action=restore" /> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Up" Type="RestorePointReference" Href="http://localhost:9399/api/restorePoints/6f30b893-7103-4925-bef0-48ca943ae6b6" Name="Aug 21 2013 10:44AM" /> <Link Rel="Alternate" Type="VmRestorePointReference" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3-405b-8b75-2fbee55fb415" Name="sql01-hv@2013-08-21 10:44:36" />
373 | Veeam Backup Enterprise Manager RESTful API | REFERENCE | REV 3
<Link Rel="Down" Type="VmRestorePointMountList" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3-405b-8b75-2fbee55fb415/mounts" /> <Link Rel="Create" Type="VmRestorePointMount" Href="http://localhost:9399/api/vmRestorePoints/a712861b-0dd3-405b-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-0dd3- 405b-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:
374 | 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-81f4-46af-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-81f4-46af-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-81f4-46af-be68-9f2c2307465c?format=Entity" Name="sql01-hv@2013-08-26 08:31:22" UID="urn:veeam:RestoreSession:b67a3603-81f4-46af-be68-9f2c2307465c" VmDisplayName="sql01-hv"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/15942270-fb56-4dcc-96e9-5f80e4725a15" Name="localhost" /> <Link Rel="Alternate" Type="RestoreSessionReference" Href="http://localhost:9399/api/restoreSessions/b67a3603-81f4-46af-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.
375 | 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-0a74-4543-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>
376 | 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=rebuildScope" /> </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
377 | 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/129ccafb-d740-4a5a-b602-b02acfec1ec5" Name="localhost\Administrator" UID="urn:veeam:EnterpriseAccount:129ccafb-d740-4a5a-b602-b02acfec1ec5"> <Links> <Link Rel="Alternate" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/129ccafb-d740-4a5a-b602-b02acfec1ec5?format=Entity" /> </Links> </Ref> <Ref Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/d537f7a1-9143-4c90-8326-d4225c4a8f30" Name="BUILTIN\Administrators" UID="urn:veeam:EnterpriseAccount:d537f7a1-9143-4c90-8326-d4225c4a8f30"> <Links> <Link Rel="Alternate" Type="EnterpriseAccount" Href="http://localhost:9399/api/security/accounts/d537f7a1-9143-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-d740-4a5a-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/129ccafb-d740-4a5a-b602-b02acfec1ec5?format=Entity" Name="localhost\Administrator" UID="urn:veeam:EnterpriseAccount:129ccafb-d740-4a5a-b602-b02acfec1ec5"> <Links> <Link Rel="Alternate" Type="EnterpriseAccountReference" Href="http://localhost:9399/api/security/accounts/129ccafb-d740-4a5a-b602-b02acfec1ec5" /> <Link Rel="Down" Type="EnterpriseAccountInRoleList" Href="http://localhost:9399/api/security/accounts/129ccafb-
378 | 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/129ccafb-d740-4a5a-b602-b02acfec1ec5/roles" /> <Link Rel="Down" Type="EnterpriseAccountHierarchyScopeList" Href="http://localhost:9399/api/security/accounts/129ccafb-d740-4a5a-b602-b02acfec1ec5/scopes" /> <Link Rel="Create" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/129ccafb-d740-4a5a-b602-b02acfec1ec5/scopes" /> <Link Rel="Delete" Href="http://localhost:9399/api/security/accounts/129ccafb-d740-4a5a-b602-b02acfec1ec5" /> <Link Rel="ToggleRestoreScopesEnabled" Href="http://localhost:9399/api/security/accounts/129ccafb-d740-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-d740-4a5a-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-4459-9842-0304df34c644.resgroup-10734</HieararchyObjRef> <ObjectName>Production</ObjectName> </HierarchyScopeItem> </HierarchyScopeCreateSpec> Response: 201 Created Response Body: None
379 | 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-d740-4a5a-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/9570aed1-7eff-4684-b77a-7735bdbe820d/scopes/2afe748f-bdc3-49d0-8837-20d2037a1176"> <Links> <Link Rel="Delete" Type="EnterpriseAccountHierarchyScope" Href="http://localhost:9399/api/security/accounts/9570aed1-7eff-4684-b77a-7735bdbe820d/scopes/2afe748f-bdc3-49d0-8837-20d2037a1176" /> </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.
380 | 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:
381 | 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-125ee77ba 9dd • 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.