### Installed License JSON Response Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/License This is an example of the JSON response received when successfully querying the installed license. It provides details on license status, type, expiration, and instance usage. ```json { "status": "Valid", "type": "Subscription", "edition": "EnterprisePlus", "cloudConnect": "Disabled", "expirationDate": "2026-12-12T00:00:00Z", "licensedTo": "Veeam Software Group GmbH", "instanceLicenseSummary": { "package": "Backup", "licensedInstancesNumber": 100, "usedInstancesNumber": 4, "newInstancesNumber": 0, "rentalInstancesNumber": 0, "objects": [ { "type": "Virtual Machines", "count": 1, "multiplier": 1, "usedInstancesNumber": 1 }, { "type": "Applications", "count": 3, "multiplier": 1, "usedInstancesNumber": 3 } ], "workload": [ { "platformType": "VMware", "name": "rhel01", "displayName": "VM", "hostName": "vcenter01.tech.local", "usedInstancesNumber": 1, "type": "VM", "instanceId": "f28a0b09-8a24-4e8c-9e85-f4612beaa274", "canBeRevoked": true }, { "platformType": "MongoDB", "name": "mongodb01", "displayName": "Application", "hostName": "productionReplicaSet", "usedInstancesNumber": 1, "type": "Application", "instanceId": "4225b02c-df08-430f-d775-c71dba95d628", "canBeRevoked": true }, { "platformType": "MongoDB", "name": "mongodb02", "displayName": "Application", "hostName": "productionReplicaSet", "usedInstancesNumber": 1, "type": "Application", "instanceId": "422562ce-80c5-ac19-8659-30ac0c9c3550", "canBeRevoked": true }, { "platformType": "MongoDB", "name": "mongodb03", "displayName": "Application", "hostName": "productionReplicaSet", "usedInstancesNumber": 1, "type": "Application", "instanceId": "42250c5d-ca3d-fa07-8623-6fb79d8b2896", "canBeRevoked": true } ] }, "supportId": "02067762", "autoUpdateEnabled": true, "freeAgentInstanceConsumptionEnabled": true, "IsMultiSection": false, "proactiveSupportEnabled": true } ``` -------------------------------- ### License - Get Installed License Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Automation Retrieves information about the currently installed license. ```APIDOC ## GET /api/v1/license ### Description Get Installed License ### Method GET ### Endpoint /api/v1/license ``` -------------------------------- ### WAN Accelerator Response Example Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/WAN-Accelerators An example JSON response for a GET request to retrieve WAN accelerator details. Includes server and cache configurations. ```json { "data": [ { "id": "d8ecb099-ca8e-4cd3-b12f-10f36508942b", "name": "enterprise03.tech.local", "server": { "hostId": "b29b8591-bf31-4174-b69b-25ac296a20b2", "description": "Created by TECH\sheila.d.cory", "trafficPort": 6165, "streamsCount": 5, "highBandwidthModeEnabled": true }, "cache": { "cacheSizeUnit": "GB", "cacheFolder": "C:\\VeeamWAN", "cacheSize": 100 } }, { "id": "bbd849d3-226e-470c-804c-fdd2b09da683", "name": "enterprise05.tech.local", "server": { "hostId": "612af0b0-ce61-4315-a82c-b056669e48ae", "description": "Created by TECH\sheila.d.cory", "trafficPort": 6165, "streamsCount": 5, "highBandwidthModeEnabled": false }, "cache": { "cacheSizeUnit": "GB", "cacheFolder": "C:\\VeeamWAN", "cacheSize": 50 } } ], "pagination": { "total": 2, "count": 2, "skip": 0, "limit": 200 } } ``` -------------------------------- ### License Instance Response Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/License Example JSON response for getting license instances, showing details of assigned licenses. ```json { "data": [ { "platformType": "VMware", "name": "linbase01", "hostName": "vcenter01.tech.local", "usedInstancesNumber": 1, "type": "VM", "instanceId": "d8175a8b-942c-4ddb-a36d-0690f1b875d7", "canBeRevoked": true }, { "platformType": "Application", "name": "WINORCL01", "hostName": "WINORCL01", "usedInstancesNumber": 1, "type": "Application", "instanceId": "71c41142-888b-bc72-c46d-74322c9b32eb", "canBeRevoked": true } ], "pagination": { "total": 2, "count": 2, "skip": 0, "limit": 100 } } ``` -------------------------------- ### Install License Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Agents Installs a new license file on the backup server. ```APIDOC ## POST /api/license/install ### Description Installs a new license file on the Veeam Backup & Replication server. ### Method POST ### Endpoint /api/license/install ### Request Body - **licenseFile** (string) - Required - The content of the license file (base64 encoded). ### Response #### Success Response (204 No Content) Indicates that the license has been successfully installed. #### Response Example (No content) ``` -------------------------------- ### License - Install License Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Automation Installs a new license on the backup server. ```APIDOC ## POST /api/v1/license/install ### Description Install License ### Method POST ### Endpoint /api/v1/license/install ``` -------------------------------- ### Install License Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/License Installs a license on the Veeam Backup & Replication server. ```APIDOC ## POST /api/license/install ### Description Installs a license on the Veeam Backup & Replication server. ### Method POST ### Endpoint /api/license/install ### Request Body - **licenseFile** (file) - Required - The license file to install. ``` -------------------------------- ### Get Helper Appliances Request (curl) Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Credentials Example using curl to retrieve a list of Linux-based helper appliances for a Microsoft Azure compute account. Includes authentication and API version headers. ```curl curl -i -X GET \ 'https://api.example.com:9419/api/v1/cloudCredentials/{id}/helperAppliances?skip=0&limit=200' \ -H 'Authorization: Bearer ' \ -H 'x-api-version: 1.3-rev1' ``` -------------------------------- ### Start Disk Publishing Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Restore Starts the publishing process for disks. ```APIDOC ## POST /restore/data-integration/disk-publishing/start ### Description Starts the publishing process for disks. ### Method POST ### Endpoint /restore/data-integration/disk-publishing/start ``` -------------------------------- ### Start Instant Recovery to Microsoft Azure Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Restore Starts an instant recovery process to Microsoft Azure. ```APIDOC ## POST /restore/instant-recovery/azure ### Description Starts an instant recovery to Microsoft Azure. ### Method POST ### Endpoint /restore/instant-recovery/azure ``` -------------------------------- ### Start Configuration Backup (cURL) Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Configuration-Backup Use this cURL command to initiate a configuration backup. Ensure you replace `` with your actual API token and specify the correct `x-api-version`. ```curl curl -i -X POST \ https://api.example.com:9419/api/v1/configBackup/backup \ -H 'Authorization: Bearer ' \ -H 'x-api-version: 1.3-rev1' ``` -------------------------------- ### Get Installed License Instances Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/License Retrieves a list of installed license instances with optional filtering and sorting. ```APIDOC ## GET /api/v1/license/instances ### Description Getting instance licenses consumption. ### Method GET ### Endpoint /api/v1/license/instances ### Parameters #### Query Parameters - **skip** (integer) - Optional - The number of records to skip. - **limit** (integer) - Optional - The maximum number of records to return. - **orderColumn** (string) - Optional - The column to order the results by. - **orderAsc** (boolean) - Optional - Whether to order in ascending order. - **nameFilter** (string) - Optional - Filter by instance name. - **hostNameFilter** (string) - Optional - Filter by host name. - **usedInstancesNumberFilter** (integer) - Optional - Filter by the number of used instances. - **typeFilter** (string) - Optional - Filter by instance type. - **instanceIdFilter** (string) - Optional - Filter by instance ID. #### Header Parameters - **x-api-version** (string) - Required - Default: 1.3-rev1 - Version and revision of the client REST API. Must be in the following format: `-`. ### Response #### Success Response (200) - **data** (array) - List of license instances. - **platformType** (string) - The platform type of the instance. - **name** (string) - The name of the instance. - **hostName** (string) - The host name of the instance. - **usedInstancesNumber** (integer) - The number of used instances. - **type** (string) - The type of the instance. - **instanceId** (string) - The ID of the instance. - **canBeRevoked** (boolean) - Whether the license can be revoked. - **pagination** (object) - Pagination details. - **total** (integer) - Total number of records. - **count** (integer) - Number of records returned. - **skip** (integer) - Number of records skipped. - **limit** (integer) - The limit of records per page. ### Response Example ```json { "data": [ { "platformType": "VMware", "name": "linbase01", "hostName": "vcenter01.tech.local", "usedInstancesNumber": 1, "type": "VM", "instanceId": "d8175a8b-942c-4ddb-a36d-0690f1b875d7", "canBeRevoked": true }, { "platformType": "Application", "name": "WINORCL01", "hostName": "WINORCL01", "usedInstancesNumber": 1, "type": "Application", "instanceId": "71c41142-888b-bc72-c46d-74322c9b32eb", "canBeRevoked": true } ], "pagination": { "total": 2, "count": 2, "skip": 0, "limit": 100 } } ``` ``` -------------------------------- ### Start Configuration Backup Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Failback Initiates a manual configuration backup. ```APIDOC ## POST /configuration-backup/start ### Description Starts a configuration backup. ### Method POST ### Endpoint /configuration-backup/start ``` -------------------------------- ### Start Configuration Backup Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Backup-Objects Manually initiates a configuration backup. ```APIDOC ## POST /configuration-backup/start ### Description Manually initiates a configuration backup. ### Method POST ### Endpoint /configuration-backup/start ### Response #### Success Response (202) Indicates that the configuration backup has been initiated. ``` -------------------------------- ### Example: Requesting a Collection of Resources Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/SectionOverview Append a resource collection endpoint to the base URL to retrieve a list of resources. This example shows how to get a list of sessions. ```text https://enterprise01.tech.local:9419/api/v1/sessions ``` -------------------------------- ### Start Quick Backup Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Jobs Initiates a quick backup for a job. ```APIDOC ## Start Quick Backup ### Description Initiates a quick backup for a job. ### Method POST ### Endpoint /jobs/{jobId}/quickBackup ``` -------------------------------- ### Get Installed License Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/License Retrieves the currently installed license details on the backup server. This endpoint is available to Veeam Backup Administrators and requires Bearer authentication. ```APIDOC ## Get Installed License ### Description The HTTP GET request to the `/api/v1/license` endpoint gets the installed license on the backup server. ### Method GET ### Endpoint /api/v1/license ### Parameters #### Header Parameters - **x-api-version** (string) - Required - Version and revision of the client REST API. Must be in the following format: `-`. ### Request Example ```curl curl -i -X GET \ https://api.example.com:9419/api/v1/license \ -H 'Authorization: Bearer ' \ -H 'x-api-version: 1.3-rev1' ``` ### Response #### Success Response (200 OK) - **status** (string) - The status of the license (e.g., "Valid"). - **type** (string) - The type of license (e.g., "Subscription"). - **edition** (string) - The edition of the license (e.g., "EnterprisePlus"). - **cloudConnect** (string) - Indicates if Cloud Connect is enabled (e.g., "Disabled"). - **expirationDate** (string) - The expiration date of the license in ISO 8601 format. - **licensedTo** (string) - The name of the entity the license is issued to. - **instanceLicenseSummary** (object) - Summary of instance license usage. - **package** (string) - The license package name. - **licensedInstancesNumber** (integer) - The total number of licensed instances. - **usedInstancesNumber** (integer) - The number of instances currently in use. - **newInstancesNumber** (integer) - The number of new instances available. - **rentalInstancesNumber** (integer) - The number of rental instances. - **objects** (array) - Details about licensed objects. - **type** (string) - The type of object (e.g., "Virtual Machines"). - **count** (integer) - The count of this object type. - **multiplier** (integer) - The multiplier for instance calculation. - **usedInstancesNumber** (integer) - The number of instances used for this object type. - **workload** (array) - Details about licensed workloads. - **platformType** (string) - The platform type of the workload (e.g., "VMware"). - **name** (string) - The name of the workload. - **displayName** (string) - A display name for the workload. - **hostName** (string) - The hostname of the workload. - **usedInstancesNumber** (integer) - The number of instances used for this workload. - **type** (string) - The type of workload. - **instanceId** (string) - The unique instance ID of the workload. - **canBeRevoked** (boolean) - Indicates if the instance can be revoked. - **supportId** (string) - The support ID associated with the license. - **autoUpdateEnabled** (boolean) - Indicates if auto-update is enabled. - **freeAgentInstanceConsumptionEnabled** (boolean) - Indicates if free agent instance consumption is enabled. - **IsMultiSection** (boolean) - Indicates if the license is multi-section. - **proactiveSupportEnabled** (boolean) - Indicates if proactive support is enabled. #### Response Example (200 OK) ```json { "status": "Valid", "type": "Subscription", "edition": "EnterprisePlus", "cloudConnect": "Disabled", "expirationDate": "2026-12-12T00:00:00Z", "licensedTo": "Veeam Software Group GmbH", "instanceLicenseSummary": { "package": "Backup", "licensedInstancesNumber": 100, "usedInstancesNumber": 4, "newInstancesNumber": 0, "rentalInstancesNumber": 0, "objects": [ { "type": "Virtual Machines", "count": 1, "multiplier": 1, "usedInstancesNumber": 1 }, { "type": "Applications", "count": 3, "multiplier": 1, "usedInstancesNumber": 3 } ], "workload": [ { "platformType": "VMware", "name": "rhel01", "displayName": "VM", "hostName": "vcenter01.tech.local", "usedInstancesNumber": 1, "type": "VM", "instanceId": "f28a0b09-8a24-4e8c-9e85-f4612beaa274", "canBeRevoked": true }, { "platformType": "MongoDB", "name": "mongodb01", "displayName": "Application", "hostName": "productionReplicaSet", "usedInstancesNumber": 1, "type": "Application", "instanceId": "4225b02c-df08-430f-d775-c71dba95d628", "canBeRevoked": true }, { "platformType": "MongoDB", "name": "mongodb02", "displayName": "Application", "hostName": "productionReplicaSet", "usedInstancesNumber": 1, "type": "Application", "instanceId": "422562ce-80c5-ac19-8659-30ac0c9c3550", "canBeRevoked": true }, { "platformType": "MongoDB", "name": "mongodb03", "displayName": "Application", "hostName": "productionReplicaSet", "usedInstancesNumber": 1, "type": "Application", "instanceId": "42250c5d-ca3d-fa07-8623-6fb79d8b2896", "canBeRevoked": true } ] }, "supportId": "02067762", "autoUpdateEnabled": true, "freeAgentInstanceConsumptionEnabled": true, "IsMultiSection": false, "proactiveSupportEnabled": true } ``` #### Error Responses - **401 Unauthorized**: The authorization header has been expected but not found (or found but is expired). - **403 Forbidden**: The user sending the request does not have adequate privileges to access one or more objects specified in the request. - **500 Internal server error**: The request has been received but could not be completed because of an internal error at the server side. ``` -------------------------------- ### Get Credentials Record using cURL Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Credentials Example of how to retrieve a specific credentials record using a GET request with cURL. Replace `{id}` with the actual credentials ID. ```bash curl -i -X GET \ 'https://api.example.com:9419/api/v1/credentials/{id}' \ -H 'Authorization: Bearer ' \ -H 'x-api-version: 1.3-rev1' ``` -------------------------------- ### Server Time Request Example Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/SectionOverview This example demonstrates how to request the current server time using the REST API. It includes the GET request and the required 'x-api-version' header. ```http GET https://enterprise01.tech.local:9419/api/v1/serverTime Request Header x-api-version:1.3-rev1 ``` -------------------------------- ### Start Configuration Backup Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Configuration-Backup Initiates a configuration backup using an HTTP POST request to the `/api/v1/configBackup/backup` endpoint. This action is available to Veeam Backup Administrators and Operators. ```http POST /api/v1/configBackup/backup HTTP/1.1 Host: vbr-server.example.com Authorization: Bearer Content-Type: application/json { "isEnabled": true, "backupRepositoryId": "d4b5e196-f3ad-474c-99bc-dfef051dae07", "restorePointsToKeep": 10, "notifications": { "SNMPEnabled": true, "SMTPSettings": { "settingsType": "Custom", "isEnabled": false, "recipients": [ ], "subject": "[%JobResult%] %JobName% (%Time%)", "notifyOnSuccess": true, "notifyOnWarning": true, "notifyOnError": true } }, "schedule": { "isEnabled": true, "daily": { "dailyKind": "Everyday", "isEnabled": true, "localTime": "10:00:00", "days": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] }, "monthly": { "dayOfWeek": "Saturday", "dayNumberInMonth": "Fourth", "isEnabled": false, "localTime": "10:00:00", "dayOfMonth": 1, "months": [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ] } }, "lastSuccessfulBackup": { "lastSuccessfulTime": "2024-01-21T10:00:35.033+01:00", "sessionId": "a8f1b5ba-a6dc-416d-9b17-95e92c0d7e76" }, "encryption": { "isEnabled": true, "passwordId": "ebf6c20f-7126-4186-a1b8-24e6c541161c" } } ``` -------------------------------- ### Another Backup Job Session Example Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Sessions This example illustrates another backup job session, similar in structure to the previous one but with different values for processed data, duration, and timestamps. It helps in understanding variations in session data. ```json { "algorithm": "Increment", "state": "Stopped", "name": "winsrv88", "restorePointId": "807f0ca2-c2c0-46ae-b759-df510585459d", "restorePointReference": "/api/v1/restorePoints/807f0ca2-c2c0-46ae-b759-df510585459d", "repositoryId": "88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec", "usn": 162437, "result": { "result": "Success", "message": "Success", "isCanceled": false }, "progress": { "bottleneck": "Source", "duration": "00:02:10", "processingRate": "141.9 MB", "processedSize": 150323855360, "readSize": 4255121408, "progressPercent": 0, "transferredSize": 0 }, "type": "Backup", "sessionType": "BackupJob", "id": "7dff932c-df5b-41b2-9955-7baf2ed08e57", "sessionId": "22babeec-9df0-41ef-b9fd-0d10c667a486", "creationTime": "2024-11-12T16:00:35.98907", "endTime": "2024-11-12T16:02:46.082522" } ``` -------------------------------- ### Get Scale-Out Backup Repository Request Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Repositories Example of a GET request to retrieve a specific scale-out backup repository by its ID. Requires the repository's unique identifier in the path. ```http GET /api/v1/backupInfrastructure/scaleOutRepositories/{id} HTTP/1.1 Host: {vbr_server} Accept: application/json Authorization: Bearer {access_token} ``` -------------------------------- ### Start Security & Compliance Analyzer (curl) Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Security Use this cURL command to initiate the Security & Compliance Analyzer on the backup server. Ensure you replace with your actual authorization token and verify the x-api-version. ```curl curl -i -X POST \ https://api.example.com:9419/api/v1/securityAnalyzer/start \ -H 'Authorization: Bearer ' \ -H 'x-api-version: 1.3-rev1' ``` -------------------------------- ### Get Installed License via cURL Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/License Use this cURL command to retrieve the installed license details from the backup server. Ensure you include the correct Authorization token and API version in the headers. ```bash curl -i -X GET \ https://api.example.com:9419/api/v1/license \ -H 'Authorization: Bearer ' \ -H 'x-api-version: 1.3-rev1' ``` -------------------------------- ### Failback Response Sample Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Failback Example response when starting a failback operation, indicating the session details and status. ```json { "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39", "sessionType": "Infrastructure", "creationTime": "2019-08-24T14:15:22Z", "endTime": "2019-08-24T14:15:22Z", "state": "Stopped", "progressPercent": 0, "result": { "result": "None", "message": "string", "isCanceled": true }, "resourceId": "026d60bb-63a8-407e-bf67-01dcfc6022e6", "resourceReference": "string", "parentSessionId": "b1d7834e-fe2f-4cad-b0e5-ff5c5615f344", "usn": 0, "platformName": "VMware", "platformId": "32a6e381-64f4-4911-86b6-3bf681b64d23", "initiatedBy": "string", "relatedSessionId": "f3a08375-4fc2-4154-a968-538c1da6dd56" } ], "pagination": { "total": 0, "count": 0, "skip": 0, "limit": 0 } } ``` -------------------------------- ### Start VM Migration Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Restore Initiates a Quick Migration session to migrate a VM. The session's progress can be tracked via its state. ```APIDOC ## POST /api/v1/restore/instantRecovery/vSphere/vm/{mountId}/migrate ### Description Starts a Quick Migration session to migrate a VM. The session's progress can be tracked via its state. ### Method POST ### Endpoint /api/v1/restore/instantRecovery/vSphere/vm/{mountId}/migrate ### Parameters #### Header Parameters - **x-api-version** (string) - Required - Version and revision of the client REST API. Must be in the following format: `-`. #### Request Body - **destinationHost** (object) - Required - Inventory object properties. - **type** (string) - Inventory object type. - **hostName** (string) - Host name. - **name** (string) - Object name. - **objectId** (string) - Object ID. - **urn** (string) - URN of the object. - **platform** (string) - Platform type (e.g., VSphere). - **size** (string) - Size of the object. - **resourcePool** (object) - Inventory object properties. - **type** (string) - Inventory object type. - **hostName** (string) - Host name. - **name** (string) - Object name. - **objectId** (string) - Object ID. - **urn** (string) - URN of the object. - **platform** (string) - Platform type (e.g., VSphere). - **size** (string) - Size of the object. - **folder** (object) - Inventory object properties. - **type** (string) - Inventory object type. - **hostName** (string) - Host name. - **name** (string) - Object name. - **objectId** (string) - Object ID. - **urn** (string) - URN of the object. - **platform** (string) - Platform type (e.g., VSphere). - **size** (string) - Size of the object. - **datastore** (object) - Inventory object properties. - **type** (string) - Inventory object type. - **hostName** (string) - Host name. - **name** (string) - Object name. - **objectId** (string) - Object ID. - **urn** (string) - URN of the object. - **platform** (string) - Platform type (e.g., VSphere). - **size** (string) - Size of the object. - **sourceProxyIds** (Array of strings) - Array of source backup proxies (UUIDs). - **targetProxyIds** (Array of strings) - Array of target backup proxies (UUIDs). - **VeeamQMEnabled** (boolean) - If `true`, the Veeam Quick Migration mechanism is used. Otherwise, Veeam Backup & Replication will use VMware vMotion for migration. - **DeleteSourceVmsFiles** (boolean) - If `true`, Veeam Backup & Replication will delete source VM files upon successful migration. ### Request Example ```json { "destinationHost": { "type": "Host", "hostName": "vcenter01.tech.local", "name": "prgtwesx01.tech.local", "objectId": "host-1008", "urn": "vc:vcenter01.tech.local;folder:group-d1;datacenter:datacenter-1001;folder:group-h1003;computeresource:domain-s1006;hostsystem:host-1008", "platform": "VSphere", "size": "N/A" }, "folder": { "type": "Folder", "hostName": "vcenter01.tech.local", "name": "Enterprise", "objectId": "group-v2046", "urn": "vc:vcenter01.tech.local;folder:group-d1;datacenter:datacenter-1001;folder:group-v1002;folder:group-v2004;folder:group-v2046", "platform": "VSphere", "size": "N/A" }, "resourcePool": { "type": "ResourcePool", "hostName": "vcenter01.tech.local", "name": "Enterprise", "objectId": "resgroup-1023", "urn": "vc:vcenter01.tech.local;folder:group-d1;datacenter:datacenter-1001;folder:group-h1003;computeresource:domain-s1006;hostsystem:host-1008;resourcepool:resgroup-1023", "platform": "VSphere", "size": "N/A" }, "datastore": { "type": "Datastore", "hostName": "vcenter01.tech.local", "name": "prgtwesx01-ds01", "objectId": "datastore-4686", "urn": "vc:vcenter01.tech.local;folder:group-d1;datacenter:datacenter-1001;datastore:datastore-4686", "platform": "VSphere", "size": "21.8 TB" }, "sourceProxyIds": [ "2e0bf225-91b3-4005-8524-6f7971e9ac4f", "6745a759-2205-4cd2-b172-8ec8f7e60ef8" ], "targetProxyIds": [ "83ba3602-158f-45cd-affc-0885c10b84fc", "3c5557b1-71e8-4508-8dce-4e743b294ef5" ], "VeeamQMEnabled": true, "DeleteSourceVmsFiles": false } ``` ### Response #### Success Response (200) - **sessionType** (string) - Type of the migration session (e.g., "QuickMigration"). - **state** (string) - Current state of the session (e.g., "Stopped", "InProgress"). - **id** (string) - Unique identifier for the session. - **name** (string) - Name of the session. - **jobId** (string) - Identifier for the associated job. - **creationTime** (string) - Timestamp when the session was created. - **endTime** (string) - Timestamp when the session ended. - **progressPercent** (integer) - Completion percentage of the session. - **result** (object) - Result details of the session. - **result** (string) - Overall result (e.g., "Success", "Failed"). - **message** (string) - Detailed message about the result. - **isCanceled** (boolean) - Indicates if the session was canceled. - **resourceId** (string) - Identifier for the resource being migrated. - **usn** (integer) - Update Sequence Number. #### Response Example ```json { "sessionType": "QuickMigration", "state": "Stopped", "id": "8228661b-861e-40c4-8133-8a97700f4dfa", "name": "Quick Migration Job", "jobId": "a00aa837-2c85-40c9-ae98-8b089dabc9b5", "creationTime": "2024-03-07T21:16:08.216977+01:00", "endTime": "2024-03-07T21:22:45.678901+01:00", "progressPercent": 100, "result": { "result": "Success", "message": "Success", "isCanceled": false }, "resourceId": "8228661b-861e-40c4-8133-8a97700f4dfa", "usn": 0 } ``` ### Error Handling - **400 Bad Request**: The request body is malformed, incomplete, or invalid. - **401 Unauthorized**: Authorization header is missing or expired. - **403 Forbidden**: User lacks adequate privileges. - **404 Not Found**: No object was found with the specified path parameter. - **500 Internal Server Error**: An internal server error occurred. ``` -------------------------------- ### Credentials - Get All Helper Appliances Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Repositories Retrieves a list of all configured helper appliances. ```APIDOC ## GET /api/v1/helperAppliances ### Description Retrieves a list of all configured helper appliances. ### Method GET ### Endpoint /api/v1/helperAppliances ### Response #### Success Response (200 OK) - **helperAppliances** (array) - A list of helper appliances. - **id** (string) - The unique identifier of the helper appliance. - **name** (string) - The name of the helper appliance. ``` -------------------------------- ### Get License Instances Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/License Use this endpoint to retrieve a list of installed license instances. Supports filtering, sorting, and pagination. ```curl curl -i -X GET \ 'https://api.example.com:9419/api/v1/license/instances?skip=0&limit=200&orderColumn=Name&orderAsc=true&nameFilter=string&hostNameFilter=string&usedInstancesNumberFilter=0&typeFilter=string&instanceIdFilter=497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -H 'Authorization: Bearer ' \ -H 'x-api-version: 1.3-rev1' ``` -------------------------------- ### Start Log Export Session (All Logs) Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Log-export Initiates a log export session to collect all backup server logs. Ensure the 'Authorization' header is correctly set. ```json { "exportType": "All" } ``` -------------------------------- ### Get YARA Rules Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Malware-Detection Retrieves YARA rules used for malware detection. These rules are located in the Veeam Backup & Replication installation folder. ```APIDOC ## GET /api/v1/malwareDetection/yaraRules ### Description Retrieves YARA rules located in the Veeam Backup & Replication installation folder. The default path is `%ProgramFiles%\Veeam\Backup and Replication\Backup\YaraRules` for Microsoft Windows-based backup servers and `/var/lib/veeam/yara_rules` for Linux-based backup servers. ### Method GET ### Endpoint /api/v1/malwareDetection/yaraRules ### Parameters #### Header Parameters - **x-api-version** (string) - Required - Version and revision of the client REST API. Must be in the following format: `-`. ### Request Example ```bash curl -i -X GET \ https://api.example.com:9419/api/v1/malwareDetection/yaraRules \ -H 'Authorization: Bearer ' \ -H 'x-api-version: 1.3-rev1' ``` ### Response #### Success Response (200) OK #### Response Example ```json { "data": [ { "fileName": "FindFileByHash.yara" }, { "fileName": "FindFileByParameters.yara" }, { "fileName": "FindString.yara" } ], "pagination": { "total": 3, "count": 3, "skip": 0, "limit": 3 } } ``` ``` -------------------------------- ### Get User or Group Response Body Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Users-and-Roles This is an example of a successful response when retrieving a user or group. It details the user's properties, including their roles. ```json { "type": "InternalUser", "id": "1cc300d4-c356-46d6-a1b8-ccd0b23cc08e", "name": "TECH\sheila.d.cory", "roles": [ { "id": "5ff0e0eb-45cf-48cc-9677-7613fc79bc11", "name": "Veeam Backup Administrator", "description": "Built-in role with full privileges" } ], "isServiceAccount": false } ``` -------------------------------- ### Get All Helper Appliances Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Credentials Retrieves a list of all configured helper appliances. ```APIDOC ## GET /helperAppliances ### Description Retrieves a list of all configured helper appliances. ### Method GET ### Endpoint /helperAppliances ``` -------------------------------- ### Get All Recovery Tokens Response Body (JSON) Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Agents This is an example of the JSON response when retrieving all recovery tokens. It includes an array of tokens and pagination details. ```json { "data": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "recoveryToken": "string", "expirationDate": "2019-08-24T14:15:22Z" } ], "pagination": { "total": 0, "count": 0, "skip": 0, "limit": 0 } } ``` -------------------------------- ### Start Switchover to Production Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Failback Initiates a switchover from replica restore points to production VMware vSphere VMs. Requires a list of replica point IDs. ```json { "replicaPointIds": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ] } ``` -------------------------------- ### Get YARA Rules Response Body Source: https://helpcenter.veeam.com/references/vbr/13/rest/1.3-rev1/tag/Malware-Detection This is an example of a successful response when retrieving YARA rules. It lists the file names of the detected YARA rules and pagination details. ```json { "data": [ { "fileName": "FindFileByHash.yara" }, { "fileName": "FindFileByParameters.yara" }, { "fileName": "FindString.yara" } ], "pagination": { "total": 3, "count": 3, "skip": 0, "limit": 3 } } ```