Backups

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.

SecurityBearer
Request
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.

Enum: "Name" "CreationTime" "PlatformId" "JobId" "PolicyTag"
orderAsc
boolean

If true, sorts backups in ascending order by the orderColumn parameter.

nameFilter
string

Filters backups by the nameFilter pattern. The pattern can match any backup parameter. To substitute one or more characters, use the asterisk (*) character at the beginning, at the end or both.

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.

Enum: "Unknown" "VSphereBackup" "HyperVBackup" "VSphereReplica" "CloudDirectorBackup" "EntraIDTenantBackup" "EntraIDAuditLogBackup" "FileBackupCopy" "LegacyBackupCopy" "BackupCopy" "WindowsAgentBackup" "LinuxAgentBackup" "FileBackup" "ObjectStorageBackup" "EntraIDTenantBackupCopy" "SureBackupContentScan" "CloudBackupAzure" "CloudBackupAWS" "CloudBackupGoogle" "WindowsAgentBackupWorkstationPolicy" "LinuxAgentBackupWorkstationPolicy" "WindowsAgentBackupServerPolicy" "LinuxAgentBackupServerPolicy" "NutanixAHVBackupJob" "ProxmoxBackupJob" "IrisBackup" "WindowsAgentBackupFailoverCluster"
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: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/backups
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

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.

