- About Veeam Backup & Replication REST API
- Overview
- How To
- Changelog
- Global Changes
- New Features
- Users and Roles
- Malware Detection
- High Availability Cluster
- Bare Metal Recovery and Volume Restore
- Backup Move and Copy
- Unstructured Data
- Microsoft Entra ID
- Deduplication Appliance Repositories
- Veeam Data Cloud Vault Archive
- Instant Recovery to Microsoft Azure
- Instant Recovery to Another Platform
- Quick Backup
- Proxmox VE and Nutanix AHV
- General Options
- Inventory Browser
- Agent Management
- Backup Browser
- Application Items Restore
- Deprecated Requests
- Minor Non-Breaking Changes
- Breaking Changes
- 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 Entra ID Verification Code
- postRegister Microsoft Entra ID 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
- getGet All Encryption Passwords
- postAdd Encryption Password
- getGet Encryption Password
- putEdit Encryption Password Hint
- delRemove Encryption Password
- postChange Encryption Password
- postVerify Encryption Password
- getGet All KMS Servers
- postAdd KMS Server
- getGet KMS Server
- putEdit KMS Server
- delRemove KMS Server
- postChange KMS Server Certificate
- License
- postInstall License
- getGet Installed License
- postRemove License
- postCreate License Usage Report
- postRenew Installed License
- getGet Consumption of Socket Licenses
- postRevoke Socket License
- getGet Instance Licenses Consumption
- postAssign Instance License
- postRevoke Instance License
- postRemove Instance License
- getGet Capacity License Consumption
- postRevoke Capacity License from Unstructured Data Workload
- postUpdate License
- postEnable or Disable License Auto Update
- postEnable or Disable Instance Consumption for Unlicensed Agents
- Connection
- Cloud Browser
- Inventory Browser
- getGet All VMware vSphere Servers
- getGet VMware vSphere Server Objects
- postRescan Inventory Objects
- postGet All Servers
- postGet Inventory Objects
- postGet Inventory Object Details
- postGet All Protection Groups
- postGet All Physical Inventory
- postGet Inventory Objects for Specific Protection Group
- getGet All Unstructured Data Servers
- postAdd Unstructured Data Servers
- getGet Unstructured Data Server Defaults
- getGet Unstructured Data Server
- putEdit Unstructured Data Server
- delRemove Unstructured Data Server
- postStart Browsing Unstructured Data Server
- postBrowse Unstructured Data Server
- postStop Browsing Unstructured Data Server
- getGet All Unstructured Data Server Inventory Browse Sessions
- getGet Unstructured Data Server Inventory Browse Session
- getGet All Microsoft Entra ID Tenants
- postAdd Microsoft Entra ID Tenant
- getGet Microsoft Entra ID Tenant
- putEdit Microsoft Entra ID Tenant
- delRemove Microsoft Entra ID Tenant
- getGet Active Directory Objects from Domain
- getGet Available Disk Slots for Platform
- Traffic Rules
- General Options
- getGet General Options
- putEdit General Options
- getGet Email Settings
- putEdit Email Settings
- postSend Test Email
- postCheck SMTP Server Certificate
- getGet Host Authentication Settings
- putEdit Host Authentication Settings
- postExport Trusted Hosts List to a File
- postImport Trusted Hosts List from a File
- getGet Notification Settings
- putEdit Notification Settings
- getGet Event Forwarding Settings
- putEdit Event Forwarding Settings
- getGet Storage Latency Settings
- putEdit Storage Latency Settings
- postAdd Latency Settings for Specific Datastore
- getGet Latency Settings for Specific Datastore
- putEdit Latency Settings for Specific Datastore
- delRemove Latency Settings for Specific Datastore
- getGet VSA Event Forwarding Settings
- putEdit VSA Event Forwarding Settings
- getGet Daemon Settings for VSA Event Forwarding
- putEdit Daemon Settings for VSA Event Forwarding
- getGet Node Exporter Settings
- putUpdate Node Exporter Settings
- postSet Node Exporter Basic Authentication
- Users and Roles
- getGet All Users and Groups
- postAdd User or Group
- getGet User or Group
- delRemove User or Group
- getGet Roles Assigned to User or Group
- putEdit Roles Assigned to User or Group
- postChange Service Account Mode
- postReset MFA for Specific User
- getGet All Roles
- postCreate Custom Role
- getGet Role
- putEdit Custom Role
- delDelete Custom Role
- getGet Role Permissions
- getGet Custom Role Details
- postClone Custom Role
- getGet MFA Settings
- putEdit MFA Settings
- getGet All Restore Options
- ACL
- Global Exclusions
- Security
- postStart Security & Compliance Analyzer
- getGet Security & Compliance Analyzer Last Run
- getGet Security & Compliance Analyzer Schedule
- putModify Security & Compliance Analyzer Schedule
- postReset All Security & Compliance Analyzer Statuses
- getGet Security & Compliance Analyzer Results
- postSuppress Security & Compliance Analyzer Best Practice Status
- postReset Security & Compliance Analyzer Status
- getGet All Authorization Events
- getGet Authorization Event
- Malware Detection
- getGet All Malware Events
- postCreate Malware Event
- getGet Malware Event
- getGet All Malware Detection Settings
- putEdit Malware Detection Settings
- getGet Malware Suspicious File Masks Settings
- putEdit Malware Suspicious File Masks Settings
- getGet Malware Allowed Trusted Extensions
- getGet Malware File Detection Indicators of Compromise
- postEnable Monitoring of Indicators of Compromise
- postDisable Monitoring of Indicators of Compromise
- getGet Logs for SureBackup Scan Task Session
- postMark Backup Objects as Clean
- getGet All Malware Detection Objects
- getGet Malware Detection Object
- getGet All Malware Detection Exclusions
- postCreate or Update Malware Detection Exclusions
- postDelete Malware Detection Exclusions
- getGet YARA Rules
- postScan Backups with Antivirus or YARA Rules
- postStart Malware Encryption Analysis
- getDownload Malware Encryption Analysis Logs
- Configuration Backup
- Deployment
- Managed Servers
- getGet All Servers
- postAdd Server
- postGet vCenter Servers Attached to Cloud Director Server
- postGet Microsoft Hyper-V Servers Managed by Microsoft Hyper-V Cluster or SCVMM Server
- getGet Server
- putEdit Server
- delRemove Server
- postChange to Single-Use Credentials
- getGet Volumes for Microsoft Hyper-V Standalone Server
- putEdit Volumes on Microsoft Hyper-V Standalone Server
- postRescan All Managed Servers
- postRescan Managed Server
- getDefault Set of Optional Managed Server Components
- postUpdate Managed Server Components
- Repositories
- getGet All Repositories
- postAdd Repository
- postRescan Repositories
- getGet All Repository States
- getGet Repository
- putEdit Repository
- delRemove Repository
- getGet Repository Access Permissions
- putEdit Repository Access Permissions
- 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
- Mount Servers
- Proxies
- WAN Accelerators
- Helper Appliance Templates
- High Availability (HA) Cluster
- Jobs
- getGet All Jobs
- postCreate Job
- getGet All Job States
- getGet Job
- putEdit Job
- delDelete Job
- postStart Job
- postStop Job
- postRetry Job
- postDisable Job
- postEnable Job
- postApply Backup Policy Configuration
- postClear Backup Cache
- postClone Job
- postStart Quick Backup for VMware vSphere or VMware Cloud Director VM
- postStart Quick Backup for Hyper-V VM
- postStart Quick Backup for Agent-Managed Machine
- Backups
- getGet All Backups
- getGet Backup
- delDelete Backup
- postView Backup Details
- getGet Backup Objects
- delDelete Backup Object
- postDownload Backup Metadata
- getGet All Backup Files
- getGet Backup File
- postMark Backup File as Clean
- postMark Backup File as Infected
- postRun Health Check and Repair
- postCopy Backups to Another Repository
- postCopy Machine Backups to Another Repository or Folder
- postMove Backup to Another Repository
- postMove Backup Objects to Another Job
- getGet Move/Copy Backup Sessions Awaiting Action
- postManage a Move/Copy Backup Session Awaiting Action
- Backup Objects
- Restore Points
- Restore
- postRestore Entire File Share
- postRestore Entire Object Storage Bucket or Container
- getGet All Mount Points for Instant File Share Recovery
- postStart Instant File Share Recovery
- getGet Mount Point for Instant File Share Recovery
- postStop File Share Publishing
- postStart File Share Migration
- postStart File Share Switchover
- getGet File Share Switchover Settings
- putUpdate File Share Switchover Settings
- postStart File Restore from Unstructured Data Backup
- postUnmount Unstructured Data FLR Volumes
- postProlong a Retrieval Operation from Cold Object Storage
- getGet Cold Object Storage Retrieval Operations
- getGet All Mount Points for Instant Recovery to VMware vSphere
- postStart Instant Recovery to VMware vSphere
- getGet Mount Point for Instant Recovery to VMware vSphere
- postStop Publishing Machine to VMware vSphere
- postStart Migrating Machine to VMware vSphere
- getGet All Mount Points for Instant Recovery to Microsoft Hyper-V
- postStart Instant Recovery to Microsoft Hyper-V
- getGet Mount Point for Instant Recovery to Microsoft Hyper-V
- postStop Publishing Machine to Microsoft Hyper-V
- postStart Migrating Machine to Microsoft Hyper-V
- getGet All Mount Points for Instant Recovery to Microsoft Azure
- postStart Instant Recovery to Microsoft Azure
- getGet Mount Point for Instant Recovery to Microsoft Azure
- getGet All Mount Sessions for Instant Recovery to Microsoft Azure
- postStop Publishing Machine to Microsoft Azure
- postStart Migrating Machine to Microsoft Azure
- getGet Settings for Switchover to Microsoft Azure
- putUpdate Settings for Switchover to Microsoft Azure
- postStart Switchover to Microsoft Azure
- postRestore Entire VMware vSphere VM
- postRestore Entire VMware Cloud Director VM
- postRestore Entire Microsoft Hyper-V VM
- getGet All FCD Mount Points
- postStart Instant FCD Recovery
- getGet FCD Mount Point
- postStop FCD Publishing
- postStart FCD Migration
- postStart File Restore
- postUnmount File System
- postGet User Code for Delegated Restore of Microsoft Entra ID Items
- postGet Credentials for Delegated Restore of Microsoft Entra ID Items
- getGet Redirect URI for Delegated Restore of Microsoft Entra ID Items
- postPerform Authorization Code Exchange for Delegated Restore of Microsoft Entra ID Items
- postMount Microsoft Entra ID Tenant
- postStart Microsoft Entra ID Tenant Restore from Copy
- postUnmount Microsoft Entra ID Tenant
- postStart Microsoft Entra ID Audit Log Restore
- postUnmount Microsoft Entra ID Audit Logs
- postStarts Volume Restore for Agent or Recovery Appliance
- Application Items Restore
- DiskManagement
- postInitialize Disk Management
- postMap Backup Layout to Host Layout Automatically
- putKeep Disk Management Session Alive
- getGet Current Restore Layout of Host
- postApply Backup Layout
- postApply Disk Layout
- postErase Disk
- postRemove Partition
- postResize Partition
- postGet Partition Resize Options
- postRestore Partition
- putUnlock BitLocker-Protected Volume
- putCreate Disk Management Checkpoint
- putRevert to Disk Management Checkpoint
- Recovery Media
- Data Integration API
- Backup Browser
- postValidate Target Machine Credentials
- postValidate FLR Restore Item Target Path
- getGet All File Restore Mount Points
- getGet File Restore Mount Point
- getGet Restored Files Audit
- 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
- getDownload Files and Folders
- getGet All Unstructured Data Mount Points
- getGet Unstructured Data Mount Point
- postBrowse Unstructured Data File System
- postGet Restore Points of Unstructured Data File System Item
- postSearch for Files and Folders in Unstructured Data Mount Point
- postBrowse Search Results in Unstructured Data Mount Point
- postCopy Files and Folders to Specific Folder
- postRestore Files and Folders from Unstructured Data Backup
- postPrepare Files and Folders for Download from Unstructured Data Backup
- getDownload Files and Folders
- postCompare Attributes of Unstructured Data Backup with Source
- postCompare Files and Folders of Unstructured Data Backup with Source
- getGet Mount Points of All Microsoft Entra ID Tenants
- getGet Mount Point of Microsoft Entra ID Tenant
- postGet Restore Points of Microsoft Entra ID Tenant
- getGet Protection Scope of Microsoft Entra ID Tenant
- postGet Microsoft Entra ID Items
- postGet Microsoft Entra ID Item
- postGet Restore Points of Microsoft Entra ID Item
- postValidate Microsoft Entra ID Items
- postCheck Microsoft Entra ID Items in Production
- postGenerate Microsoft Entra ID User Passwords
- postRestore Microsoft Entra ID Items
- postRestore Microsoft Entra ID Item Properties
- postCompare Microsoft Entra ID Item Properties
- postStart Comparing Microsoft Entra ID Item Properties
- getGet Comparison Results for Microsoft Entra ID Items
- postStart Comparing Microsoft Entra ID Conditional Access Policy
- getGet Comparison Results for Microsoft Entra ID Conditional Access Policy
- postStart Exporting Microsoft Entra ID Items to JSON
- getGet JSON Export Results for Microsoft Entra ID Items
- postExport Microsoft Entra ID Tenant Objects To JSON
- postExport Microsoft Entra ID Items
- postUpload Microsoft Entra ID Users
- postUpload Microsoft Entra ID Groups
- postUpload Microsoft Entra ID Administrative Units
- postUpload Microsoft Entra ID Roles
- postUpload Microsoft Entra ID Applications
- postUpload Microsoft Entra ID Conditional Access Policies
- postUpload Microsoft Entra ID Device Configurations
- postUpload Microsoft Entra ID Organization Contacts
- postUpload Microsoft Entra ID Devices
- getGet All Restore Sessions of Microsoft Entra ID Tenant
- getGet Restore Session of Microsoft Entra ID Tenant
- getGet Restore Session Logs of Microsoft Entra ID Tenant
- postStop Restore Session of Microsoft Entra ID Tenant
- postReveal Microsoft Entra ID BitLocker Recovery Key
- Tasks
- Replicas
- Replica Restore Points
- Failover
- Failback
- Sessions
- Agents
- getGet All Recovery Tokens
- postCreate Recovery Token
- getGet Recovery Token
- putEdit Recovery Token
- delDelete Recovery Token
- getGet All Protected Linux Computers
- getGet Protected Linux Computer
- getGet All Discovered Entities
- getGet All Agent States
- getGet Agent State
- getGet Agent Backups
- postAttach Backups to Agent
- postDetach Backups from Agent
- getGet Protection Groups
- postAdd Protection Group
- getGet Protection Group
- putEdit Protection Group
- delRemove Protection Group
- postRescan Protection Group
- postEnable Protection Group
- postDisable Protection Group
- postDownload Protection Group Packages
- getGet Discovered Entities
- postRescan Discovered Entities
- postReboot Discovered Entities
- postInstall Agent on Discovered Entities
- postUninstall Agent from Discovered Entities
- postUpgrade Agent on Discovered Entities
- postInstall CBT Driver on Discovered Entities
- postUninstall CBT Driver from Discovered Entities
- postUninstall All Components from Discovered Entities
- postAdd Discovered Entities to Trusted Hosts List
- postPrepare Agent Hosts for Remote Bare Metal Recovery
- postRecreate Embedded Recovery Media on Agent Hosts
- getGet Discovered Entity
- delRemove Discovered Entity
- postCreate Recovery Media Task for Discovered Entity
- getCreate Recovery Media for Discovered Entity
- getGet Linux Agent Packages
- getGet Unix Agent Packages
- getGet Agents Recovery Appliances
- getGet Agents Recovery Appliance
- postReboots Agents Recovery Appliances
- postReboots Agents Recovery Appliance
- Active Directory Domains
- 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
- Log export
The Backups section defines operations for managing backups that are created on or imported to the backup server.
Get All Backups
The HTTP GET request to the /api/v1/backups endpoint gets an array of all backups that are created on or imported to the backup server.
Available to: Backup Administrator, Backup Operator, Restore Operator, Backup Viewer, Security Administrator. Also available to custom roles that have backup or restore permissions.
query Parameters
| skip | integer <int32> Number of backups to skip. |
| limit | integer <int32> Default: 200 Maximum number of backups to return. |
| orderColumn | string (EBackupsFiltersOrderColumn) Sorts backups by one of the backup parameters. |
| orderAsc | boolean If |
| nameFilter | string Filters backups by the |
| createdAfterFilter | string <date-time> Returns backups that are created after the specified date and time. |
| createdBeforeFilter | string <date-time> Returns backups that are created before the specified date and time. |
| platformIdFilter | string <uuid> Filters backups by ID of the backup object platform. |
| jobIdFilter | string <uuid> Filters backups by ID of the parent job. |
| policyUniqueIdFilter | string Filters backups by retention policyUniqueId. |
| jobTypeFilter | string (EJobType) Filters backups by job type. |
header Parameters
| x-api-version required | string Default: 1.3-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": [
- {
- "platformName": "VMware",
- "id": "f3b0fbc5-01cf-4464-976a-4881e6eda067",
- "jobId": "53b87378-7958-477d-8def-fbe6740d4b6f",
- "jobType": "VSphereBackup",
- "policyUniqueId": "",
- "name": "Oracle Backup",
- "platformId": "00000000-0000-0000-0000-000000000000",
- "creationTime": "2024-02-12T02:24:16.2+01:00",
- "repositoryId": "88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec",
- "repositoryName": "Repository 1"
}, - {
- "platformName": "CustomPlatform",
- "id": "b2f9f40f-7944-498f-baff-175e18558829",
- "jobId": "00000000-0000-0000-0000-000000000000",
- "jobType": "BackupCopy",
- "policyUniqueId": "",
- "name": "Oracle Backup",
- "platformId": "c8098b32-9700-459b-b27c-4dceaf4ea932",
- "creationTime": "2023-11-13T14:34:21+01:00",
- "repositoryId": "49607f55-4cc4-4ea5-a2c9-e750318d0f34",
- "repositoryName": "Repository 2"
}
], - "pagination": {
- "total": 2,
- "count": 2,
- "skip": 0,
- "limit": 200
}
}Get Backup
The HTTP GET request to the /api/v1/backups/{id} endpoint gets a backup that has the specified id.
Available to: Backup Administrator, Backup Operator, Restore Operator, Backup Viewer, Security Administrator. Also available to custom roles that have backup or restore permissions.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
header Parameters
| x-api-version required | string Default: 1.3-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
{- "platformName": "VMware",
- "jobType": "VSphereBackup",
- "id": "5a39b6d1-008c-4518-bb08-869221b61235",
- "jobId": "02c7f07b-0fb0-4cd6-8601-3ddf1002b189",
- "policyUniqueId": "02c7f07b-0fb0-4cd6-8601-3ddf1002b189",
- "name": "PostgreSQL backup job",
- "platformId": "00000000-0000-0000-0000-000000000000",
- "creationTime": "2025-07-09T10:58:28.24213+02:00",
- "repositoryId": "88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec",
- "repositoryName": "Default Backup Repository"
}Delete Backup
The HTTP DELETE request to the /api/v1/backups/{id} endpoint deletes a backup that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
query Parameters
| fromDBIfSPUnavailable | boolean (Only for Veeam Cloud Connect infrastructure) If |
| includeGFS | boolean If |
| fromDB | boolean If |
header Parameters
| x-api-version required | string Default: 1.3-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
- 201
- 401
- 403
- 404
- 500
{- "sessionType": "ConfigurationBackup",
- "state": "Stopped",
- "id": "f848e90c-7f37-4ff5-9d55-04e33f8a4de3",
- "name": "Backup Configuration Job",
- "jobId": "99d1bf3d-e2e0-4bec-b2b3-820c0b87d212",
- "creationTime": "2023-11-08T10:00:12.56+01:00",
- "endTime": "2023-11-08T10:00:34.017+01:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}View Backup Details
The HTTP POST request to the /api/v1/backups/{id}/details endpoint gets details of a backup that has the specified id.
Available to: Backup Administrator, Backup Operator, Backup Viewer, Restore Operator, Security Administrator. Also available to custom roles that have backup or restore permissions.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
header Parameters
| x-api-version required | string Default: 1.3-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
| objectId | string <uuid> Object ID. |
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.
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
{- "objectId": "4d2e7a91-6c3b-4f80-9a15-8e7d3b0c6a21"
}- 200
- 400
- 401
- 403
- 404
- 500
{- "objectOriginalSize": 107374182400,
- "backupSize": 53687091200,
- "actualSize": 32212254720,
- "restorePointsCount": 14
}Get Backup Objects
The HTTP GET request to the /api/v1/backups/{id}/objects endpoint gets an array of virtual infrastructure objects (VMs and VM containers) that are included in a backup that has the specified id.
Types of backup objects differ depending on the backup job platform:
- Backups of VMware vSphere, Microsoft Hyper-V, Nutanix AHV, and Proxmox VE jobs contain VMs only.
- Backups of VMware Cloud Director jobs contain VMs and vApps.
Available to: Backup Administrator, Backup Operator, Restore Operator, Backup Viewer, Security Administrator. Also available to custom roles that have backup or restore permissions.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
query Parameters
| skip | integer <int32> Number of items to skip. |
| limit | integer <int32> Default: 200 Maximum number of items to return. |
header Parameters
| x-api-version required | string Default: 1.3-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
{- "data": [
- {
- "viType": "VirtualMachine",
- "objectId": "503",
- "path": "172.17.42.92\\DLDC",
- "platformName": "VMware",
- "backupId": "d0323af1-0fcc-4e80-b3a0-76f10234d494",
- "id": "2a192b21-4d32-4b94-829e-231e8f0c0355",
- "name": "DLDC",
- "type": "VM",
- "platformId": "00000000-0000-0000-0000-000000000000",
- "restorePointsCount": 3,
- "size": 10737418240
}
], - "pagination": {
- "total": 1,
- "count": 1,
- "skip": 0,
- "limit": 1
}
}Delete Backup Object
The HTTP DELETE request to the /api/v1/backups/{id}/objects/{objectId} endpoint deletes an infrastructure object (VM or VM container) included in a backup that has the specified id.
Types of backup objects differ depending on the backup job platform:
- Backups of VMware vSphere, Microsoft Hyper-V, Nutanix AHV, and Proxmox VE jobs contain VMs only.
- Backups of VMware Cloud Director jobs contain VMs and vApps.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
| objectId required | string <uuid> Object ID. To get the ID, run the Get All Backup Objects request. |
query Parameters
| fromDBIfSPUnavailable | boolean (Only for Veeam Cloud Connect infrastructure) If |
| includeGFS | boolean If |
header Parameters
| x-api-version required | string Default: 1.3-rev2 Version and revision of the client REST API. Must be in the following format: |
A DeleteBackup session has been created to delete the backup. 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": "ConfigurationBackup",
- "state": "Stopped",
- "id": "f848e90c-7f37-4ff5-9d55-04e33f8a4de3",
- "name": "Backup Configuration Job",
- "jobId": "99d1bf3d-e2e0-4bec-b2b3-820c0b87d212",
- "creationTime": "2023-11-08T10:00:12.56+01:00",
- "endTime": "2023-11-08T10:00:34.017+01:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}Download Backup Metadata
The HTTP POST request to the /api/v1/backups/{id}/downloadBackupMeta endpoint downloads metadata of a backup that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
header Parameters
| x-api-version required | string Default: 1.3-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonoptional
| targetRepositoryId | string <uuid> ID of the repository where the backup metadata will be stored. Must be omitted for Direct to object storage backup with fixed cache repository. Required otherwise. |
object (UnstructuredDataColdStorageRetrievalSettings) Settings for retrieving data from cold storage. |
An UnstructuredDownloadMeta session has been created to download the backup metadata. 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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "targetRepositoryId": "8c5a2f70-1d93-4b6e-a0f8-3e2c7b9d4a16",
- "coldStorageRetrievalSettings": {
- "coldStorageRetrievalMode": "AmazonBulk",
- "availabilityPeriodDays": 7,
- "sendNotificationMail": true,
- "notificationHours": 24
}
}- 201
- 401
- 403
- 404
- 500
{- "sessionType": "ConfigurationBackup",
- "state": "Stopped",
- "id": "f848e90c-7f37-4ff5-9d55-04e33f8a4de3",
- "name": "Backup Configuration Job",
- "jobId": "99d1bf3d-e2e0-4bec-b2b3-820c0b87d212",
- "creationTime": "2023-11-08T10:00:12.56+01:00",
- "endTime": "2023-11-08T10:00:34.017+01:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}Get All Backup Files
The HTTP GET request to the /api/v1/backups/{id}/backupFiles endpoint gets an array of all backup files in a backup that has the specified id.
Available to: Backup Administrator, Backup Operator, Restore Operator, Backup Viewer. Also available to custom roles that have backup or restore permissions.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
query Parameters
| skip | integer <int32> Number of backup files to skip. |
| limit | integer <int32> Default: 200 Maximum number of backup files to return. |
| orderColumn | string (EBackupFilesFiltersOrderColumn) Sorts backup files by one of the backup file parameters. |
| orderAsc | boolean If |
| nameFilter | string Filters backup files by the |
| createdAfterFilter | string <date-time> Returns backup files that are created after the specified date and time. |
| createdBeforeFilter | string <date-time> Returns backup files that are created before the specified date and time. |
| gfsPeriodFilter | string (EBackupFileGFSPeriod) Filters backup files by GFS period. |
header Parameters
| x-api-version required | string Default: 1.3-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": "bfe4ce8a-a41e-4a86-aae6-1471fac1bb31",
- "name": "C:\\Backup\\SRV99_Administrator\\linbase02 AgentBackupJob\\AgentBackupJob_2024-11-06T003020.vib",
- "backupId": "00d9832b-0b4e-45fe-a284-0683e6c0e44c",
- "objectIds": [
- "00000000-0000-0000-0000-000000000000"
], - "restorePointIds": [
- "ab3361d3-df80-474d-b23f-ea9a498b9e8c"
], - "dataSize": 1203845162,
- "backupSize": 520585216,
- "dedupRatio": 81,
- "compressRatio": 53,
- "creationTime": "2024-11-06T00:30:20",
- "gfsPeriods": [
- "None"
]
}, - {
- "id": "599b962d-6e8b-456f-a2eb-ca734686ff20",
- "name": "C:\\Backup\\SRV99_Administrator\\linbase02 AgentBackupJob\\AgentBackupJob_2024-11-05T003013.vib",
- "backupId": "00d9832b-0b4e-45fe-a284-0683e6c0e44c",
- "objectIds": [
- "00000000-0000-0000-0000-000000000000"
], - "restorePointIds": [
- "bdcbf817-330e-45e3-aa8c-1ab3180719c3"
], - "dataSize": 1659975722,
- "backupSize": 191586304,
- "dedupRatio": 49,
- "compressRatio": 23,
- "creationTime": "2024-11-05T00:30:13",
- "gfsPeriods": [
- "None"
]
}, - {
- "id": "5213d3d6-4111-4104-bf5f-6b6e972c8e25",
- "name": "C:\\Backup\\SRV99_Administrator\\linbase02 AgentBackupJob\\AgentBackupJob_2024-11-04T164443.vbk",
- "backupId": "00d9832b-0b4e-45fe-a284-0683e6c0e44c",
- "objectIds": [
- "00000000-0000-0000-0000-000000000000"
], - "restorePointIds": [
- "2619492a-22e9-4e97-b5b1-3e906284e543"
], - "dataSize": 21474916348,
- "backupSize": 8005099520,
- "dedupRatio": 73,
- "compressRatio": 50,
- "creationTime": "2024-11-04T16:44:43",
- "gfsPeriods": [
- "None"
]
}
], - "pagination": {
- "total": 3,
- "count": 3,
- "skip": 0,
- "limit": 200
}
}Get Backup File
The HTTP GET request to the /api/v1/backups/{id}/backupFiles/{backupFileId} endpoint gets a backup file with the specified id.
Available to: Backup Administrator, Backup Operator, Restore Operator, Backup Viewer. Also available to custom roles that have backup or restore permissions.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
| backupFileId required | string <uuid> Backup file ID. To get the ID, run the Get All Backup Files request. |
header Parameters
| x-api-version required | string Default: 1.3-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": "bfe4ce8a-a41e-4a86-aae6-1471fac1bb31",
- "name": "C:\\Backup\\SRV99_Administrator\\linbase02 AgentBackupJob\\AgentBackupJob_2024-11-06T003020.vib",
- "backupId": "00d9832b-0b4e-45fe-a284-0683e6c0e44c",
- "objectIds": [
- "00000000-0000-0000-0000-000000000000"
], - "restorePointIds": [
- "ab3361d3-df80-474d-b23f-ea9a498b9e8c"
], - "dataSize": 1203845162,
- "backupSize": 520585216,
- "dedupRatio": 81,
- "compressRatio": 53,
- "creationTime": "2024-11-06T00:30:20",
- "gfsPeriods": [
- "None"
]
}Mark Backup File as Clean
The HTTP POST request to the /api/v1/backups/{id}/backupFiles/{backupFileId}/markAsClean endpoint marks a backup file as clean.
Available to: Backup Administrator, Incident API Operator.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
| backupFileId required | string <uuid> Backup file ID. To get the ID, run the Get All Backup Files request. |
header Parameters
| x-api-version required | string Default: 1.3-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": "bfe4ce8a-a41e-4a86-aae6-1471fac1bb31",
- "name": "C:\\Backup\\SRV99_Administrator\\linbase02 AgentBackupJob\\AgentBackupJob_2024-11-06T003020.vib",
- "backupId": "00d9832b-0b4e-45fe-a284-0683e6c0e44c",
- "objectIds": [
- "00000000-0000-0000-0000-000000000000"
], - "restorePointIds": [
- "ab3361d3-df80-474d-b23f-ea9a498b9e8c"
], - "dataSize": 1203845162,
- "backupSize": 520585216,
- "dedupRatio": 81,
- "compressRatio": 53,
- "creationTime": "2024-11-06T00:30:20",
- "gfsPeriods": [
- "None"
]
}Mark Backup File as Infected
The HTTP POST request to the /api/v1/backups/{id}/backupFiles/{backupFileId}/markAsInfected endpoint marks a backup file as infected.
Available to: Backup Administrator, Incident API Operator.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
| backupFileId required | string <uuid> Backup file ID. To get the ID, run the Get All Backup Files request. |
header Parameters
| x-api-version required | string Default: 1.3-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": "bfe4ce8a-a41e-4a86-aae6-1471fac1bb31",
- "name": "C:\\Backup\\SRV99_Administrator\\linbase02 AgentBackupJob\\AgentBackupJob_2024-11-06T003020.vib",
- "backupId": "00d9832b-0b4e-45fe-a284-0683e6c0e44c",
- "objectIds": [
- "00000000-0000-0000-0000-000000000000"
], - "restorePointIds": [
- "ab3361d3-df80-474d-b23f-ea9a498b9e8c"
], - "dataSize": 1203845162,
- "backupSize": 520585216,
- "dedupRatio": 81,
- "compressRatio": 53,
- "creationTime": "2024-11-06T00:30:20",
- "gfsPeriods": [
- "None"
]
}Run Health Check and Repair
The HTTP POST request to the /api/v1/backups/runHealthcheck endpoint runs health check and repair for unstructured data backups or backup jobs.
Available to: Backup Administrator.
header Parameters
| x-api-version required | string Default: 1.3-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/json
| backupIds | Array of strings <uuid> Array of IDs of unstructured data backups that you want to check or repair. To get the IDs, run the Get All Backups request. |
| jobIds | Array of strings <uuid> Array of IDs of unstructured data backup jobs that you want to check or repair. To get the IDs, run the Get All Jobs request. |
| isRepair | boolean If |
object (HealthCheckRepairOptions) Settings for repair of unstructured data backup or backup job. |
A FileBackupHealthCheck session has been created to check or repair unstructured data backups and backup jobs. 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
{- "backupIds": [
- "f3b0fbc5-01cf-4464-976a-4881e6eda067"
], - "jobIds": [
- "53b87378-7958-477d-8def-fbe6740d4b6f"
], - "isRepair": true,
- "repairOptions": {
- "removeNonRepairableDataIfNeeded": true,
- "restorePrimaryFromArchiveIfNeeded": true,
- "restoreArchiveFromPrimaryIfNeeded": false
}
}- 201
- 400
- 401
- 403
- 500
{- "data": [
- {
- "sessionType": "BackupJob",
- "state": "Stopped",
- "id": "c924ee2f-1197-4b37-8de3-009c1977f347",
- "name": "Backup Job 1",
- "jobId": "c05dfa57-f59a-4e90-8065-b7f5d3276406",
- "creationTime": "2023-12-04T06:13:34.983+01:00",
- "endTime": "2023-12-04T06:15:00.617+01:00",
- "progressPercent": 100,
- "result": {
- "result": "Failed",
- "message": "Creating synthetic full backup (22% done)",
- "isCanceled": false
}, - "resourceId": "c7478158-7c99-4bab-93b1-c3efdd1062fa",
- "resourceReference": "/api/v1/backups/c7478158-7c99-4bab-93b1-c3efdd1062fa",
- "usn": 0,
- "initiatedBy": "user"
}
], - "pagination": {
- "total": 307,
- "count": 1,
- "skip": 0,
- "limit": 1
}
}Copy Backups to Another Repository
The HTTP POST request to the /api/v1/backups/unstructuredData/copyTo endpoint performs a one-time copy of backups to a specified target repository and, if specified, archive repository. To create scheduled backup copy jobs, see the Jobs section.
Available to: Backup Administrator, Backup Operator. Also available to custom roles that have backup permissions.
header Parameters
| x-api-version required | string Default: 1.3-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
| backupIds required | Array of strings <uuid> Array of backup IDs whose data you want to copy. To get the IDs, run the Get All Backups request. |
| backupRepository required | string <uuid> Backup repository name. |
| archiveRepository | string <uuid> Archive repository name. |
object (UnstructuredDataColdStorageRetrievalSettings) Settings for retrieving data from cold storage. |
A CopyBackup session has been created to copy backups to another backup and archive repository. 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
{- "backupIds": [
- "00d9832b-0b4e-45fe-a284-0683e6c0e44c",
- "11a2843c-2c6e-45fe-b394-1784e7c1b55d"
], - "backupRepository": "49607f55-4cc4-4ea5-a2c9-e750318d0f34",
- "archiveRepository": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}- 201
- 400
- 401
- 403
- 500
{- "sessionType": "ConfigurationBackup",
- "state": "Stopped",
- "id": "f848e90c-7f37-4ff5-9d55-04e33f8a4de3",
- "name": "Backup Configuration Job",
- "jobId": "99d1bf3d-e2e0-4bec-b2b3-820c0b87d212",
- "creationTime": "2023-11-08T10:00:12.56+01:00",
- "endTime": "2023-11-08T10:00:34.017+01:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}Copy Machine Backups to Another Repository or Folder
The HTTP POST request to the /api/v1/backups/machines/copyTo endpoint performs a one-time copy of VM backups to a specified target repository or folder.
Available to: Backup Administrator, Backup Operator. Also available to custom roles that have backup permissions.
header Parameters
| x-api-version required | string Default: 1.3-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
Spec for copying VM backups to a backup repository or a folder.
| repositoryId required | string <uuid> ID of the target backup repository. Mutually exclusive with |
| backupId required | string <uuid> ID of the backup whose VM data is to be copied. To get the ID, run the Get All Backups request. |
| backupObjects | Array of strings <uuid> Array of backup object IDs to copy. If not specified, all objects in the specified backups are copied. To get the IDs, run the Get Backup Objects request. |
| targetFolder | string UNC or local path of the target folder. Mutually exclusive with |
| deleteAutomatically | boolean Default: false If |
| retentionPeriod | string (ECopyMachinesBackupsRetentionPeriod) Retention period after which the copied backup is automatically deleted. |
A CopyMachinesBackups session has been created to copy backups to another backup and archive repository. 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
{- "backupId": "c5d6e7f8-1234-5678-9abc-def012345678",
- "repositoryId": "49607f55-4cc4-4ea5-a2c9-e750318d0f34",
- "deleteAutomatically": true,
- "retentionPeriod": "In1Year"
}- 201
- 400
- 401
- 403
- 500
{- "sessionType": "ConfigurationBackup",
- "state": "Stopped",
- "id": "f848e90c-7f37-4ff5-9d55-04e33f8a4de3",
- "name": "Backup Configuration Job",
- "jobId": "99d1bf3d-e2e0-4bec-b2b3-820c0b87d212",
- "creationTime": "2023-11-08T10:00:12.56+01:00",
- "endTime": "2023-11-08T10:00:34.017+01:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}Move Backup to Another Repository
The HTTP POST request to the /api/v1/backups/{id}/moveTo endpoint moves a backup with the specified id to a specified target repository.
Available to: Backup Administrator. Also available to custom roles that have backup permissions.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
header Parameters
| x-api-version required | string Default: 1.3-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
| targetRepositoryId required | string <uuid> ID of the target backup repository. |
A MoveBackup session has been created to move the backup to another repository. 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
{- "targetRepositoryId": "49607f55-4cc4-4ea5-a2c9-e750318d0f34"
}- 201
- 400
- 401
- 403
- 500
{- "sessionType": "PerVmMoveBackup",
- "state": "Stopped",
- "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
- "name": "Move Backup",
- "jobId": "c05dfa57-f59a-4e90-8065-b7f5d3276406",
- "creationTime": "2026-06-18T10:30:00Z",
- "endTime": "2026-06-18T10:32:45Z",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}Move Backup Objects to Another Job
The HTTP POST request to the /api/v1/backups/{id}/objects/moveTo endpoint moves backup objects (virtual or physical machines) from a backup with the specified id to a specified target job.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Backup ID. To get the ID, run the Get All Backups request. |
query Parameters
| moveAssociatedBackupCopies | boolean Default: false If |
header Parameters
| x-api-version required | string Default: 1.3-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
| targetJobId required | string <uuid> ID of the target job to move the backup objects to. |
| backupObjects | Array of strings <uuid> Array of backup object IDs to move. If not specified, all objects in the backup are moved. To get the IDs, run the Get Backup Objects request. |
A MoveBackup session has been created to move backup objects to another job. 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
{- "backupObjects": [
- "a1b2c3d4-5678-9abc-def0-1234567890ab",
- "b2c3d4e5-6789-abcd-ef01-234567890abc"
], - "targetJobId": "11a2843c-2c6e-45fe-b394-1784e7c1b55d"
}- 201
- 400
- 401
- 403
- 500
{- "sessionType": "PerVmMoveBackup",
- "state": "Stopped",
- "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
- "name": "Move Backup",
- "jobId": "c05dfa57-f59a-4e90-8065-b7f5d3276406",
- "creationTime": "2026-06-18T10:30:00Z",
- "endTime": "2026-06-18T10:32:45Z",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}Get Move/Copy Backup Sessions Awaiting Action
The HTTP GET request to the /api/v1/backups/moveCopySessions endpoint gets an array of all Move/Copy backup sessions that are in the ActionRequired state and need user input to proceed (Retry, Detach failed, or Stop and undo).
Available to: Backup Administrator.
header Parameters
| x-api-version required | string Default: 1.3-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
[- {
- "sessionType": "PerVmMoveBackup",
- "state": "ActionRequired",
- "id": "7c1f0a2b-3d4e-4f56-8a90-1b2c3d4e5f60",
- "name": "Move Backup",
- "jobId": "a1b2c3d4-e5f6-4789-8abc-1234567890ab",
- "creationTime": "2026-07-08T10:00:12.56Z",
- "progressPercent": 65,
- "result": {
- "result": "Warning",
- "message": "The session requires user action: retry, detach failed, or stop and undo.",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}, - {
- "sessionType": "PerVmCopyBackup",
- "state": "ActionRequired",
- "id": "8d2a1b3c-4e5f-4061-9b01-2c3d4e5f6071",
- "name": "Copy Backup",
- "jobId": "b2c3d4e5-f6a7-4890-9bcd-234567890abc",
- "creationTime": "2026-07-08T22:00:05.12Z",
- "progressPercent": 80,
- "result": {
- "result": "Warning",
- "message": "The session requires user action: retry, detach failed, or stop and undo.",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}
]Manage a Move/Copy Backup Session Awaiting Action
The HTTP POST request to the /api/v1/backups/moveCopySessions/{sessionId}/manage endpoint executes a management action (Retry, Detach failed, or Stop and undo) on a Move/Copy backup session that is in the Action required state. The endpoint starts a new session that performs the requested action.
Available to: Backup Administrator.
path Parameters
| sessionId required | string <uuid> ID of the Move/Copy backup session to manage. To get the ID, run the Get Move/Copy Backup Sessions Awaiting Action request. |
header Parameters
| x-api-version required | string Default: 1.3-rev2 Version and revision of the client REST API. Must be in the following format: |
Request Body schema: application/jsonrequired
| action required | string (EMoveCopySessionAction) Action to perform on a Move/Copy backup session that is in the Action required state. |
A new session has been created to perform the requested management action on the Move/Copy backup session. 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
{- "action": "Retry"
}- 201
- 400
- 401
- 403
- 404
- 500
{- "sessionType": "PerVmMoveBackup",
- "state": "Stopped",
- "id": "b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e",
- "name": "Move Backup",
- "jobId": "c05dfa57-f59a-4e90-8065-b7f5d3276406",
- "creationTime": "2026-06-18T10:30:00Z",
- "endTime": "2026-06-18T10:32:45Z",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 0,
- "platformName": "VMware",
- "platformId": "00000000-0000-0000-0000-000000000000"
}