Veeam Policies API
The Policies API from Veeam — 15 operation(s) for policies.
The Policies API from Veeam — 15 operation(s) for policies.
openapi: 3.0.0
info:
version: 1.0-rev0
title: Veeam Backup for AWS public API 1.0 Agents Policies API
description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery.
security:
- Bearer: []
tags:
- name: Policies
paths:
/api/v1/policies:
get:
tags:
- Policies
operationId: PoliciesGetAll
parameters:
- name: SearchPattern
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PoliciesFilters'
schema:
type: string
- name: VirtualMachineId
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PoliciesFilters'
schema:
type: string
format: uuid
- name: LastPolicySessionStatus
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PoliciesFilters'
explode: true
schema:
type: array
items:
type: string
enum:
- Running
- NeverExecuted
- Succeeded
- Warning
- Failed
- Canceled
uniqueItems: false
- name: PolicyStatus
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PoliciesFilters'
explode: true
schema:
type: array
items:
type: string
enum:
- Enabled
- Disabled
uniqueItems: false
- name: Sort
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PoliciesFilters'
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- priorityAsc
- priorityDesc
- nameAsc
- nameDesc
- usnAsc
- usnDesc
- name: Usn
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PoliciesFilters'
schema:
type: integer
format: int64
- name: RepositoryId
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PoliciesFilters'
schema:
type: string
format: uuid
- name: Offset
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PoliciesFilters'
schema:
type: integer
format: int32
minimum: 0
- name: Limit
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PoliciesFilters'
schema:
type: integer
format: int32
minimum: -1
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PoliciesPage'
application/problem+json:
schema:
$ref: '#/components/schemas/PoliciesPage'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Policies
operationId: CreatePolicy
parameters:
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/PolicySpec'
application/json:
schema:
$ref: '#/components/schemas/PolicySpec'
text/json:
schema:
$ref: '#/components/schemas/PolicySpec'
application/*+json:
schema:
$ref: '#/components/schemas/PolicySpec'
application/csp-report:
schema:
$ref: '#/components/schemas/PolicySpec'
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Policy'
application/problem+json:
schema:
$ref: '#/components/schemas/Policy'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/{policyId}:
get:
tags:
- Policies
operationId: PoliciesGetOneById
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Policy'
application/problem+json:
schema:
$ref: '#/components/schemas/Policy'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
put:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Policies
operationId: UpdatePolicy
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/Policy'
application/json:
schema:
$ref: '#/components/schemas/Policy'
text/json:
schema:
$ref: '#/components/schemas/Policy'
application/*+json:
schema:
$ref: '#/components/schemas/Policy'
application/csp-report:
schema:
$ref: '#/components/schemas/Policy'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Policy'
application/problem+json:
schema:
$ref: '#/components/schemas/Policy'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
delete:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Policies
operationId: DeletePolicy
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Failed to delete policy, verify it is not in use and try again.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/{policyId}/selectedItems:
get:
tags:
- Policies
operationId: PoliciesGetSelectedItemsById
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- name: Offset
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PolicyItemsFilters'
schema:
type: integer
format: int32
minimum: 0
- name: Limit
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PolicyItemsFilters'
schema:
type: integer
format: int32
minimum: -1
- name: SearchPattern
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PolicyItemsFilters'
schema:
type: string
- name: Sort
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PolicyItemsFilters'
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- nameAsc
- nameDesc
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyItemsPage'
application/problem+json:
schema:
$ref: '#/components/schemas/PolicyItemsPage'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/{policyId}/regions:
get:
tags:
- Policies
operationId: PoliciesGetRegionsById
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- name: SearchPattern
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/RegionsFilters'
schema:
type: string
- name: Offset
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/RegionsFilters'
schema:
type: integer
format: int32
- name: Limit
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/RegionsFilters'
schema:
type: integer
format: int32
- name: Sort
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/RegionsFilters'
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- nameAsc
- nameDesk
uniqueItems: false
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/RegionsPage'
application/problem+json:
schema:
$ref: '#/components/schemas/RegionsPage'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/{policyId}/excludedItems:
get:
tags:
- Policies
operationId: PoliciesGetExcludedItemsById
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- name: Offset
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PolicyItemsFilters'
schema:
type: integer
format: int32
minimum: 0
- name: Limit
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PolicyItemsFilters'
schema:
type: integer
format: int32
minimum: -1
- name: SearchPattern
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PolicyItemsFilters'
schema:
type: string
- name: Sort
in: query
required: false
x-veeam-spec:
$ref: '#/components/schemas/PolicyItemsFilters'
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- nameAsc
- nameDesc
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyItemsPage'
application/problem+json:
schema:
$ref: '#/components/schemas/PolicyItemsPage'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/{policyId}/enable:
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Policies
operationId: EnablePolicy
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/{policyId}/disable:
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Policies
operationId: DisablePolicy
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/{policyId}/start:
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Policies
operationId: StartPolicy
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'202':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SessionLink'
application/problem+json:
schema:
$ref: '#/components/schemas/SessionLink'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: The policy has already started.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/{policyId}/stop:
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Policies
operationId: StopPolicy
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'202':
description: Success
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/{policyId}/export:
get:
tags:
- Policies
operationId: ExportPolicy
parameters:
- name: policyId
in: path
required: true
schema:
type: string
format: uuid
- $ref: '#/components/parameters/apiVersionParam'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyExportModel'
application/problem+json:
schema:
$ref: '#/components/schemas/PolicyExportModel'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not Found. One or more resources specified in the request could not be found in the specified resource collection.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
application/problem+json:
schema:
$ref: '#/components/schemas/Error'
/api/v1/policies/import:
post:
x-veeam-authorize:
roles:
- Portal Administrator
- Portal Operator
tags:
- Policies
operationId: ImportPolicy
parameters:
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyExportModel'
required: true
responses:
'202':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/SessionLink'
application/problem+json:
schema:
$ref: '#/components/schemas/SessionLink'
'400':
description: Bad Request. The request body is malformed, incomplete or otherwise invalid.
content:
application/json:
schema:
$ref:
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/veeam/refs/heads/main/openapi/veeam-policies-api-openapi.yml