Veeam Backup Enterprise Manager REST API Specifications

In this article

    In this section, you will find general notes and requirements on 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.

    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 for 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.