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.

XML Schema Definitions

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.

Header Format

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
or
application/json

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
or
application/json

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
or
application/json

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.