Protection Groups

The Protection Groups section defines paths and operations for creating and managing protection groups in your backup infrastructure.

NOTE
In this version, the REST API supports the following protection group types:

  • Individual computers
  • Microsoft Active Directory objects
  • Computers from CSV file
  • Computers with pre-installed backup agents
  • Manually added protection groups

Get Protection Groups

The HTTP GET request to the /api/v1/agents/protectionGroups path allows you to get an array of protection groups that are added to the physical infrastructure.

Available to: Veeam Backup Administrator.

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

Add Protection Group

The HTTP POST request to the /api/v1/agents/protectionGroups path allows you to add a protection group to the physical infrastructure.

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
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} path allows you to get 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.

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}
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} path allows you to edit 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.

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>

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} path allows you to remove 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-rev0

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": "Working",
  • "id": "af1a6027-3845-487e-9a16-6849f4775a1e",
  • "name": "Infrastructure Item Deletion",
  • "jobId": "fc5683a4-8c25-4f8e-97cc-0a40745a5729",
  • "creationTime": "2025-06-28T20:21:08.81+01:00",
  • "endTime": null,
  • "progressPercent": 0,
  • "result": null,
  • "resourceId": null,
  • "resourceReference": null,
  • "parentSessionId": null,
  • "usn": 0
}

Rescan Protection Group

The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/rescan path allows you to rescan 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-rev0

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 path allows you to enable 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-rev0

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

Responses
200

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

Disable Protection Group

The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/disable path allows you to disable 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-rev0

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

Responses
200

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

Download Protection Group Packages

The HTTP POST request to the /api/v1/agents/protectionGroups/{id}/packages path allows you to download 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-rev0

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