- 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 Agents section defines operations for working with protection groups, obtaining protected computers, managing Veeam Agent and other Veeam components on the computers and handling recovery tokens used for bare metal recovery.
Get All Recovery Tokens
The HTTP GET request to the /api/v1/agents/recoveryTokens endpoint gets an array of all recovery tokens.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore permissions.
query Parameters
| skip | integer <int32> Number of recovery tokens to skip. |
| limit | integer <int32> Default: 200 Maximum number of recovery tokens to return. |
| orderColumn | string (EComputerRecoveryTokenFiltersOrderColumn) Sorts recovery tokens by one of the parameters. |
| orderAsc | boolean If |
| nameFilter | string Filters recovery tokens by the |
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": "a2f6c81d-3e94-4b27-8d5a-1c0e9f7b6a32",
- "name": "Recovery token for enterprise01",
- "recoveryToken": "ASD-123-DSA-321-QWE-456",
- "expirationDate": "2026-06-19T10:45:00Z"
}, - {
- "id": "f7b0a493-2c1d-4e86-9a5b-3d8e1f6c0a27",
- "name": "Recovery token for enterprise02",
- "recoveryToken": "ZXC-789-CXZ-987-RTY-654",
- "expirationDate": "2026-07-01T09:30:00Z"
}
], - "pagination": {
- "total": 2,
- "count": 2,
- "skip": 0,
- "limit": 100
}
}Create Recovery Token
The HTTP POST request to the /api/v1/agents/recoveryTokens endpoint creates a new recovery token.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore 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 restore with the recovery token. |
| expirationDate required | string <date-time> Date and time when the recovery token expires. |
Recovery token has been created.
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": [
- "3a1f6c92-7b8d-4e05-9c2a-1d6e0f4b8a37"
], - "expirationDate": "2026-06-19T10:45:00Z"
}- 201
- 400
- 401
- 403
- 500
{- "id": "a2f6c81d-3e94-4b27-8d5a-1c0e9f7b6a32",
- "name": "Recovery token for enterprise01",
- "recoveryToken": "ASD-123-DSA-321-QWE-456",
- "expirationDate": "2026-06-19T10:45:00Z"
}Get Recovery Token
The HTTP GET request to the /api/v1/agents/recoveryTokens/{id} endpoint gets a recovery token that has the specified id.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore permissions.
path Parameters
| id required | string <uuid> Recovery token ID. To get the ID, run the Get All Recovery Tokens 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": "a2f6c81d-3e94-4b27-8d5a-1c0e9f7b6a32",
- "name": "Recovery token for enterprise01",
- "recoveryToken": "ASD-123-DSA-321-QWE-456",
- "expirationDate": "2026-06-19T10:45:00Z"
}Edit Recovery Token
The HTTP PUT request to the /api/v1/agents/recoveryTokens/{id} endpoint edits settings of a recovery token that has the specified id.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore permissions.
path Parameters
| id required | string <uuid> Recovery token ID. To get the ID, run the Get All Recovery Tokens 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
| id required | string <uuid> ID of the recovery token. |
| name required | string Friendly name of the recovery token. |
| expirationDate required | string <date-time> Date and time when the recovery token expires. |
| recoveryToken | string Recovery token value. |
Recovery token has been updated.
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "id": "a2f6c81d-3e94-4b27-8d5a-1c0e9f7b6a32",
- "name": "Recovery token for enterprise01",
- "recoveryToken": "ASD-123-DSA-321-QWE-456",
- "expirationDate": "2026-06-19T10:45:00Z"
}- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "a2f6c81d-3e94-4b27-8d5a-1c0e9f7b6a32",
- "name": "Recovery token for enterprise01",
- "recoveryToken": "ASD-123-DSA-321-QWE-456",
- "expirationDate": "2026-06-19T10:45:00Z"
}Delete Recovery Token
The HTTP DELETE request to the /api/v1/agents/recoveryTokens/{id} endpoint deletes a recovery token that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Recovery token ID. To get the ID, run the Get All Recovery Tokens 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: |
Token has been deleted.
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
- 401
- 403
- 404
- 500
{- "errorCode": "AccessDenied",
- "message": "Unauthorized. Get bearer JWT token at /api/login"
}Get All Protected Linux ComputersDeprecated
The HTTP GET request to the /api/v1/agents/protectedComputers endpoint gets an array of all protected Linux computers.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore permissions.
query Parameters
| skip | integer <int32> Number of protected computers to skip. |
| limit | integer <int32> Default: 200 Maximum number of protected computers to return. |
| orderColumn | string (EProtectedComputerFiltersOrderColumn) Sorts protected computers by one of the protected computer parameters. |
| orderAsc | boolean If |
| nameFilter | string Filters protected computers by the |
| typeFilter | string (EProtectedComputerType) Filters protected computers by protected computer 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.
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": [
- {
- "id": "d6e1f7b0-4a93-4c28-8b5a-2c0e9f3b6a14",
- "name": "enterprise01.tech.local",
- "type": "Linux",
- "protectionGroups": [
- {
- "id": "b4a93d6e-1f70-4c82-9a5b-3d8e1f6c0a25",
- "name": "Linux Servers",
- "credentialsId": "e2a19f3b-6c4d-4870-8a5c-1d6e0f7b4a38"
}
]
}, - {
- "id": "1f7b0a49-3c2d-4e86-9a5b-3d8e1f6c0a27",
- "name": "enterprise02.tech.local",
- "type": "Linux",
- "protectionGroups": [
- {
- "id": "b4a93d6e-1f70-4c82-9a5b-3d8e1f6c0a25",
- "name": "Linux Servers",
- "credentialsId": "e2a19f3b-6c4d-4870-8a5c-1d6e0f7b4a38"
}
]
}
], - "pagination": {
- "total": 2,
- "count": 2,
- "skip": 0,
- "limit": 100
}
}Get Protected Linux ComputerDeprecated
The HTTP GET request to the /api/v1/agents/protectedComputers/{id} endpoint gets a protected Linux computer that has the specified id.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore permissions.
path Parameters
| id required | string <uuid> ID of the protected computer. |
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": "d6e1f7b0-4a93-4c28-8b5a-2c0e9f3b6a14",
- "name": "enterprise01.tech.local",
- "type": "Linux",
- "protectionGroups": [
- {
- "id": "b4a93d6e-1f70-4c82-9a5b-3d8e1f6c0a25",
- "name": "Linux Servers",
- "credentialsId": "e2a19f3b-6c4d-4870-8a5c-1d6e0f7b4a38"
}
]
}Get All Discovered Entities
The HTTP GET request to the /api/v1/agents/discoveredEntities endpoint gets an array of discovered entities across all protection groups.
Available to: Backup Administrator, Restore Operator.
query Parameters
| skip | integer <int32> Number of discovered entities to skip. |
| limit | integer <int32> Default: 200 Maximum number of discovered entities to return. |
| orderColumn | string (EDiscoveredEntityFiltersOrderColumn) Sorts discovered entities by one of the discovered entity parameters. |
| orderAsc | boolean Sorts discovered entities in ascending order by the |
| nameFilter | string Filters discovered entities by the |
| ipAddressFilter | string Filters discovered entities by the |
| stateFilter | string Filters discovered entities by their states. |
| agentStatusFilter | string Filters discovered entities by the installed agent status. |
| driverStatusFilter | string Filters discovered entities by the installed driver status. |
| permissionScope | string (EInventoryPermissionScope) Permission scope type (advanced RBAC) for filtering discovered entities across all protection groups. Must be specified for custom roles. If the value is |
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": [
- {
- "state": "Online",
- "agentStatus": "Installed",
- "driverStatus": "Installed",
- "operatingSystem": "WindowsServer2022",
- "operatingSystemPlatform": "X64",
- "agentVersion": "13.0.0.632",
- "driverVersion": "Veeam Volume CT Driver (13.0.0.12)",
- "rebootRequired": false,
- "ipAddresses": [
- "172.24.29.220"
], - "lastConnected": "2025-04-22T19:01:26.588034",
- "operatingSystemVersion": "Microsoft Windows Server 2022 (21H2, 64-bit)",
- "operatingSystemUpdateVersion": 2109,
- "objectId": "cb324094-3476-4b8e-92fd-94ff8bfcb7cf",
- "biosUuid": "d8ad2542-9d46-e67e-7b05-efd2dc8e2595",
- "plugins": [
- {
- "type": "MSSQL",
- "status": "Installed",
- "version": "13.0.0.4695"
}, - {
- "type": "OracleRMAN",
- "status": "NotInstalled"
}, - {
- "type": "SAPHANA",
- "status": "NotInstalled"
}, - {
- "type": "SAPOnOracle",
- "status": "NotInstalled"
}
], - "embeddedRecoveryMediaState": {
- "state": "Created",
- "lastUpdateDate": "2026-01-23T13:53:42+01:00",
- "message": ""
}, - "type": "Computer",
- "id": "7e76a5bb-287a-490e-ae0a-5e852ea775ee",
- "name": "dlsql03",
- "parentId": "15aa12f6-6078-4e2f-8a90-0a3d496d6f77",
- "protectionGroupId": "c2600b42-7c64-4219-a447-95bd33e70c1a",
- "isTrusted": true
}
], - "pagination": {
- "total": 1,
- "count": 1,
- "skip": 0,
- "limit": 200
}
}Get All Agent States
The HTTP GET request to the /api/v1/agents/discoveredEntities/states endpoint gets an array of all agent states.
Available to: Backup Administrator, Restore Operator.
query Parameters
| skip | integer <int32> Number of agent states to skip. |
| limit | integer <int32> Default: 200 Maximum number of agent states to return. |
| orderAsc | boolean If |
| nameFilter | string Filters agent states by the |
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": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
- "name": "Agent-Workstation-01",
- "status": "Online"
}, - {
- "id": "b2c3d4e5-6789-01bc-def2-2345678901bc",
- "name": "Agent-Server-02",
- "status": "Offline"
}, - {
- "id": "c3d4e5f6-7890-12cd-ef34-3456789012cd",
- "name": "Agent-Laptop-03",
- "status": "Online"
}
], - "pagination": {
- "total": 3,
- "count": 3,
- "skip": 0,
- "limit": 200
}
}Get Agent State
The HTTP GET request to the /api/v1/agents/discoveredEntities/states/{id} endpoint gets an agent state that has the specified id.
Available to: Backup Administrator, Restore Operator.
path Parameters
| id required | string <uuid> ID of the agent. |
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": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
- "name": "Agent-Workstation-01",
- "status": "Online"
}Get Agent Backups
The HTTP GET request to the /api/v1/agents/discoveredEntities/{id}/backups endpoint gets an array of backups owned by the agent with the specified id.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have backup or restore permissions.
path Parameters
| id required | string <uuid> ID of the agent. |
query Parameters
| skip | integer <int32> Number of backups to skip. |
| limit | integer <int32> Default: 200 Maximum number of backups 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": [
- {
- "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
}
}Attach Backups to Agent
The HTTP POST request to the /api/v1/agents/discoveredEntities/{id}/attachBackup endpoint attaches backup ownership to the agent with the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> ID of the agent. |
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
Array of backup IDs to attach.
| backupIds required | Array of strings <uuid> Array of backup IDs. |
Backups have been attached to the agent.
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
{- "backupIds": [
- "3a1f6c92-7b8d-4e05-9c2a-1d6e0f4b8a37",
- "c8d4e2a1-9f3b-4760-8a5c-2e1d7f6b0a49"
]
}- 400
- 401
- 403
- 404
- 500
{- "errorCode": "UnexpectedContent",
- "message": "One or more request parameters are not valid."
}Detach Backups from Agent
The HTTP POST request to the /api/v1/agents/discoveredEntities/{id}/detachBackup endpoint detaches backup ownership from the agent with the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> ID of the agent. |
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
Array of backup IDs to detach.
| backupIds required | Array of strings <uuid> Array of backup IDs. |
Backups have been detached from the agent.
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
{- "backupIds": [
- "3a1f6c92-7b8d-4e05-9c2a-1d6e0f4b8a37",
- "c8d4e2a1-9f3b-4760-8a5c-2e1d7f6b0a49"
]
}- 400
- 401
- 403
- 404
- 500
{- "errorCode": "UnexpectedContent",
- "message": "One or more request parameters are not valid."
}Get Protection Groups
The HTTP GET request to the /api/v1/agents/protectionGroups endpoint gets an array of protection groups that are added to the physical and cloud infrastructure.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have backup or restore permissions.
query Parameters
| skip | integer <int32> Number of protection groups to skip. |
| limit | integer <int32> Default: 200 Maximum number of protection groups to return. |
| orderColumn | string (EProtectionGroupFiltersOrderColumn) Sorts protection groups by one of the protection group parameters. |
| orderAsc | boolean Sorts protection groups in ascending order by the |
| nameFilter | string Filters protection groups by the |
| typeFilter | string (EProtectionGroupType) Filters protection groups by protection group type. The |
| permissionScope | string (EInventoryPermissionScope) Permission scope type (advanced RBAC) for filtering protection groups. Must be specified for custom roles. If the value is |
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
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.
- curl
- Python
- JavaScript
- C#
- Go
- 200
- 400
- 401
- 403
- 500
{- "data": [
- {
- "computers": [ ],
- "options": {
- "rescanSchedule": {
- "daily": {
- "dailyKind": "Everyday",
- "isEnabled": true,
- "localTime": "22:00",
- "days": [
- "monday",
- "tuesday",
- "wednesday",
- "thursday",
- "friday",
- "saturday",
- "sunday"
]
}, - "periodically": {
- "periodicallyKind": "Hours",
- "isEnabled": false,
- "frequency": 1,
- "backupWindow": {
- "days": [
- {
- "day": "sunday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "monday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "tuesday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "wednesday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "thursday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "friday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "saturday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}
]
}, - "startTimeWithinAnHour": 0
}
}, - "distributionServerId": "6745a759-2205-4cd2-b172-8ec8f7e60ef8",
- "distributionRepositoryId": "00000000-0000-0000-0000-000000000000",
- "installBackupAgent": true,
- "installCBTDriver": false,
- "installApplicationPlugins": false,
- "applicationPlugins": [ ],
- "updateAutomatically": true,
- "rebootIfRequired": false,
- "advancedSettings": {
- "windowsAgentSettings": {
- "throttlingUnit": "MbitPerSpec",
- "agentThrottlingTarget": "Workstations",
- "throttlingEnabled": false,
- "throttlingValue": 1,
- "restrictBackupOverMeteredConnection": true,
- "restrictBackupOverVPNConnection": false,
- "useSpecifiedWifiNetworks": false,
- "wifiNetworks": [ ],
- "agentThrottlingEnabled": true,
- "FLRWithoutAdminAccountEnabled": false,
- "createEmbeddedRecoveryMedia": false
}, - "notifications": {
- "isEnabled": false
}
}
}, - "type": "ManuallyAdded",
- "id": "730dc485-84c2-4a9d-86e7-2e35d1d5a0be",
- "name": "Manually Added",
- "description": "Contains manually added computers"
}, - {
- "computers": [
- {
- "connectionType": "PermanentCredentials",
- "hostName": "dlsql03",
- "credentialsId": "b7a44609-3dcb-4b35-9d26-c9d2c07eaca1"
}
], - "options": {
- "rescanSchedule": {
- "daily": {
- "dailyKind": "Everyday",
- "isEnabled": true,
- "localTime": "21:00",
- "days": [
- "sunday",
- "monday",
- "tuesday",
- "wednesday",
- "thursday",
- "friday",
- "saturday"
]
}, - "periodically": {
- "periodicallyKind": "Hours",
- "isEnabled": false,
- "frequency": 1,
- "backupWindow": {
- "days": [
- {
- "day": "sunday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "monday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "tuesday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "wednesday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "thursday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "friday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "saturday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}
]
}, - "startTimeWithinAnHour": 0
}
}, - "distributionServerId": "6745a759-2205-4cd2-b172-8ec8f7e60ef8",
- "distributionRepositoryId": "00000000-0000-0000-0000-000000000000",
- "installBackupAgent": true,
- "installCBTDriver": true,
- "installApplicationPlugins": true,
- "applicationPlugins": [
- "MSSQL"
], - "updateAutomatically": true,
- "rebootIfRequired": false,
- "advancedSettings": {
- "windowsAgentSettings": {
- "throttlingUnit": "MbitPerSpec",
- "agentThrottlingTarget": "Workstations",
- "throttlingEnabled": false,
- "throttlingValue": 1,
- "restrictBackupOverMeteredConnection": true,
- "restrictBackupOverVPNConnection": false,
- "useSpecifiedWifiNetworks": false,
- "wifiNetworks": [ ],
- "agentThrottlingEnabled": true,
- "FLRWithoutAdminAccountEnabled": false,
- "createEmbeddedRecoveryMedia": false
}, - "notifications": {
- "isEnabled": false
}
}
}, - "type": "IndividualComputers",
- "id": "c2600b42-7c64-4219-a447-95bd33e70c1a",
- "name": "Microsoft SQL Server PG",
- "description": "Created by .\\Administrator at 4/8/2025 5:51 PM."
}
], - "pagination": {
- "total": 2,
- "count": 2,
- "skip": 0,
- "limit": 200
}
}Add Protection Group
The HTTP POST request to the /api/v1/agents/protectionGroups endpoint adds a protection group to the physical infrastructure.
Available to: Backup Administrator.
query Parameters
| performRescan | 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
| description required | string Protection group description. |
| name required | string Protection group name. |
| type required | string (EProtectionGroupType) Protection group type |
required | Array of objects (IndividualComputerContainerModel) Array of protected computers. |
| tag | string Protection group tag. |
object (ProtectionGroupOptionsModel) Protection group options. |
An Infrastructure session has been created to add the protection group. 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
{- "computers": [
- {
- "connectionType": "PermanentCredentials",
- "hostName": "dlsql03.tech.local",
- "credentialsId": "34e49092-21fc-4a09-b9e6-8009f8d77d94"
}
], - "type": "IndividualComputers",
- "name": "Microsoft SQL Server PG",
- "description": "Created by .\\Administrator"
}- 201
- 400
- 401
- 403
- 500
{- "sessionType": "Infrastructure",
- "state": "Working",
- "id": "89fe3413-cde0-4061-925a-6d72857db45c",
- "name": "Infrastructure Item Saving",
- "jobId": "89fe3413-cde0-4061-925a-6d72857db45c",
- "creationTime": "2025-07-30T13:01:27.491999+02:00",
- "progressPercent": 0,
- "result": {
- "result": "None",
- "message": "",
- "isCanceled": false
}, - "usn": 331548,
- "initiatedBy": ".\\veeam-rest-service"
}Get Protection Group
The HTTP GET request to the /api/v1/agents/protectionGroups/{id} endpoint gets a protection group that has the specified id.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have backup or restore permissions.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups request. |
query Parameters
| permissionScope | string (EInventoryPermissionScope) Permission scope type (advanced RBAC) for filtering protection groups. Must be specified for custom roles. If the value is |
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
{- "computers": [
- {
- "connectionType": "PermanentCredentials",
- "hostName": "dlsql03",
- "credentialsId": "b7a44609-3dcb-4b35-9d26-c9d2c07eaca1"
}
], - "options": {
- "rescanSchedule": {
- "daily": {
- "dailyKind": "Everyday",
- "isEnabled": true,
- "localTime": "21:00",
- "days": [
- "sunday",
- "monday",
- "tuesday",
- "wednesday",
- "thursday",
- "friday",
- "saturday"
]
}, - "periodically": {
- "periodicallyKind": "Hours",
- "isEnabled": false,
- "frequency": 1,
- "backupWindow": {
- "days": [
- {
- "day": "sunday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "monday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "tuesday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "wednesday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "thursday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "friday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "saturday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}
]
}, - "startTimeWithinAnHour": 0
}
}, - "distributionServerId": "6745a759-2205-4cd2-b172-8ec8f7e60ef8",
- "distributionRepositoryId": "00000000-0000-0000-0000-000000000000",
- "installBackupAgent": true,
- "installCBTDriver": true,
- "installApplicationPlugins": true,
- "applicationPlugins": [
- "MSSQL"
], - "updateAutomatically": true,
- "rebootIfRequired": false,
- "advancedSettings": {
- "windowsAgentSettings": {
- "throttlingUnit": "MbitPerSpec",
- "agentThrottlingTarget": "Workstations",
- "throttlingEnabled": false,
- "throttlingValue": 1,
- "restrictBackupOverMeteredConnection": true,
- "restrictBackupOverVPNConnection": false,
- "useSpecifiedWifiNetworks": false,
- "wifiNetworks": [ ],
- "agentThrottlingEnabled": true,
- "FLRWithoutAdminAccountEnabled": false,
- "createEmbeddedRecoveryMedia": false
}, - "notifications": {
- "isEnabled": false
}
}
}, - "type": "IndividualComputers",
- "id": "c2600b42-7c64-4219-a447-95bd33e70c1a",
- "name": "Microsoft SQL Server PG",
- "description": "Created by .\\Administrator at 4/8/2025 5:51 PM."
}Edit Protection Group
The HTTP PUT request to the /api/v1/agents/protectionGroups/{id} endpoint edits the settings of a protection group that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups request. |
query Parameters
| performRescan | 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
| id required | string <uuid> Protection group ID. |
| description required | string Protection group description. |
| name required | string Protection group name. |
| type required | string (EProtectionGroupType) Protection group type |
| isDisabled | boolean If |
Array of objects (IndividualComputerContainerModel) Array of protected computers. | |
object (ProtectionGroupOptionsModel) Protection group options. |
An Infrastructure session has been created to edit the 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.
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
{- "computers": [
- {
- "connectionType": "PermanentCredentials",
- "hostName": "dlsql03",
- "credentialsId": "b7a44609-3dcb-4b35-9d26-c9d2c07eaca1"
}
], - "options": {
- "rescanSchedule": {
- "daily": {
- "dailyKind": "Everyday",
- "isEnabled": true,
- "localTime": "21:00",
- "days": [
- "sunday",
- "monday",
- "tuesday",
- "wednesday",
- "thursday",
- "friday",
- "saturday"
]
}, - "periodically": {
- "periodicallyKind": "Hours",
- "isEnabled": false,
- "frequency": 1,
- "backupWindow": {
- "days": [
- {
- "day": "sunday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "monday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "tuesday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "wednesday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "thursday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "friday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}, - {
- "day": "saturday",
- "hours": "1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
}
]
}, - "startTimeWithinAnHour": 0
}
}, - "distributionServerId": "6745a759-2205-4cd2-b172-8ec8f7e60ef8",
- "distributionRepositoryId": "00000000-0000-0000-0000-000000000000",
- "installBackupAgent": true,
- "installCBTDriver": true,
- "installApplicationPlugins": true,
- "applicationPlugins": [
- "MSSQL"
], - "updateAutomatically": true,
- "rebootIfRequired": false,
- "advancedSettings": {
- "windowsAgentSettings": {
- "throttlingUnit": "MbitPerSpec",
- "agentThrottlingTarget": "Workstations",
- "throttlingEnabled": false,
- "throttlingValue": 1,
- "restrictBackupOverMeteredConnection": true,
- "restrictBackupOverVPNConnection": false,
- "useSpecifiedWifiNetworks": false,
- "wifiNetworks": [ ],
- "agentThrottlingEnabled": true,
- "FLRWithoutAdminAccountEnabled": false,
- "createEmbeddedRecoveryMedia": false
}, - "notifications": {
- "isEnabled": false
}
}
}, - "type": "IndividualComputers",
- "id": "c2600b42-7c64-4219-a447-95bd33e70c1a",
- "name": "Microsoft SQL Server PG",
- "description": "Created by .\\Administrator at 4/8/2025 5:51 PM."
}- 201
- 400
- 401
- 403
- 404
- 500
{- "sessionType": "Infrastructure",
- "state": "Working",
- "id": "89fe3413-cde0-4061-925a-6d72857db45c",
- "name": "Infrastructure Item Saving",
- "jobId": "89fe3413-cde0-4061-925a-6d72857db45c",
- "creationTime": "2025-07-30T13:01:27.491999+02:00",
- "progressPercent": 0,
- "result": {
- "result": "None",
- "message": "",
- "isCanceled": false
}, - "usn": 331548,
- "initiatedBy": ".\\veeam-rest-service"
}Remove Protection Group
The HTTP DELETE request to the /api/v1/agents/protectionGroups/{id} endpoint removes a protection group that has the specified id from the physical infrastructure.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups request. |
query Parameters
| uninstallEverything | 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: |
An InfrastructureItemDeletion session has been created to delete the protection group. To check the progress, track the session state.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 201
- 401
- 403
- 404
- 500
{- "sessionType": "InfrastructureItemDeletion",
- "state": "Stopped",
- "id": "af1a6027-3845-487e-9a16-6849f4775a1e",
- "name": "Infrastructure Item Deletion",
- "jobId": "fc5683a4-8c25-4f8e-97cc-0a40745a5729",
- "creationTime": "2025-06-28T21:21:08.81+02:00",
- "endTime": "2025-06-28T21:22:15.92+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "resourceId": "af1a6027-3845-487e-9a16-6849f4775a1e",
- "usn": 0
}Rescan Protection Group
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/rescan endpoint rescans a protection group.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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: |
An AgentDiscovery session has been created to rescan the protection group. 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.
- curl
- Python
- JavaScript
- C#
- Go
- 201
- 400
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Starting",
- "platformName": "WindowsPhysical",
- "id": "5ff0d667-56b2-462b-9d45-72ede959f7e1",
- "name": "Rescan of Microsoft SQL Server PG",
- "jobId": "c2600b42-7c64-4219-a447-95bd33e70c1a",
- "creationTime": "2025-04-22T15:13:01.074252+02:00",
- "progressPercent": 0,
- "result": {
- "result": "None",
- "message": "",
- "isCanceled": false
}, - "usn": 800461,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Enable Protection Group
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/enable endpoint enables a protection group.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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: |
Protection group has been enabled.
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 400
- 401
- 403
- 404
- 500
{- "errorCode": "UnexpectedContent",
- "message": "One or more request parameters are not valid."
}Disable Protection Group
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/disable endpoint disables a protection group.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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: |
Protection group has been disabled.
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 400
- 401
- 403
- 404
- 500
{- "errorCode": "UnexpectedContent",
- "message": "One or more request parameters are not valid."
}Download Protection Group Packages
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/packages endpoint downloads agent installation packages for the protection group. Use this request with protection groups with pre-installed backup agents.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| format | string Format of the Veeam Agent package. |
| includeWindowsPackages | boolean If |
| includeMacPackages | boolean If |
object (PreInstalledAgentsPackagesModel) Pre-installed packages on the protection group. | |
object (PreInstalledAgentsPackagesModel) Pre-installed packages on the protection group. |
OK
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "format": "Zip",
- "includeWindowsPackages": true
}- 400
- 401
- 403
- 500
{- "errorCode": "UnexpectedContent",
- "message": "One or more request parameters are not valid."
}Get Discovered Entities
The HTTP GET request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities endpoint gets a list of discovered entities — a list of individual computers, clusters or Active Directory objects processed in the scope of the protection group that has the specified id.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have backup or restore permissions.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups request. |
query Parameters
| permissionScope | string (EInventoryPermissionScope) Permission scope type (advanced RBAC) for filtering discovered entities by their parent protection group scope. Must be specified for custom roles. If the value is |
| skip | integer <int32> Number of discovered entities to skip. |
| limit | integer <int32> Default: 200 Maximum number of discovered entities to return. |
| orderColumn | string (EDiscoveredEntityFiltersOrderColumn) Sorts discovered entities by one of the discovered entity parameters. |
| orderAsc | boolean Sorts discovered entities in ascending order by the |
| nameFilter | string Filters discovered entities by the |
| ipAddressFilter | string Filters discovered entities by the |
| stateFilter | string Filters discovered entities by their states. |
| agentStatusFilter | string Filters discovered entities by the installed agent status. |
| driverStatusFilter | string Filters discovered entities by the installed driver status. |
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": [
- {
- "state": "Online",
- "agentStatus": "Installed",
- "driverStatus": "Installed",
- "operatingSystem": "WindowsServer2022",
- "operatingSystemPlatform": "X64",
- "agentVersion": "13.0.0.632",
- "driverVersion": "Veeam Volume CT Driver (13.0.0.12)",
- "rebootRequired": false,
- "ipAddresses": [
- "172.24.29.220"
], - "lastConnected": "2025-04-22T19:01:26.588034",
- "operatingSystemVersion": "Microsoft Windows Server 2022 (21H2, 64-bit)",
- "operatingSystemUpdateVersion": 2109,
- "objectId": "cb324094-3476-4b8e-92fd-94ff8bfcb7cf",
- "biosUuid": "d8ad2542-9d46-e67e-7b05-efd2dc8e2595",
- "plugins": [
- {
- "type": "MSSQL",
- "status": "Installed",
- "version": "13.0.0.4695"
}, - {
- "type": "OracleRMAN",
- "status": "NotInstalled"
}, - {
- "type": "SAPHANA",
- "status": "NotInstalled"
}, - {
- "type": "SAPOnOracle",
- "status": "NotInstalled"
}
], - "embeddedRecoveryMediaState": {
- "state": "Created",
- "lastUpdateDate": "2026-01-23T13:53:42+01:00",
- "message": ""
}, - "type": "Computer",
- "id": "7e76a5bb-287a-490e-ae0a-5e852ea775ee",
- "name": "dlsql03",
- "parentId": "15aa12f6-6078-4e2f-8a90-0a3d496d6f77",
- "protectionGroupId": "c2600b42-7c64-4219-a447-95bd33e70c1a",
- "isTrusted": true
}
], - "pagination": {
- "total": 1,
- "count": 1,
- "skip": 0,
- "limit": 200
}
}Rescan Discovered Entities
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/rescan endpoint starts rescan jobs, which can install or upgrade agents on a subset of discovered entities in the protection group that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 200
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Stopped",
- "platformName": "WindowsPhysical",
- "id": "8ca855d7-4bde-4277-bbc9-fabd606d0a5e",
- "name": "Rescan of dlsql03",
- "jobId": "59e96b69-ae91-45b3-82be-c0b31f25c915",
- "creationTime": "2025-04-23T09:46:47.664243+02:00",
- "endTime": "2025-04-23T09:48:02.473501+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 806726,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Reboot Discovered Entities
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/reboot endpoint reboots a subset of discovered entities in the protection group that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 200
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Stopped",
- "platformName": "WindowsPhysical",
- "id": "8ca855d7-4bde-4277-bbc9-fabd606d0a5e",
- "name": "Rescan of dlsql03",
- "jobId": "59e96b69-ae91-45b3-82be-c0b31f25c915",
- "creationTime": "2025-04-23T09:46:47.664243+02:00",
- "endTime": "2025-04-23T09:48:02.473501+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 806726,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Install Agent on Discovered Entities
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/installAgent endpoint installs Veeam Agent on discovered entities in the protection group that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 200
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Stopped",
- "platformName": "WindowsPhysical",
- "id": "8ca855d7-4bde-4277-bbc9-fabd606d0a5e",
- "name": "Rescan of dlsql03",
- "jobId": "59e96b69-ae91-45b3-82be-c0b31f25c915",
- "creationTime": "2025-04-23T09:46:47.664243+02:00",
- "endTime": "2025-04-23T09:48:02.473501+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 806726,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Uninstall Agent from Discovered Entities
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/uninstallAgent endpoint uninstalls Veeam Agent from discovered entities in the protection group that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 200
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Stopped",
- "platformName": "WindowsPhysical",
- "id": "8ca855d7-4bde-4277-bbc9-fabd606d0a5e",
- "name": "Rescan of dlsql03",
- "jobId": "59e96b69-ae91-45b3-82be-c0b31f25c915",
- "creationTime": "2025-04-23T09:46:47.664243+02:00",
- "endTime": "2025-04-23T09:48:02.473501+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 806726,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Upgrade Agent on Discovered Entities
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/upgradeAgent endpoint upgrades the Veeam Agent on discovered entities in the protection group that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 200
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Stopped",
- "platformName": "WindowsPhysical",
- "id": "8ca855d7-4bde-4277-bbc9-fabd606d0a5e",
- "name": "Rescan of dlsql03",
- "jobId": "59e96b69-ae91-45b3-82be-c0b31f25c915",
- "creationTime": "2025-04-23T09:46:47.664243+02:00",
- "endTime": "2025-04-23T09:48:02.473501+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 806726,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Install CBT Driver on Discovered Entities
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/installCBTDriver endpoint installs the Changed Block Tracking (CBT) driver on discovered entities in the protection group that has the specified id.
This operation may be required, for example, if you want to evaluate driver performance on a selected computer rather than deploy the driver to all computers in the protection group at once. To enable the CBT driver after installation, reboot the computer.
Consider the following:
- This request is available only for computers that are protected with Veeam Agent for Microsoft Windows.
- This request is not available for computers in protection groups with pre-installed agents. In this case, use the Veeam Agent Configurator instead.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 200
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Stopped",
- "platformName": "WindowsPhysical",
- "id": "8ca855d7-4bde-4277-bbc9-fabd606d0a5e",
- "name": "Rescan of dlsql03",
- "jobId": "59e96b69-ae91-45b3-82be-c0b31f25c915",
- "creationTime": "2025-04-23T09:46:47.664243+02:00",
- "endTime": "2025-04-23T09:48:02.473501+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 806726,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Uninstall CBT Driver from Discovered Entities
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/uninstallCBTDriver endpoint uninstalls the Changed Block Tracking (CBT) driver from discovered entities in the protection group that has the specified id. To complete the driver uninstallation process, reboot the computer.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 200
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Stopped",
- "platformName": "WindowsPhysical",
- "id": "8ca855d7-4bde-4277-bbc9-fabd606d0a5e",
- "name": "Rescan of dlsql03",
- "jobId": "59e96b69-ae91-45b3-82be-c0b31f25c915",
- "creationTime": "2025-04-23T09:46:47.664243+02:00",
- "endTime": "2025-04-23T09:48:02.473501+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 806726,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Uninstall All Components from Discovered Entities
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/uninstallAllComponents endpoint uninstalls all components from discovered entities in the protection group that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 200
- 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"
}Add Discovered Entities to Trusted Hosts List
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/trust endpoint adds discovered Linux computers to the trusted hosts list, in the protection group that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
The discovered computers have been added to the trusted hosts list.
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
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 401
- 403
- 404
- 500
{- "errorCode": "AccessDenied",
- "message": "Unauthorized. Get bearer JWT token at /api/login"
}Prepare Agent Hosts for Remote Bare Metal Recovery
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/prepareForRemoteBmr endpoint prepares agent hosts for Remote Bare Metal Recovery, in the protection group that has the specified id.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore permissions.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 201
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Stopped",
- "platformName": "WindowsPhysical",
- "id": "8ca855d7-4bde-4277-bbc9-fabd606d0a5e",
- "name": "Rescan of dlsql03",
- "jobId": "59e96b69-ae91-45b3-82be-c0b31f25c915",
- "creationTime": "2025-04-23T09:46:47.664243+02:00",
- "endTime": "2025-04-23T09:48:02.473501+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 806726,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Recreate Embedded Recovery Media on Agent Hosts
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/recreateEmbeddedRm endpoint schedules recreation of embedded recovery media on agent hosts in the protection group that has the specified id.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the protection group ID, run the Get Protection Groups 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
| entityIds required | Array of strings <uuid> Array of discovered entity IDs to process. To get the discovered entity IDs, run the Get Discovered Entities request. |
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.
- Payload
- curl
- Python
- JavaScript
- C#
- Go
{- "entityIds": [
- "7e76a5bb-287a-490e-ae0a-5e852ea775ee"
]
}- 201
- 401
- 403
- 404
- 500
{- "sessionType": "AgentDiscovery",
- "state": "Stopped",
- "platformName": "WindowsPhysical",
- "id": "8ca855d7-4bde-4277-bbc9-fabd606d0a5e",
- "name": "Rescan of dlsql03",
- "jobId": "59e96b69-ae91-45b3-82be-c0b31f25c915",
- "creationTime": "2025-04-23T09:46:47.664243+02:00",
- "endTime": "2025-04-23T09:48:02.473501+02:00",
- "progressPercent": 100,
- "result": {
- "result": "Success",
- "message": "Success",
- "isCanceled": false
}, - "usn": 806726,
- "platformId": "00000000-0000-0000-0000-000000000000"
}Get Discovered Entity
The HTTP GET request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/{entityId} endpoint gets a discovered entity that has the specified id.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have backup or restore permissions.
path Parameters
| id required | string <uuid> Protection group ID. To get the ID, run the Get Protection Groups request. |
| entityId required | string <uuid> Discovered entity ID. To get the ID, run the Get Discovered Entities request. |
query Parameters
| permissionScope | string (EInventoryPermissionScope) Permission scope type (advanced RBAC) for filtering the discovered entity by its parent protection group scope. Must be specified for custom roles. If the value is |
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
{- "state": "Online",
- "agentStatus": "Installed",
- "driverStatus": "Installed",
- "operatingSystem": "WindowsServer2022",
- "operatingSystemPlatform": "X64",
- "agentVersion": "13.0.0.632",
- "driverVersion": "Veeam Volume CT Driver (13.0.0.12)",
- "rebootRequired": false,
- "ipAddresses": [
- "172.24.29.220"
], - "lastConnected": "2025-04-23T08:18:33.90584",
- "operatingSystemVersion": "Microsoft Windows Server 2022 (21H2, 64-bit)",
- "operatingSystemUpdateVersion": 2109,
- "objectId": "cb324094-3476-4b8e-92fd-94ff8bfcb7cf",
- "biosUuid": "d8ad2542-9d46-e67e-7b05-efd2dc8e2595",
- "plugins": [
- {
- "type": "MSSQL",
- "status": "Installed",
- "version": "13.0.0.4695"
}, - {
- "type": "OracleRMAN",
- "status": "NotInstalled"
}, - {
- "type": "SAPHANA",
- "status": "NotInstalled"
}, - {
- "type": "SAPOnOracle",
- "status": "NotInstalled"
}
], - "type": "Computer",
- "id": "7e76a5bb-287a-490e-ae0a-5e852ea775ee",
- "name": "dlsql03",
- "parentId": "15aa12f6-6078-4e2f-8a90-0a3d496d6f77",
- "protectionGroupId": "c2600b42-7c64-4219-a447-95bd33e70c1a",
- "isTrusted": true
}Remove Discovered Entity
The HTTP DELETE request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/{entityId} endpoint removes a discovered entity that has the specified id from the configuration.
Available to: Backup Administrator.
path Parameters
| id required | string <uuid> Protection group ID. To get the ID, run the Get Protection Groups request. |
| entityId required | string <uuid> Discovered entity ID. To get the ID, run the Get Discovered Entities 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: |
Discovered entity has been removed.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 401
- 403
- 404
- 500
{- "errorCode": "AccessDenied",
- "message": "Unauthorized. Get bearer JWT token at /api/login"
}Create Recovery Media Task for Discovered Entity
The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/{entityId}/createRecoveryMedia endpoint starts an asynchronous task that creates Veeam Recovery Media for a protected Microsoft Windows computer. The endpoint returns a task that you can poll through the Get Task request to track progress and surface failures. To download the resulting ISO file once the task completes successfully, run the Download Recovery Media request.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore permissions.
path Parameters
| id required | string <uuid> Protection group ID. To get the ID, run the Get Protection Groups request. |
| entityId required | string <uuid> Discovered entity ID. To get the ID, run the Get Discovered Entities request. |
query Parameters
| format required | string (ERecoveryMediaFormat) Recovery media format. |
| allowRemoteBmr required | boolean Enables the ability to perform Bare Metal Recovery remotely from the backup server when this recovery media is booted |
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 RecoveryMedia task has been started. To check the progress, track the task 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.
- curl
- Python
- JavaScript
- C#
- Go
- 201
- 400
- 401
- 403
- 404
- 500
{- "type": "Common",
- "id": "c3d4e5f6-7a8b-49c0-8d1e-2f3a4b5c6d7e",
- "name": "Rescan repository task",
- "state": "Working",
- "progressPercent": 45,
- "creationTime": "2026-05-20T10:30:00Z",
- "endTime": "2026-05-20T10:42:00Z",
- "result": "None"
}Create Recovery Media for Discovered EntityDeprecated
The HTTP GET request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/{entityId}/createRecoveryMedia endpoint creates Veeam Recovery Media for a protected Microsoft Windows computer. The request will create an ISO file that you can boot from in case the computer stops working or the hard disk fails.
You can also create Veeam Recovery Media for a backup created by Veeam Agent for Microsoft Windows. For more information, see Create Recovery Media for Backup Object.
Deprecated: this synchronous endpoint blocks while the ISO is being created and returns a generic HTTP 500 on failure. Use the Create Recovery Media Task for Discovered Entity request followed by the Download Recovery Media request instead.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore permissions.
path Parameters
| id required | string <uuid> Protection group ID. To get the ID, run the Get Protection Groups request. |
| entityId required | string <uuid> Discovered entity ID. To get the ID, run the Get Discovered Entities request. |
query Parameters
| format required | string (ERecoveryMediaFormat) Recovery media format. |
| allowRemoteBmr required | boolean Enables the ability to perform Bare Metal Recovery remotely from the backup server when this recovery media is booted |
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
Bad request. This error is related to POST/PUT requests. The request body is malformed, incomplete or otherwise invalid.
Unauthorized. The authorization header has been expected but not found (or found but is expired).
Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
Not found. No object was found with the path parameter specified in the request.
Internal server error. The request has been received but could not be completed because of an internal error at the server side.
- curl
- Python
- JavaScript
- C#
- Go
- 400
- 401
- 403
- 404
- 500
{- "errorCode": "UnexpectedContent",
- "message": "One or more request parameters are not valid."
}Get Linux Agent Packages
The HTTP GET request to the /api/v1/agents/packages/linux endpoint gets an array of Linux agent packages available for export.
Available to: Backup Administrator.
query Parameters
| skip | integer <int32> Number of Linux packages to skip. |
| limit | integer <int32> Default: 200 Maximum number of Linux packages to return. |
| orderColumn | string (ELinuxPackageFiltersOrderColumn) Sorts Linux packages by one of the parameters. |
| orderAsc | boolean Sorts Linux packages in ascending order by the |
| nameFilter | string Filters Linux packages by the |
| distributionFilter | string Filters Linux packages by the distribution name. |
| packageBitnessFilter | string Filters Linux packages by the package bitness. |
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": [
- {
- "packageBitness": "x64",
- "packageName": "Debian 11 x64 - 13.0.0.609",
- "distributionName": "debian"
}, - {
- "packageBitness": "x64",
- "packageName": "Debian 11 x64-nosnap - 13.0.0.609",
- "distributionName": "debian"
}, - {
- "packageBitness": "x64",
- "packageName": "Debian 12 x64 - 13.0.0.609",
- "distributionName": "debian"
}, - {
- "packageBitness": "x64",
- "packageName": "Debian 12 x64-nosnap - 13.0.0.609",
- "distributionName": "debian"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 16.4 x64 - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 16.4 x64-nosnap - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 18.4 x64 - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 18.4 x64-nosnap - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 20.4 x64 - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 20.4 x64-nosnap - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 22.4 x64 - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 22.4 x64-nosnap - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 24.4 x64 - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Ubuntu 24.4 x64-nosnap - 13.0.0.609",
- "distributionName": "ubuntu"
}, - {
- "packageBitness": "x64",
- "packageName": "Red Hat 8 x64 - 13.0.0.609",
- "distributionName": "RHEL"
}, - {
- "packageBitness": "x64",
- "packageName": "Red Hat 8 x64-nosnap - 13.0.0.609",
- "distributionName": "RHEL"
}, - {
- "packageBitness": "PPC64le",
- "packageName": "Red Hat 8.4,8.6,8.8,8.10 ppc64le-nosnap - 13.0.0.609",
- "distributionName": "RHEL"
}, - {
- "packageBitness": "PPC64le",
- "packageName": "Red Hat 9.4 ppc64le-nosnap - 13.0.0.609",
- "distributionName": "RHEL"
}, - {
- "packageBitness": "x64",
- "packageName": "Red Hat 9 x64 - 13.0.0.609",
- "distributionName": "RHEL"
}, - {
- "packageBitness": "x64",
- "packageName": "Red Hat 9 x64-nosnap - 13.0.0.609",
- "distributionName": "RHEL"
}, - {
- "packageBitness": "x64",
- "packageName": "Red Hat 10 x64 - 13.0.0.609",
- "distributionName": "RHEL"
}, - {
- "packageBitness": "x64",
- "packageName": "Red Hat 10 x64-nosnap - 13.0.0.609",
- "distributionName": "RHEL"
}, - {
- "packageBitness": "x64",
- "packageName": "Rocky Linux 10 x64 - 13.0.0.609",
- "distributionName": "rocky"
}, - {
- "packageBitness": "x64",
- "packageName": "Rocky Linux 10 x64-nosnap - 13.0.0.609",
- "distributionName": "rocky"
}, - {
- "packageBitness": "x64",
- "packageName": "Rocky Linux 9 x64 - 13.0.0.609",
- "distributionName": "rocky"
}, - {
- "packageBitness": "x64",
- "packageName": "Rocky Linux 9 x64-nosnap - 13.0.0.609",
- "distributionName": "rocky"
}, - {
- "packageBitness": "x64",
- "packageName": "Rocky Linux 8.10 x64 - 13.0.0.609",
- "distributionName": "rocky"
}, - {
- "packageBitness": "x64",
- "packageName": "Rocky Linux 8.10 x64-nosnap - 13.0.0.609",
- "distributionName": "rocky"
}, - {
- "packageBitness": "x64",
- "packageName": "AlmaLinux 10 x64 - 13.0.0.609",
- "distributionName": "almalinux"
}, - {
- "packageBitness": "x64",
- "packageName": "AlmaLinux 10 x64-nosnap - 13.0.0.609",
- "distributionName": "almalinux"
}, - {
- "packageBitness": "x64",
- "packageName": "AlmaLinux 9 x64 - 13.0.0.609",
- "distributionName": "almalinux"
}, - {
- "packageBitness": "x64",
- "packageName": "AlmaLinux 9 x64-nosnap - 13.0.0.609",
- "distributionName": "almalinux"
}, - {
- "packageBitness": "x64",
- "packageName": "AlmaLinux 8.10 x64 - 13.0.0.609",
- "distributionName": "almalinux"
}, - {
- "packageBitness": "x64",
- "packageName": "AlmaLinux 8.10 x64-nosnap - 13.0.0.609",
- "distributionName": "almalinux"
}, - {
- "packageBitness": "x64",
- "packageName": "Oracle Linux 7 x64 - 13.0.0.609",
- "distributionName": "ol"
}, - {
- "packageBitness": "x64",
- "packageName": "Oracle Linux 7 x64-nosnap - 13.0.0.609",
- "distributionName": "ol"
}, - {
- "packageBitness": "x64",
- "packageName": "Oracle Linux 8 x64 - 13.0.0.609",
- "distributionName": "ol"
}, - {
- "packageBitness": "x64",
- "packageName": "Oracle Linux 8 x64-nosnap - 13.0.0.609",
- "distributionName": "ol"
}, - {
- "packageBitness": "x64",
- "packageName": "Oracle Linux 9 x64 - 13.0.0.609",
- "distributionName": "ol"
}, - {
- "packageBitness": "x64",
- "packageName": "Oracle Linux 9 x64-nosnap - 13.0.0.609",
- "distributionName": "ol"
}, - {
- "packageBitness": "x64",
- "packageName": "Oracle Linux 10 x64 - 13.0.0.609",
- "distributionName": "ol"
}, - {
- "packageBitness": "x64",
- "packageName": "Oracle Linux 10 x64-nosnap - 13.0.0.609",
- "distributionName": "ol"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 12.5 default x64 - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 12.5 default x64-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "PPC64le",
- "packageName": "SLES 12.5 default ppc64le-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.3 default x64 - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.3 default x64-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "PPC64le",
- "packageName": "SLES 15.3 default ppc64le-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.3 preempt x64 - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.3 preempt x64-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.4 default x64 - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.4 default x64-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "PPC64le",
- "packageName": "SLES 15.4 default ppc64le-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.5 default x64 - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.5 default x64-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "PPC64le",
- "packageName": "SLES 15.5 default ppc64le-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.6 default x64 - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "SLES 15.6 default x64-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "PPC64le",
- "packageName": "SLES 15.6 default ppc64le-nosnap - 13.0.0.609",
- "distributionName": "SLES"
}, - {
- "packageBitness": "x64",
- "packageName": "Amazon Linux 2,2023 x64 - 13.0.0.609",
- "distributionName": "amzn"
}
], - "pagination": {
- "total": 60,
- "count": 60
}
}Get Unix Agent Packages
The HTTP GET request to the /api/v1/agents/packages/unix endpoint gets an array of Unix agent packages available for export.
Available to: Backup Administrator.
query Parameters
| skip | integer <int32> Number of Unix packages to skip. |
| limit | integer <int32> Default: 200 Maximum number of Unix packages to return. |
| orderColumn | string (EUnixPackageFiltersOrderColumn) Sorts Unix packages by one of the parameters. |
| orderAsc | boolean Sorts Unix packages in ascending order by the |
| nameFilter | string Filters Unix packages by the |
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": [
- {
- "packageName": "IBM AIX"
}, - {
- "packageName": "Solaris Intel"
}, - {
- "packageName": "Solaris SPARC"
}
], - "pagination": {
- "total": 3,
- "count": 3
}
}Get Agents Recovery Appliances
The HTTP GET request to the /api/v1/agents/recoveryAppliances endpoint allows you to get an array of agents recovery appliances.
Available to: Backup Administrator, Backup Operator, Restore Operator, Backup Viewer. Also available to custom roles that have restore permissions.
query Parameters
| skip | integer <int32> Number of Agents Recovery Appliances to skip. |
| limit | integer <int32> Default: 200 Maximum number of Agents Recovery Appliances to return. |
| orderColumn | string (EAgentsRecoveryAppliancesOrderColumn) Sorts Agents Recovery Appliances by one of the parameters. |
| orderAsc | boolean Sorts Agents Recovery Appliances in the ascending order by the |
| nameFilter | string Filters Agents Recovery Appliances by the |
| stateFilter | string (EAgentsRecoveryAppliancesStateFilter) Filters Agents Recovery Appliances by their state. |
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": "0b7bedc6-8368-477c-8d26-264b611e5f4c",
- "hostName": "host-name-1",
- "version": "13.0.1.23",
- "endpoint": "172.1.1.1",
- "addresses": [
- "172.1.1.1",
- "172.1.1.2"
], - "port": 9123,
- "creationTime": "2025-04-22T15:13:01.074252+02:00",
- "isVerified": true,
- "isDetached": false,
- "canExpire": false,
- "verificationPhrase": "ASD-123-DSA-321",
- "usedPersonalCertificate": true,
- "lastContactTime": "2025-04-22T17:13:01.074252+02:00",
- "platformId": "00000000-0000-0000-0000-000000000000",
- "platformType": "WindowsPhysical",
- "hostBiosId": "b5aed685-9d33-4320-953f-5b2ae3f9c722",
- "operations": [
- {
- "operation": "Reboot",
- "enabled": true
}
]
}, - {
- "id": "3c95b23a-6a1a-4f95-b26a-f86752abef71",
- "hostName": "host-name-2",
- "version": "13.0.1.111",
- "endpoint": "172.1.1.1",
- "addresses": [
- "172.1.1.3",
- "172.1.1.4"
], - "port": 9124,
- "creationTime": "2025-05-22T15:13:01.074252+02:00",
- "isVerified": true,
- "isDetached": true,
- "canExpire": true,
- "verificationPhrase": "321-DSA-123-ASD",
- "usedPersonalCertificate": false,
- "lastContactTime": "2025-05-22T17:13:01.074252+02:00",
- "platformId": "00000000-0000-0000-0000-000000000000",
- "platformType": "WindowsPhysical",
- "hostBiosId": "b5aed685-9d33-4320-953f-5b2ae3f9c725",
- "operations": [
- {
- "operation": "Reboot",
- "enabled": false
}
]
}
], - "pagination": {
- "total": 2,
- "count": 2,
- "skip": 0,
- "limit": 200
}
}Get Agents Recovery Appliance
The HTTP GET request to the /api/v1/agents/recoveryAppliances/{id} endpoint allows you to get an agent recovery appliance that has the specified id.
Available to: Backup Administrator, Backup Operator, Restore Operator, Backup Viewer. Also available to custom roles that have restore permissions.
path Parameters
| id required | string <uuid> Agent recovery appliance ID. To get the agent recovery appliance ID, run the Get Agents Recovery Appliances 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.
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
{- "id": "0b7bedc6-8368-477c-8d26-264b611e5f4c",
- "hostName": "recovery-appliance-name",
- "version": "13.0.1.23",
- "addresses": [
- "172.1.1.1",
- "172.1.1.2"
], - "port": 9123,
- "creationTime": "2025-04-22T15:13:01.074252+02:00",
- "isVerified": true,
- "isDetached": false,
- "canExpire": false,
- "verificationPhrase": "ASD-123-DSA-321",
- "usedPersonalCertificate": true,
- "lastContactTime": "2025-04-22T17:13:01.074252+02:00",
- "platformId": "00000000-0000-0000-0000-000000000000",
- "platformType": "WindowsPhysical",
- "hostBiosId": "b5aed685-9d33-4320-953f-5b2ae3f9c722",
- "operations": [
- {
- "operation": "Reboot",
- "enabled": true
}
], - "lastKnownHostName": "hostname.domain",
- "endpoint": "172.1.1.1"
}Reboots Agents Recovery Appliances
The HTTP POST request to the /api/v1/agents/recoveryAppliances/reboot endpoint reboots specified agents recovery appliances.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore 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
| ids | Array of strings <uuid> Array of IDs of agents recovery appliances that must be rebooted. To get the agent recovery appliance IDs, run the Get Agents Recovery Appliances request. |
A session has been created to reboot specified agents recovery appliances. 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.
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
{- "ids": [
- "0b7bedc6-8368-477c-8d26-264b611e5f4c",
- "3c95b23a-6a1a-4f95-b26a-f86752abef71"
]
}- 201
- 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"
}Reboots Agents Recovery Appliance
The HTTP POST request to the /api/v1/agents/recoveryAppliances/{id}/reboot endpoint reboots an agents recovery appliance that has the specified id.
Available to: Backup Administrator, Restore Operator. Also available to custom roles that have restore permissions.
path Parameters
| id required | string <uuid> Agent recovery appliance ID. To get the agent recovery appliance ID, run the Get Agents Recovery Appliances 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: |
A session has been created to reboot an agents recovery appliance. 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.
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
- 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"
}