Agents

The Agents section defines paths and operations for obtaining protected computers and managing recovery tokens used for bare metal recovery.

Get All Recovery Tokens

The HTTP GET request to the /api/v1/agents/recoveryTokens path allows you to get an array of all recovery tokens.

Available to: Veeam Backup Administrator.

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

Enum: "Name" "ExpirationDate"
orderAsc
boolean

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

nameFilter
string

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

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

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

403

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

500

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

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

Create Recovery Token

The HTTP POST request to the /api/v1/agents/recoveryTokens path allows you to create a new recovery token.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Request Body schema: application/json
required
backupIds
required
Array of strings <uuid>

Array of backup IDs whose data you want to restore with the recovery token.

expirationDate
required
string <date-time>

Date and time when the recovery token expires.

Responses
200

Recovery token has been created.

400

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

401

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

403

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

500

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

post/api/v1/agents/recoveryTokens
Request samples
application/json
{
  • "backupIds": [
    ],
  • "expirationDate": "2019-08-24T14:15:22Z"
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "recoveryToken": "string",
  • "expirationDate": "2019-08-24T14:15:22Z"
}

Get Recovery Token

The HTTP GET request to the /api/v1/agents/recoveryTokens/{id} path allows you to get a recovery token that has the specified id.

Available to: Veeam Backup Administrator.

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

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

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

403

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

404

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

500

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

get/api/v1/agents/recoveryTokens/{id}
Request samples
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "recoveryToken": "string",
  • "expirationDate": "2019-08-24T14:15:22Z"
}

Edit Recovery Token

The HTTP PUT request to the /api/v1/agents/recoveryTokens/{id} path allows you to edit settings of a recovery token that has the specified id.

Available to: Veeam Backup Administrator.

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

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

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

Responses
200

Recovery token has been updated.

400

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

401

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

403

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

404

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

500

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

put/api/v1/agents/recoveryTokens/{id}
Request samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "recoveryToken": "string",
  • "expirationDate": "2019-08-24T14:15:22Z"
}
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "recoveryToken": "string",
  • "expirationDate": "2019-08-24T14:15:22Z"
}

Delete Recovery Token

The HTTP DELETE request to the /api/v1/agents/recoveryTokens/{id} path allows you to delete a recovery token that has the specified id.

Available to: Veeam Backup Administrator.

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

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
204

Token has been deleted.

401

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

403

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

404

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

500

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

delete/api/v1/agents/recoveryTokens/{id}
Request samples
Response samples
application/json
{ }

Get All Protected ComputersDeprecated

The HTTP GET request to the /api/v1/agents/protectedComputers path allows you to get an array of all protected computers.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

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

Enum: "Name" "Type"
orderAsc
boolean

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

nameFilter
string

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

typeFilter
string (EProtectedComputerType)

Filters protected computers by protected computer type.

Value: "Linux"
header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

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

403

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

404

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

500

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

get/api/v1/agents/protectedComputers
Request samples
Response samples
application/json
{
  • "property": "value"
}

Get Protected ComputerDeprecated

The HTTP GET request to the /api/v1/agents/protectedComputers/{id} path allows you to get a protected computer that has the specified id.

Available to: Veeam Backup Administrator, Veeam Restore Operator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

ID of the protected computer.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

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

403

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

404

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

500

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

get/api/v1/agents/protectedComputers/{id}
Request samples
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "type": "Linux",
  • "protectionGroups": [
    ]
}

Get Discovered Entities

The HTTP GET request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities path allows you to get 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: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Protection group ID. To get the protection group ID, run the Get Protection Groups request.

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.

Enum: "Name" "State" "AgentStatus" "DriverStatus" "OperatingSystem"
orderAsc
boolean

Sorts discovered entities in the ascending order by the orderColumn parameter.

nameFilter
string

Filters discovered entities by the nameFilter pattern. The pattern can match any discovered entity parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end.

ipAddressFilter
string

Filters discovered entities by the ipAddressFilter pattern.

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-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

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

403

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

404

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

500

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

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

Rescan Discovered Entities

