Specifications
In this section, you will find general notes and requirements on how to work with Veeam Backup Enterprise Manager REST API.
Transport Protocol
Veeam Backup Enterprise Manager REST API is based on Hypertext Transfer Protocol version 1.1. For secure connections, Veeam Backup Enterprise Manager REST API can be used over HTTPS. For details, see the TLS Certificate section.
Media Type
Veeam Backup Enterprise Manager REST API supports resource representation in the XML and JSON formats. The media type is defined in the Content-Type header of requests sent to the server. For details, see the Header Format section.
If you use the XML media type, make sure that the order of parameters in the request body of POST and PUT requests is correct. For more information on the correct parameter order, see request body examples for the necessary request.
All resources and specifications in Veeam Backup Enterprise Manager REST API are described in XML based on the XML schema definition RestAPI.xsd. The XSD file defines the structure, content and semantics of elements and types used in Veeam Backup Enterprise Manager REST 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 of Veeam Backup Enterprise Manager: %Program Files%\Veeam\Backup and Replication\Enterprise Manager\schemas\RestAPI.xsd.
In Veeam Backup Enterprise Manager REST 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. For details, 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 that have a request body message. |
X-RestSvcSessionId | Identifies a logon session used to work with Enterprise Manager REST API. | Session ID copied from the server reply to the Create new logon session request. | Must be sent with all requests to the server. For details, see the HTTP Authentication session. |
Accept | Identifies the media type and syntax of the response. | application/xml | Must be sent with requests that require response in the JSON format. Can be sent with requests that require response in the XML format. If a request does not contain the header, the server will return a response in the XML format as well. |
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 response body message. |
Content-Type | Identifies the media type and syntax of the response body message. | application/xml | Contained in all responses with the response 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-RestSvcSessionId | 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. For details, see the HTTP Authentication session. |
Set-Cookie | Contains the X-RestSvcSessionId header for a new logon session. | X-RestSvcSessionId header and its value — ID of the created logon session. | Contained in the response to the Create new logon session request. For details, see the HTTP Authentication session. |