Agents

The Agents section defines paths and 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: 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-rev1

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 endpoint creates a new recovery token.

Available to: Veeam Backup Administrator.

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

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} endpoint gets 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-rev1

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} endpoint edits 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-rev1

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} endpoint deletes 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-rev1

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
{
  • "errorCode": "AccessDenied",
  • "message": "string",
  • "resourceId": "string"
}

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: 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-rev1

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
{
  • "data": [
    ],
  • "pagination": {
    }
}

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: 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-rev1

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 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: Veeam Backup Administrator, Veeam Restore Operator, Veeam Tape Operator.

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

Enum: "Name" "Description" "Type"
orderAsc
boolean

Sorts protection groups in the ascending order by the orderColumn parameter.

nameFilter
string

Filters protection groups by the nameFilter pattern. To substitute one or more characters, use the asterisk (*) character at the beginning and/or at the end.

typeFilter
string (EProtectionGroupType)

Filters protection groups by protection group type.

Enum: "ManuallyAdded" "Unmanaged" "IndividualComputers" "ADObjects" "CSVFile" "PreInstalledAgents" "CloudMachines" "MongoDB"
header Parameters
x-api-version
required
string
Default: 1.3-rev1

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/protectionGroups
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Add Protection Group

The HTTP POST request to the /api/v1/agents/protectionGroups endpoint adds a protection group to the physical infrastructure.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
query Parameters
performRescan
boolean
Default: false

If true and the settings are saved successfully, Veeam Backup & Replication automatically starts discovery (rescan).

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

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

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

Responses
201

An Infrastructure session has been created to add the protection group. To check the progress, track the session state.

400

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

401

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

403

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

500

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

post/api/v1/agents/protectionGroups
Request samples
application/json
{
  • "computers": [
    ],
  • "type": "IndividualComputers",
  • "name": "Microsoft SQL Server PG",
  • "description": "Created by .\\Administrator"
}
Response samples
application/json
{
  • "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": {
    },
  • "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: Veeam Backup Administrator, Veeam Restore Operator, Veeam Tape Operator.

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

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}
Request samples
Response samples
application/json
{
  • "computers": [
    ],
  • "options": {
    },
  • "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: 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
performRescan
boolean
Default: false

If true and the settings are saved successfully, Veeam Backup & Replication automatically starts discovery (rescan).

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

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>

Protection group ID.

description
required
string

Protection group description.

name
required
string

Protection group name.

type
required
string (EProtectionGroupType)

Protection group type

isDisabled
required
boolean

If true, the protection group is disabled

Array of objects (IndividualComputerContainerModel)

Array of protected computers.

object (ProtectionGroupOptionsModel)

Protection group options.

Responses
201

An Infrastructure session has been created to edit the repository. To check the progress, track the session state.

400

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

401

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

403

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

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/protectionGroups/{id}
Request samples
application/json
{
  • "computers": [
    ],
  • "options": {
    },
  • "type": "IndividualComputers",
  • "id": "c2600b42-7c64-4219-a447-95bd33e70c1a",
  • "name": "Microsoft SQL Server PG",
  • "description": "Created by .\\Administrator at 4/8/2025 5:51 PM."
}
Response samples
application/json
{
  • "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": {
    },
  • "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: 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
uninstallEverything
boolean

If true, uninstalls all Veeam components installed on the protected computer.

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

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

Responses
201

An InfrastructureItemDeletion session has been created to delete the protection group. To check the progress, track the session state.

401

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

403

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

404

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

500

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

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

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

Responses
201

An AgentDiscovery session has been created to rescan the protection group. To check the progress, track the session state.

400

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

401

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

403

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

404

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

500

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

post/api/v1/agents/protectionGroups/{id}/rescan
Request samples
Response samples
application/json
{
  • "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": {
    },
  • "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: 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-rev1

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

Responses
204

Protection group has been enabled.

400

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

401

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

403

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

404

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

500

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

post/api/v1/agents/protectionGroups/{id}/enable
Request samples
Response samples
application/json
{
  • "errorCode": "AccessDenied",
  • "message": "string",
  • "resourceId": "string"
}

Disable Protection Group

The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/disable endpoint disables a protection group.

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

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

Responses
204

Protection group has been disabled.

400

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

401

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

403

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

404

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

500

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

post/api/v1/agents/protectionGroups/{id}/disable
Request samples
Response samples
application/json
{
  • "errorCode": "AccessDenied",
  • "message": "string",
  • "resourceId": "string"
}

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: 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-rev1

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

Request Body schema: application/json
required
format
string

Format of the Veeam Agent package.

Enum: "Zip" "Tar"
includeWindowsPackages
boolean

If true, Windows packages will be downloaded.

includeMacPackages
boolean

If true, Mac packages will be downloaded.

object (PreInstalledAgentsPackagesModel)

Pre-installed packages on the protection group.

object (PreInstalledAgentsPackagesModel)

Pre-installed packages on the protection group.

Responses
200

OK

400

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

401

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

403

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

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}/packages
Request samples
application/json
{
  • "format": "Zip",
  • "includeWindowsPackages": true
}
Response samples
application/json
{
  • "errorCode": "AccessDenied",
  • "message": "string",
  • "resourceId": "string"
}

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: 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-rev1

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 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: 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-rev1

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 endpoint installs agent on discovered entities in 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.

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

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 endpoint uninstalls Veeam Agent from discovered entities in 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.

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

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"
}

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: 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-rev1

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/upgradeAgent
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 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: 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-rev1

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/installCBTDriver
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 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: 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-rev1

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/uninstallCBTDriver
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 endpoint uninstalls all components from discovered entities in 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.

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

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",
  • "relatedSessionId": "f3a08375-4fc2-4154-a968-538c1da6dd56"
}

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: 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-rev1

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
204

The discovered computers have been added to the trusted hosts list.

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/trust
Request samples
application/json
{
  • "entityIds": [
    ]
}
Response samples
application/json
{
  • "errorCode": "AccessDenied",
  • "message": "string",
  • "resourceId": "string"
}

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: Veeam Backup Administrator.

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

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} endpoint removes 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 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-rev1

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
{
  • "errorCode": "AccessDenied",
  • "message": "string",
  • "resourceId": "string"
}

Create Recovery Media for Discovered Entity

The HTTP GET request to the /api/v1/agents/protectionGroups/{id}/discoveredEntities/{entityId}/createRecoveryMedia endpoint creates Veeam Recovery Media for a protected 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.

Available to: Veeam Backup Administrator.

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

Value: "Iso"
header Parameters
x-api-version
required
string
Default: 1.3-rev1

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}/createRecoveryMedia
Request samples
Response samples
application/json
{
  • "errorCode": "AccessDenied",
  • "message": "string",
  • "resourceId": "string"
}

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: 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 distribution name.

packageBitnessFilter
string

Filters Linux packages by the package bitness.

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

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 endpoint gets 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-rev1

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": {
    }
}