- About Veeam Backup & Replication REST API
- Overview
- How To
- Changelog
- Login
- Service
- Services
- Credentials
- getGet All Credentials
- postAdd Credentials Record
- getGet Credentials Record
- putEdit Credentials Record
- delRemove Credentials Record
- postChange Password
- postChange Linux Private Key
- postChange Linux Root Password
- getGet All Cloud Credentials
- postAdd Cloud Credentials Record
- postGet Microsoft Azure Verification Code
- postRegister Azure AD Application
- postGet Google Authentication Information
- getGet Cloud Credentials Record
- putEdit Cloud Credentials Record
- delRemove Cloud Credentials Record
- postChange Secret Key
- postChange Google Service Account
- postChange Certificate
- getGet All Helper Appliances
- postAdd or Edit Helper Appliance
- getGet Helper Appliance
- delRemove Helper Appliance
- Encryption
- Connection
- Cloud Browser
- Inventory Browser
- Traffic Rules
- General Options
- Malware Detection
- Configuration Backup
- Managed Servers
- Repositories
- getGet All Repositories
- postAdd Repository
- getGet All Repository States
- getGet Repository
- putEdit Repository
- delRemove Repository
- getGet All Scale-Out Backup Repositories
- postAdd Scale-Out Backup Repository
- getGet Scale-Out Backup Repository
- putEdit Scale-Out Backup Repository
- delRemove Scale-Out Backup Repository
- postEnable Sealed Mode
- postDisable Sealed Mode
- postEnable Maintenance Mode
- postDisable Maintenance Mode
- Proxies
- WAN Accelerators
- Jobs
- Backups
- Backup Objects
- Restore Points
- Restore
- getGet All VM Mounts
- postStart Instant Recovery
- getGet VM Mount
- postStop VM Publishing
- postStart VM Migration
- postRestore Entire VMware vSphere VM
- postRestore Entire VMware Cloud Director VM
- getGet All FCD Mounts
- postStart Instant FCD Recovery
- getGet FCD Mount
- postStop FCD Publishing
- postStart FCD Migration
- postStart File Restore
- postUnmount File System
- Backup Browsers
- getGet All File Restore Mounts
- getGet File Restore Mount
- postBrowse File System
- postCompare Attributes
- postCompare Files and Folders
- postSearch for Files and Folders
- postBrowse Search Results
- postRestore Files and Folders to Original Location
- postRestore Files and Folders to Another Location
- postPrepare Files and Folders for Download
- postDownload Files and Folders
- Tasks
- Replicas
- Replica Restore Points
- Failover
- Failback
- Sessions
- Agents
- Automation
- postImport Jobs
- postExport Jobs
- postImport Credentials
- postExport Credentials
- postImport Cloud Credentials
- postExport Cloud Credentials
- postImport Proxies
- postExport Proxies
- postImport Servers
- postExport Servers
- postImport Repositories
- postExport Repositories
- postImport Encryption Passwords
- postExport Encryption Passwords
- getGet All Automation Sessions
- getGet Automation Session
- getGet Automation Session Logs
- postStop Automation Session
The Encryption section defines paths and operations for managing KMS servers and passwords that are used for data encryption.
Get All Encryption Passwords
The HTTP GET request to the /api/v1/encryptionPasswords
path allows you to get an array of all passwords that are used for data encryption.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
query Parameters
skip | integer <int32> Number of passwords to skip. |
limit | integer <int32> Maximum number of passwords to return. |
orderColumn | string (EEncryptionPasswordsFiltersOrderColumn) Sorts passwords by one of the password parameters. |
orderAsc | boolean Sorts passwords in the ascending order by the |
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
OK
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 200
- 401
- 403
- 500
{- "data": [
- {
- "id": "6ebbe3cc-8147-47b6-b77a-01eeb7965522",
- "hint": "Standard Password",
- "modificationTime": "2021-10-19T12:37:58.27+03:00",
- "uniqueId": "internal"
}, - {
- "id": "3261d360-1db7-4291-b1ed-360ef5b77175",
- "hint": "Created by TECH\\Administrator",
- "modificationTime": "2022-02-11T11:34:28.677+03:00",
- "uniqueId": "external"
}
], - "pagination": {
- "total": 2,
- "count": 2,
- "skip": 0,
- "limit": 200
}
}
Add Encryption Password
The HTTP POST request to the /api/v1/encryptionPasswords
path allows you to add an encryption password.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
hint required | string Hint for the encryption password. Provide a meaningful hint that will help you recall the password. |
password required | string Password for data encryption. If you lose the password, you will not be able to restore it. |
uniqueId | string Unique ID for the encryption password. |
Password has been added.
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "password": "passsw3wrsdf2d44",
- "hint": "Pet name",
- "uniqueId": "vcenter01"
}
- 201
- 400
- 401
- 403
- 500
{- "id": "86e99ee0-3673-48d6-bf6a-9a8058d4de96",
- "hint": "Pet name",
- "modificationTime": "2023-02-13T02:22:40.801982-08:00",
- "uniqueId": "vcenter01"
}
Get Encryption Password
The HTTP GET request to the /api/v1/encryptionPasswords/{id}
path allows you to get an encryption password that has the specified id
.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
path Parameters
id required | string <uuid> ID of the encryption password. |
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
OK
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 200
- 401
- 403
- 404
- 500
{- "id": "86e99ee0-3673-48d6-bf6a-9a8058d4de96",
- "hint": "Pet name",
- "modificationTime": "2023-02-13T02:22:40.801982-08:00",
- "uniqueId": "vcenter01"
}
Edit Encryption Password
The HTTP PUT request to the /api/v1/encryptionPasswords/{id}
path allows you to edit an encryption password that has the specified id
.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
path Parameters
id required | string <uuid> ID of the encryption password. |
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
hint required | string Hint for the encryption password. |
id required | string <uuid> ID of the encryption password. |
modificationTime | string <date-time> Date and time when the password was last modified. |
uniqueId | string Unique ID for the encryption password. |
Password has been updated.
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "id": "86e99ee0-3673-48d6-bf6a-9a8058d4de96",
- "hint": "Pet name",
- "modificationTime": "2023-02-13T02:22:40.801982-08:00",
- "uniqueId": "vcenter01"
}
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "86e99ee0-3673-48d6-bf6a-9a8058d4de96",
- "hint": "Pet name",
- "modificationTime": "2023-02-13T02:22:40.801982-08:00",
- "uniqueId": "vcenter01"
}
Remove Encryption Password
The HTTP DELETE request to the /api/v1/encryptionPasswords/{id}
path allows you to remove an encryption password that has the specified id
.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
path Parameters
id required | string <uuid> ID of the encryption password. |
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
Password has been removed.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 204
- 401
- 403
- 404
- 500
{ }
Get All KMS Servers
The HTTP GET request to the /api/v1/kmsServers
path allows you to get an array of all KMS servers that are added to the backup infrastructure.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
query Parameters
skip | integer <int32> Number of KMS servers to skip. |
limit | integer <int32> Maximum number of KMS servers to return. |
orderColumn | string (EKMSFiltersOrderColumn) Sorts KMS servers by one of the KMS server parameters. |
orderAsc | boolean Sorts KMS servers in the ascending order by the |
nameFilter | string Filters KMS servers by the |
typeFilter | string (EKeyManagementServerType) Filters KMS servers by KMS server type. |
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
OK
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 200
- 401
- 403
- 500
{- "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "KMS",
- "port": 0,
- "serverCertificateThumbprint": "string",
- "clientCertificateThumbprint": "string"
}
], - "pagination": {
- "total": 0,
- "count": 0,
- "skip": 0,
- "limit": 0
}
}
Add KMS Server
The HTTP POST request to the /api/v1/kmsServers
path allows you to add a KMS server to the backup infrastructure.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
name required | string Full DNS name or IP address of the KMS server. |
type required | string (EKeyManagementServerType) KMS server type. |
port required | integer KMIP port on the backup server. You must open the port manually. |
required | object (CertificateUploadSpec) Certificate settings (for certificate-based authentication). |
required | object (CertificateUploadSpec) Certificate settings (for certificate-based authentication). |
description | string KMS server description. |
KMS server has been added.
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "name": "string",
- "description": "string",
- "type": "KMS",
- "port": 0,
- "serverCertificate": {
- "certificate": "string",
- "formatType": "pfx",
- "password": "string"
}, - "clientCertificate": {
- "certificate": "string",
- "formatType": "pfx",
- "password": "string"
}
}
- 201
- 400
- 401
- 403
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "KMS",
- "port": 0,
- "serverCertificateThumbprint": "string",
- "clientCertificateThumbprint": "string"
}
Get KMS Server
The HTTP GET request to the /api/v1/kmsServers/{id}
path allows you to get a KMS server that has the specified id
.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
path Parameters
id required | string <uuid> ID of the KMS server. |
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
OK
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 200
- 401
- 403
- 404
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "KMS",
- "port": 0,
- "serverCertificateThumbprint": "string",
- "clientCertificateThumbprint": "string"
}
Edit KMS Server
The HTTP PUT request to the /api/v1/kmsServers/{id}
path allows you to edit a KMS server that has the specified id
.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
path Parameters
id required | string <uuid> ID of the KMS server. |
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
id required | string <uuid> ID of the KMS server. |
name required | string Full DNS name or IP address of the KMS server. |
type required | string (EKeyManagementServerType) KMS server type. |
port required | integer <int32> KMIP port on the backup server. |
description | string KMS server description. |
serverCertificateThumbprint | string Thumbprint of the KMS server certificate. |
clientCertificateThumbprint | string Thumbprint of the client certificate created on the KMS server. |
KMS server has been updated.
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "KMS",
- "port": 0,
- "serverCertificateThumbprint": "string",
- "clientCertificateThumbprint": "string"
}
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "type": "KMS",
- "port": 0,
- "serverCertificateThumbprint": "string",
- "clientCertificateThumbprint": "string"
}
Remove KMS Server
The HTTP DELETE request to the /api/v1/kmsServers/{id}
path allows you to remove a KMS server that has the specified id
.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
path Parameters
id required | string <uuid> ID of the KMS server. |
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
KMS server has been removed.
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 204
- 400
- 401
- 403
- 404
- 500
{ }
Change KMS Server Certificate
The HTTP POST request to the /api/v1/kmsServers/{id}/changeCertificate
path allows you to change a certificate of a KMS server that has the specified id
.
Available to: Veeam Backup Administrator, Veeam Security Administrator.
path Parameters
id required | string <uuid> ID of the KMS server. |
header Parameters
x-api-version required | string Default: 1.1-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
type required | string (EKMSCertificateType) Certificate type. |
required | object (CertificateUploadSpec) Certificate settings (for certificate-based authentication). |
KMS server certificate has been changed.
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "certificate": {
- "certificate": "string",
- "formatType": "pfx",
- "password": "string"
}, - "type": "Client"
}
- 204
- 400
- 401
- 403
- 500
{ }