The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/rescan path allows you to start rescan jobs which can install/upgrade agents on a subset of discovered entities in the protection group specified by id.

Available to: Veeam Backup Administrator.

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

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

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

Responses
200

OK

401

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

403

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

404

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

500

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

post/api/v1/agents/protectionGroups/{id}/discoveredEntities/rescan
Request samples
application/json
{
  • "entityIds": [
    ]
}
Response samples
application/json
{
  • "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": {
    },
  • "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 path allows you to install agent on discovered entities in the protection group specified by id.

Available to: Veeam Backup Administrator.

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

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

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

Responses
200

OK

401

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

403

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

404

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

500

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

post/api/v1/agents/protectionGroups/{id}/discoveredEntities/installAgent
Request samples
application/json
{
  • "entityIds": [
    ]
}
Response samples
application/json
{
  • "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": {
    },
  • "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 path allows you to uninstall agent from discovered entities in the protection group specified by id.

Available to: Veeam Backup Administrator.

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

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

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

Responses
200

OK

401

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

403

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

404

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

500

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

post/api/v1/agents/protectionGroups/{id}/discoveredEntities/uninstallAgent
Request samples
application/json
{
  • "entityIds": [
    ]
}
Response samples
application/json
{
  • "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": {
    },
  • "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 path allows you to uninstall all components from discovered entities in the protection group with the specified id.

Available to: Veeam Backup Administrator.

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

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

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

Responses
200

OK

401

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

403

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

404

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

500

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

post/api/v1/agents/protectionGroups/{id}/discoveredEntities/uninstallAllComponents
Request samples
application/json
{
  • "entityIds": [
    ]
}
Response samples
application/json
{
  • "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": {
    },
  • "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"
}

Get Discovered Entity

The HTTP GET request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/{entityId} path allows you to get a discovered entity that has the specified id.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Protection group ID. To get the ID, run the Get All 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-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

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

403

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

404

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

500

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

get/api/v1/agents/protectionGroups/{id}/discoveredEntities/{entityId}
Request samples
Response samples
application/json
{
  • "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": [
    ],
  • "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": "Computer",
  • "id": "7e76a5bb-287a-490e-ae0a-5e852ea775ee",
  • "name": "dlsql03",
  • "parentId": "15aa12f6-6078-4e2f-8a90-0a3d496d6f77",
  • "protectionGroupId": "c2600b42-7c64-4219-a447-95bd33e70c1a"
}

Remove Discovered Entity

The HTTP DELETE request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/{entityId} path allows you to remove a discovered entity that has the specified id from the configuration.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Protection group ID. To get the ID, run the Get All 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-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
204

Discovered entity has been removed.

401

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

403

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

404

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

500

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

delete/api/v1/agents/protectionGroups/{id}/discoveredEntities/{entityId}
Request samples
Response samples
application/json
{ }

Get Linux Agent Packages

The HTTP GET request to the /api/v1/agents/packages/linux path allows you to get an array of Linux agent packages available for export.

Available to: Veeam Backup Administrator.

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

Enum: "Name" "DistributionName"
orderAsc
boolean

Sorts Linux packages in the ascending order by the orderColumn parameter.

nameFilter
string

Filters Linux packages by the nameFilter pattern. The pattern can match any Linux package parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end.

distributionFilter
string

Filters Linux packages by the distributionName.

packageBitnessFilter
string

Filters Linux packages by the package bitness.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

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

403

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

500

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

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

Get Unix Agent Packages

The HTTP GET request to the /api/v1/agents/packages/unix path allows you to get an array of Unix agent packages available for export.

Available to: Veeam Backup Administrator.

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

Value: "Name"
orderAsc
boolean

Sorts Unix packages in the ascending order by the orderColumn parameter.

nameFilter
string

Filters Unix packages by the nameFilter pattern. The pattern can match any Unix Package parameter. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end.

header Parameters
x-api-version
required
string
Default: 1.3-rev0

Version and revision of the client REST API. Must be in the following format: <version>-<revision>.

Responses
200

OK

401

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

403

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

500

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

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