- 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 Managed Servers section defines paths and operations for managing servers.
In this version, the REST API supports the following server types: VMware vSphere, Linux and Windows.
Get All Servers
The HTTP GET request to the /api/v1/backupInfrastructure/managedServers
path allows you to get an array of all servers that are added to the backup infrastructure.
Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Restore Operator, Veeam Backup Viewer, Veeam Tape Operator.
query Parameters
skip | integer <int32> Number of servers to skip. |
limit | integer <int32> Maximum number of servers to return. |
orderColumn | string (EManagedServersFiltersOrderColumn) Sorts servers by one of the server parameters. |
orderAsc | boolean Sorts servers in the ascending order by the |
nameFilter | string Filters servers by the |
typeFilter | string (EManagedServerType) Filters servers by server type. |
viTypeFilter | string (EViHostType) Filters servers by the type of VMware vSphere 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.
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": [
- {
- "sshSettings": {
- "sshTimeOutMs": 20000,
- "portRangeStart": 2500,
- "portRangeEnd": 3300,
- "serverSide": false,
- "managementPort": 6162
}, - "type": "LinuxHost",
- "id": "535b5414-788d-4720-a53a-ecc830d2589b",
- "name": "172.17.53.67",
- "description": "Created by TECH\\sheila.d.cory",
- "credentialsId": "b860489e-490d-4e43-b20a-a91c4e7d2e76"
}, - {
- "networkSettings": {
- "components": [
- {
- "componentName": "DeployerSvc",
- "port": 6160
}, - {
- "componentName": "Transport",
- "port": 6162
}, - {
- "componentName": "Nfs",
- "port": 6161
}, - {
- "componentName": "RestoreProxy",
- "port": 6170
}, - {
- "componentName": "WanAccelerator",
- "port": 6164
}, - {
- "componentName": "Tape",
- "port": 6166
}, - {
- "componentName": "CloudGate",
- "port": 6168
}, - {
- "componentName": "AgentConfigureService",
- "port": 9380
}, - {
- "componentName": "FileSystemVssIntegration",
- "port": 6210
}, - {
- "componentName": "VssHwSnapshotProvider",
- "port": 6211
}
], - "portRangeStart": 2500,
- "portRangeEnd": 3300,
- "serverSide": false
}, - "type": "WindowsHost",
- "id": "ee50f2fb-034f-41cd-8dc8-904aeae2d0d8",
- "name": "enterprise04.tech.local",
- "description": "Created by TECH\\sheila.d.cory",
- "credentialsId": "fa4769b5-6722-4968-838b-866c29bd14d4"
}, - {
- "viHostType": "VC",
- "port": 443,
- "type": "ViHost",
- "id": "de28dc43-b8ee-4e17-8e63-3d38b6604033",
- "name": "vcenter01.tech.local",
- "description": "Created by TECH\\administrator",
- "credentialsId": "fa4769b5-6722-4968-838b-866c29bd14d4"
}
], - "pagination": {
- "total": 3,
- "count": 3,
- "skip": 0,
- "limit": 200
}
}
Add Server
The HTTP POST request to the /api/v1/backupInfrastructure/managedServers
path allows you to add a server to the backup infrastructure.
Available to: Veeam Backup 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
description required | string Description of the server. |
name required | string Full DNS name or IP address of the server. |
type required | string (EManagedServerType) Type of the server. |
credentialsId required | string <uuid> ID of the credentials used to connect to the server. |
object (WindowsHostPortsModel) Veeam Backup & Replication components installed on the server and ports used by the components. |
An Infrastructure
session has been created to add the server. To check the progress, track the session state
.
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
{- "networkSettings": {
- "components": [
- {
- "componentName": "DeployerSvc",
- "port": 6160
}, - {
- "componentName": "Transport",
- "port": 6162
}, - {
- "componentName": "Nfs",
- "port": 6161
}, - {
- "componentName": "RestoreProxy",
- "port": 6170
}, - {
- "componentName": "WanAccelerator",
- "port": 6164
}, - {
- "componentName": "Tape",
- "port": 6166
}, - {
- "componentName": "CloudGate",
- "port": 6168
}, - {
- "componentName": "AgentConfigureService",
- "port": 9380
}, - {
- "componentName": "FileSystemVssIntegration",
- "port": 6210
}, - {
- "componentName": "VssHwSnapshotProvider",
- "port": 6211
}
], - "portRangeStart": 2517,
- "portRangeEnd": 3313,
- "serverSide": true
}, - "type": "WindowsHost",
- "name": "enterprise01.tech.local",
- "description": "Backup Repository",
- "credentialsId": "d7af15f3-8808-454e-ba79-2c2267acb05d"
}
- 201
- 400
- 401
- 403
- 500
{- "sessionType": "Infrastructure",
- "state": "Working",
- "id": "59f85a1e-2016-4d08-aea5-2676a03d548c",
- "name": "Infrastructure Item Saving",
- "jobId": "59f85a1e-2016-4d08-aea5-2676a03d548c",
- "creationTime": "2022-01-28T19:48:43.117+01:00",
- "endTime": null,
- "progressPercent": 0,
- "result": null,
- "resourceId": null,
- "resourceReference": null,
- "parentSessionId": null,
- "usn": 0
}
Get vCenter Servers Attached to Cloud Director Server
The HTTP POST request to the /api/v1/backupInfrastructure/managedServers/cloudDirectorHosts
path allows you to get an array of vCenter Servers attached to a specific VMware Cloud Director server.
Available to: Veeam Backup 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
credentialsId required | string <uuid> ID of the credentials used to connect to the server. |
url required | string URL of the VMware Cloud Director server. |
certificateThumbprint | string Certificate thumbprint used to verify the server identity. For details on how to get the thumbprint, see Request TLS Certificate or SSH Fingerprint. |
OK
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
{- "url": "string",
- "credentialsId": "08e8bcd2-3d30-4d03-8e1a-ab6ac0cbf1ed",
- "certificateThumbprint": "string"
}
- 200
- 400
- 401
- 403
- 500
{- "data": [
- {
- "viServerName": "string",
- "certificateThumbprint": "string"
}
]
}
Get Server
The HTTP GET request to the /api/v1/backupInfrastructure/managedServers/{id}
path allows you to get a managed server that has the specified id
.
Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Restore Operator, Veeam Backup Viewer, Veeam Tape Operator.
path Parameters
id required | string <uuid> ID of the managed 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
{- "sshSettings": {
- "sshTimeOutMs": 20000,
- "portRangeStart": 2500,
- "portRangeEnd": 3300,
- "serverSide": false,
- "managementPort": 6162
}, - "type": "LinuxHost",
- "id": "71988b5d-e338-4c62-81e5-05ea944d233e",
- "name": "linuxsrv01.tech.local",
- "description": "Backup repository",
- "credentialsId": "76571109-fe6e-4638-ad37-2f1f30e3e9f1"
}
Edit Server
The HTTP PUT request to the /api/v1/backupInfrastructure/managedServers/{id}
path allows you to edit a managed server that has the specified id
.
Available to: Veeam Backup Administrator.
path Parameters
id required | string <uuid> ID of the managed 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
description required | string Description of the server. |
id required | string <uuid> ID of the server. |
name required | string Full DNS name or IP address of the server. |
type required | string (EManagedServerType) Type of the server. |
status required | string (EManagedServersStatus) Availability status. |
credentialsId required | string <uuid> ID of the credentials used to connect to the server. |
object (WindowsHostPortsModel) Veeam Backup & Replication components installed on the server and ports used by the components. |
An Infrastructure
session has been created to edit the server. To check the progress, track the session state
.
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
{- "sshSettings": {
- "sshTimeOutMs": 20000,
- "portRangeStart": 2500,
- "portRangeEnd": 3300,
- "serverSide": false,
- "managementPort": 6162
}, - "type": "LinuxHost",
- "id": "71988b5d-e338-4c62-81e5-05ea944d233e",
- "name": "linuxsrv01.tech.local",
- "description": "Backup repository",
- "credentialsId": "76571109-fe6e-4638-ad37-2f1f30e3e9f1"
}
- 201
- 400
- 401
- 403
- 404
- 500
{- "sessionType": "Infrastructure",
- "state": "Working",
- "id": "59f85a1e-2016-4d08-aea5-2676a03d548c",
- "name": "Infrastructure Item Saving",
- "jobId": "59f85a1e-2016-4d08-aea5-2676a03d548c",
- "creationTime": "2022-01-28T19:48:43.117+01:00",
- "endTime": null,
- "progressPercent": 0,
- "result": null,
- "resourceId": null,
- "resourceReference": null,
- "parentSessionId": null,
- "usn": 0
}
Remove Server
The HTTP DELETE request to the /api/v1/backupInfrastructure/managedServers/{id}
path allows you to remove a managed server that has the specified id
from the backup infrastructure.
Available to: Veeam Backup Administrator.
path Parameters
id required | string <uuid> ID of the managed 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: |
An InfrastructureItemDeletion
session has been created to remove the server. To check the progress, track the session state
.
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
- 201
- 401
- 403
- 404
- 500
{- "sessionType": "InfrastructureItemDeletion",
- "state": "Working",
- "id": "af1a6027-3845-487e-9a16-6849f4775a1e",
- "name": "Infrastructure Item Deletion",
- "jobId": "fc5683a4-8c25-4f8e-97cc-0a40745a5729",
- "creationTime": "2022-01-28T20:21:08.81+01:00",
- "endTime": null,
- "progressPercent": 0,
- "result": null,
- "resourceId": null,
- "resourceReference": null,
- "parentSessionId": null,
- "usn": 0
}
Change to Single-Use Credentials
The HTTP POST request to the /api/v1/backupInfrastructure/managedServers/{id}/updateSingleUseCredentials
path allows you to change from persistent to single-use credentials used to access a Linux server that has the specified id
. Single-use type of credentials is required if you want to use the Linux server as a hardened repository.
Available to: Veeam Backup Administrator.
path Parameters
id required | string <uuid> ID of the managed 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
username required | string User name. |
type required | string (ECredentialsType) Credentials type. |
password | string Password. |
description | string Description of the credentials record. |
uniqueId | string Unique ID that identifies the credentials record. |
An Infrastructure
session has been created to edit the server. To check the progress, track the session state
.
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
{- "username": "string",
- "password": "string",
- "description": "string",
- "type": "Standard",
- "uniqueId": "string"
}
- 201
- 400
- 401
- 403
- 404
- 500
{- "sessionType": "Infrastructure",
- "state": "Working",
- "id": "59f85a1e-2016-4d08-aea5-2676a03d548c",
- "name": "Infrastructure Item Saving",
- "jobId": "59f85a1e-2016-4d08-aea5-2676a03d548c",
- "creationTime": "2022-01-28T19:48:43.117+01:00",
- "endTime": null,
- "progressPercent": 0,
- "result": null,
- "resourceId": null,
- "resourceReference": null,
- "parentSessionId": null,
- "usn": 0
}