SecurityBearer
Request
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: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/backups/{id}
Request samples
Response samples
application/json
{
  • "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.

SecurityBearer
Request
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 true, Veeam Backup & Replication deletes the backup record from the configuration database if the service provider is not available (for example, if a cloud gateway is down, a cloud repository is not available, or the Cloud Connect license is expired).

includeGFS
boolean

If true, Veeam Backup & Replication also deletes the backups with GFS flags (weekly, monthly and yearly full backups).

fromDB
boolean

If true, Veeam Backup & Replication deletes only the record of the backup from the configuration database and keeps the backup in the backup repository.

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: <version>-<revision>.

Responses
201

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

delete/api/v1/backups/{id}
Request samples
Response samples
application/json
{
  • "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": {
    },
  • "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.

SecurityBearer
Request
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: <version>-<revision>.

Request Body schema: application/json
required
objectId
string <uuid>

Object ID.

Responses
200

OK

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/{id}/details
Request samples
application/json
{
  • "objectId": "4d2e7a91-6c3b-4f80-9a15-8e7d3b0c6a21"
}
Response samples
application/json
{
  • "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.

SecurityBearer
Request
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: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/backups/{id}/objects
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

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.

SecurityBearer
Request
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 true, Veeam Backup & Replication deletes the backup record from the configuration database if the service provider is not available (for example, if a cloud gateway is down, a cloud repository is not available, or the Cloud Connect license is expired).

includeGFS
boolean

If true, Veeam Backup & Replication also deletes the backups with GFS flags (weekly, monthly and yearly full backups).

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: <version>-<revision>.

Responses
201

A DeleteBackup session has been created to delete the backup. To check the progress, track the session state.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

delete/api/v1/backups/{id}/objects/{objectId}
Request samples
Response samples
application/json
{
  • "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": {
    },
  • "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.

SecurityBearer
Request
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: <version>-<revision>.

Request Body schema: application/json
optional
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.

Responses
201

An UnstructuredDownloadMeta session has been created to download the backup metadata. To check the progress, track the session state.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/{id}/downloadBackupMeta
Request samples
application/json
{
  • "targetRepositoryId": "8c5a2f70-1d93-4b6e-a0f8-3e2c7b9d4a16",
  • "coldStorageRetrievalSettings": {
    }
}
Response samples
application/json
{
  • "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": {
    },
  • "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.

SecurityBearer
Request
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.

Enum: "Name" "DataSize" "BackupSize" "DedupRatio" "CompressRatio" "CreationTime" "GFSPeriod"
orderAsc
boolean

If true, sorts backup files in ascending order by the orderColumn parameter.

nameFilter
string

Filters backup files by the nameFilter pattern. The pattern can match any backup files parameter. To substitute one or more characters, use the asterisk (*) character at the beginning, at the end or both.

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.

Enum: "None" "Weekly" "Monthly" "Quarterly" "Yearly"
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: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/backups/{id}/backupFiles
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

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.

SecurityBearer
Request
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: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/backups/{id}/backupFiles/{backupFileId}
Request samples
Response samples
application/json
{
  • "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": [
    ],
  • "restorePointIds": [
    ],
  • "dataSize": 1203845162,
  • "backupSize": 520585216,
  • "dedupRatio": 81,
  • "compressRatio": 53,
  • "creationTime": "2024-11-06T00:30:20",
  • "gfsPeriods": [
    ]
}

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.

SecurityBearer
Request
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: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/{id}/backupFiles/{backupFileId}/markAsClean
Request samples
Response samples
application/json
{
  • "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": [
    ],
  • "restorePointIds": [
    ],
  • "dataSize": 1203845162,
  • "backupSize": 520585216,
  • "dedupRatio": 81,
  • "compressRatio": 53,
  • "creationTime": "2024-11-06T00:30:20",
  • "gfsPeriods": [
    ]
}

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.

SecurityBearer
Request
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: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/{id}/backupFiles/{backupFileId}/markAsInfected
Request samples
Response samples
application/json
{
  • "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": [
    ],
  • "restorePointIds": [
    ],
  • "dataSize": 1203845162,
  • "backupSize": 520585216,
  • "dedupRatio": 81,
  • "compressRatio": 53,
  • "creationTime": "2024-11-06T00:30:20",
  • "gfsPeriods": [
    ]
}

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.

SecurityBearer
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: <version>-<revision>.

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 true, Veeam Backup & Replication will repair corrupted data.

object (HealthCheckRepairOptions)

Settings for repair of unstructured data backup or backup job.

Responses
201

A FileBackupHealthCheck session has been created to check or repair unstructured data backups and backup jobs. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/runHealthcheck
Request samples
application/json
{
  • "backupIds": [
    ],
  • "jobIds": [
    ],
  • "isRepair": true,
  • "repairOptions": {
    }
}
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

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.

SecurityBearer
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: <version>-<revision>.

Request Body schema: application/json
required
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.

Responses
201

A CopyBackup session has been created to copy backups to another backup and archive repository. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/unstructuredData/copyTo
Request samples
application/json
{
  • "backupIds": [
    ],
  • "backupRepository": "49607f55-4cc4-4ea5-a2c9-e750318d0f34",
  • "archiveRepository": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
Response samples
application/json
{
  • "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": {
    },
  • "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.

SecurityBearer
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: <version>-<revision>.

Request Body schema: application/json
required
One of:

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

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

deleteAutomatically
boolean
Default: false

If true, the copied backup will be automatically deleted after the period specified in retentionPeriod.

retentionPeriod
string (ECopyMachinesBackupsRetentionPeriod)

Retention period after which the copied backup is automatically deleted.

Enum: "In1Week" "In2Weeks" "In1Month" "In3Months" "In6Months" "In1Year" "In2Years" "In3Years" "In5Years" "In7Years"
Responses
201

A CopyMachinesBackups session has been created to copy backups to another backup and archive repository. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/machines/copyTo
Request samples
application/json
{
  • "backupId": "c5d6e7f8-1234-5678-9abc-def012345678",
  • "repositoryId": "49607f55-4cc4-4ea5-a2c9-e750318d0f34",
  • "deleteAutomatically": true,
  • "retentionPeriod": "In1Year"
}
Response samples
application/json
{
  • "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": {
    },
  • "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.

SecurityBearer
Request
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: <version>-<revision>.

Request Body schema: application/json
required
targetRepositoryId
required
string <uuid>

ID of the target backup repository.

Responses
201

A MoveBackup session has been created to move the backup to another repository. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/{id}/moveTo
Request samples
application/json
{
  • "targetRepositoryId": "49607f55-4cc4-4ea5-a2c9-e750318d0f34"
}
Response samples
application/json
{
  • "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": {
    },
  • "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.

SecurityBearer
Request
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 true, moving backups between primary backup jobs will also move backups between the associated backup copy jobs, preventing a new full backup from being created for the impacted backup copy job on its next run. The request is rejected with HTTP 400 if the source or target job has more than one associated backup copy job — in that case move the affected backup copies manually between the copy jobs. For other topologies where automatic move is not supported (no associated backup copy jobs are found, or any associated backup copy job uses a cloud repository), the flag is silently ignored, only the primary backup is moved, and a warning is added to the session log. Note: if any moved backup is used as a source by another backup copy job, a new full backup will still be created for that impacted backup copy job on its next run.

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: <version>-<revision>.

Request Body schema: application/json
required
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.

Responses
201

A MoveBackup session has been created to move backup objects to another job. To check the progress, track the session state.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/{id}/objects/moveTo
Request samples
application/json
{
  • "backupObjects": [
    ],
  • "targetJobId": "11a2843c-2c6e-45fe-b394-1784e7c1b55d"
}
Response samples
application/json
{
  • "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": {
    },
  • "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.

SecurityBearer
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: <version>-<revision>.

Responses
200

OK

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/backups/moveCopySessions
Request samples
Response samples
application/json
[
  • {
    },
  • {
    }
]

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.

SecurityBearer
Request
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: <version>-<revision>.

Request Body schema: application/json
required
action
required
string (EMoveCopySessionAction)

Action to perform on a Move/Copy backup session that is in the Action required state.

Enum: "Retry" "ForgetFailed" "StopAndUndo"
Responses
201

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.

400

Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.

404

Not found. No object was found with the path parameter specified in the request.

500

Internal server error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/backups/moveCopySessions/{sessionId}/manage
Request samples
application/json
{
  • "action": "Retry"
}
Response samples
application/json
{
  • "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": {
    },
  • "usn": 0,
  • "platformName": "VMware",
  • "platformId": "00000000-0000-0000-0000-000000000000"
}