Veeam Backups API
The Backups section defines paths and operations for managing backups that are created on or imported to the backup server.
The Backups section defines paths and operations for managing backups that are created on or imported to the backup server.
openapi: 3.0.0
info:
version: 1.0-rev0
title: Veeam Backup for AWS public API 1.0 Agents Backups API
description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery.
security:
- Bearer: []
tags:
- description: The Backups section defines paths and operations for managing backups that are created on or imported to the backup server.
name: Backups
paths:
/api/v1/backups:
get:
description: The HTTP GET request to the `/api/v1/backups` path allows you to get an array of all backups that are created on or imported to the backup server.
operationId: GetAllBackups
parameters:
- $ref: '#/components/parameters/apiVersionParam'
- description: Number of backups to skip.
in: query
name: skip
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
- description: Maximum number of backups to return.
in: query
name: limit
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
- description: Sorts backups by one of the backup parameters.
in: query
name: orderColumn
schema:
$ref: '#/components/schemas/EBackupsFiltersOrderColumn'
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
- description: Sorts backups in the ascending order by the `orderColumn` parameter.
in: query
name: orderAsc
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
- description: Filters backups by the `nameFilter` pattern. The pattern can match any backup parameter. To substitute one or more characters, use the asterisk (*) character at the beginning, at the end or both.
in: query
name: nameFilter
schema:
type: string
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
- description: Returns backups that are created after the specified date and time.
in: query
name: createdAfterFilter
schema:
format: date-time
type: string
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
- description: Returns backups that are created before the specified date and time.
in: query
name: createdBeforeFilter
schema:
format: date-time
type: string
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
- description: Filters backups by ID of the backup object platform.
in: query
name: platformIdFilter
schema:
format: uuid
type: string
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
- description: Filters backups by ID of the parent job.
in: query
name: jobIdFilter
schema:
format: uuid
type: string
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
- description: Filters backups by retention policy tag.
in: query
name: policyTagFilter
schema:
type: string
x-veeam-spec:
$ref: '#/components/schemas/BackupsFilters'
responses:
'200':
content:
application/json:
example:
data:
- creationTime: '2022-02-12T04:24:16.2+03:00'
id: f3b0fbc5-01cf-4464-976a-4881e6eda067
jobId: 53b87378-7958-477d-8def-fbe6740d4b6f
name: Oracle Backup
platformId: 00000000-0000-0000-0000-000000000000
platformName: VMware
policyTag: ''
repositoryId: 88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec
- creationTime: '2019-11-13T16:34:21+03:00'
id: b2f9f40f-7944-498f-baff-175e18558829
jobId: 00000000-0000-0000-0000-000000000000
name: Oracle Backup
platformId: c8098b32-9700-459b-b27c-4dceaf4ea932
platformName: CustomPlatform
policyTag: ''
repositoryId: 49607f55-4cc4-4ea5-a2c9-e750318d0f34
pagination:
count: 2
limit: 200
skip: 0
total: 2
schema:
$ref: '#/components/schemas/BackupsResult'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get All Backups
tags:
- Backups
x-veeam-authorize:
claims:
- ViewBackups
/api/v1/backups/{id}:
get:
description: The HTTP GET request to the `/api/v1/backups/{id}` path allows you to get a backup that has the specified `id`.
operationId: GetBackup
parameters:
- $ref: '#/components/parameters/apiVersionParam'
- description: ID of the backup.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
example:
platformName: VMware
repositoryId: 88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec
platformId: 00000000-0000-0000-0000-000000000000
id: 9d4c348d-284a-480d-9340-6454998fa227
name: AD Backup
creationTime: '2021-02-12T04:24:32.087+03:00'
policyTag: ''
jobId: 301450bc-34cd-4d2c-bfc3-8d269bb471be
schema:
$ref: '#/components/schemas/BackupModel'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get Backup
tags:
- Backups
x-veeam-authorize:
claims:
- ViewBackups
/api/v1/backups/{id}/objects:
get:
description: The HTTP GET request to the `/api/v1/backups/{id}/objects` path allows you to get an array of virtual infrastructure objects (VMs and VM containers) that are included in a backup that has the specified ID.
operationId: GetBackupObjects
parameters:
- $ref: '#/components/parameters/apiVersionParam'
- description: ID of the backup.
in: path
name: id
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
example:
data:
- id: 2a192b21-4d32-4b94-829e-231e8f0c0355
name: DLDC
objectId: '503'
path: 172.17.42.92\DLDC
platformId: 00000000-0000-0000-0000-000000000000
platformName: VMware
restorePointsCount: 3
type: VM
viType: VirtualMachine
pagination:
count: 1
limit: 1
skip: 0
total: 1
schema:
$ref: '#/components/schemas/BackupObjectsResult'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get Backup Objects
tags:
- Backups
x-veeam-authorize:
claims:
- ViewBackupObjects
components:
schemas:
EVmwareInventoryType:
description: Type of the VMware vSphere object.
enum:
- Unknown
- VirtualMachine
- vCenterServer
- Datacenter
- Cluster
- Host
- ResourcePool
- Folder
- Datastore
- DatastoreCluster
- StoragePolicy
- Template
- ComputeResource
- VirtualApp
- Tag
- Category
- Multitag
- Network
type: string
BaseBackupObjectModel:
properties:
id:
description: ID of the object.
format: uuid
type: string
name:
description: Name of the object.
type: string
platformId:
description: Id of the platform where the object was created.
format: uuid
type: string
platformName:
$ref: '#/components/schemas/EPlatformType'
restorePointsCount:
description: Number of restore points.
type: integer
type:
description: Type of the object.
type: string
type: object
ViBackupObjectModel:
allOf:
- $ref: '#/components/schemas/BaseBackupObjectModel'
- properties:
objectId:
description: ID of the virtual infrastructure object (mo-ref or ID, depending on the virtualization platform).
type: string
path:
description: Path to the object.
type: string
viType:
$ref: '#/components/schemas/EVmwareInventoryType'
required:
- objectId
type: object
BackupObjectsResult:
properties:
data:
description: Array of backup objects.
items:
$ref: '#/components/schemas/BackupObjectModel'
type: array
pagination:
$ref: '#/components/schemas/PaginationResult'
required:
- data
- pagination
type: object
BackupsResult:
properties:
data:
description: Array of backups.
items:
$ref: '#/components/schemas/BackupModel'
type: array
pagination:
$ref: '#/components/schemas/PaginationResult'
required:
- data
- pagination
type: object
BackupsFilters:
properties:
createdAfterFilter:
format: date-time
type: string
createdBeforeFilter:
format: date-time
type: string
jobIdFilter:
format: uuid
type: string
limit:
format: int32
type: integer
nameFilter:
type: string
orderAsc:
type: boolean
orderColumn:
$ref: '#/components/schemas/EBackupsFiltersOrderColumn'
platformIdFilter:
format: uuid
type: string
policyTagFilter:
type: string
skip:
format: int32
type: integer
type: object
BackupModel:
properties:
creationTime:
description: Date and time when the backup was created.
format: date-time
type: string
id:
description: ID of the backup.
format: uuid
type: string
jobId:
description: ID of the job that created the backup.
format: uuid
type: string
name:
description: Name of the job that created the backup.
type: string
platformId:
description: ID of the platform of the backup resource.
format: uuid
type: string
platformName:
$ref: '#/components/schemas/EPlatformType'
policyTag:
description: Tag that identifies retention policy.
type: string
repositoryId:
description: ID of the backup repository where the backup is stored.
format: uuid
type: string
required:
- id
- name
- type
- platformName
- platformId
- creationTime
- repositoryId
type: object
EBackupsFiltersOrderColumn:
enum:
- Name
- CreationTime
- PlatformId
- JobId
- PolicyTag
type: string
PaginationResult:
description: Pagination settings.
properties:
count:
description: Number of returned results.
format: int32
type: integer
limit:
description: Maximum number of results to return.
format: int32
type: integer
skip:
description: Number of skipped results.
format: int32
type: integer
total:
description: Total number of results.
format: int32
type: integer
required:
- total
- count
type: object
Error:
properties:
errorCode:
description: The error code is a string that uniquely identifies an error condition and should be understood by programs that detect and handle errors by type
enum:
- AccessDenied
- ExpiredToken
- InvalidToken
- InvalidURI
- MethodNotAllowed
- NotFound
- NotImplemented
- ServiceUnavailable
- UnexpectedContent
- UnknownError
type: string
message:
description: The error message contains a generic description of the error condition in English. It is intended for a human audience
type: string
resourceId:
description: ID of the object that is involved in the error (or empty)
type: string
required:
- errorCode
- message
type: object
EPlatformType:
description: Platform name.
enum:
- VMware
- HyperV
- Vcd
- WindowsPhysical
- LinuxPhysical
- Tape
- NasBackup
- CustomPlatform
type: string
BackupObjectModel:
allOf:
- discriminator:
mapping:
VMware: '#/components/schemas/ViBackupObjectModel'
propertyName: platformName
oneOf:
- $ref: '#/components/schemas/ViBackupObjectModel'
- $ref: '#/components/schemas/BaseBackupObjectModel'
responses:
InternalServerError:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal server error. The request has been received but could not be completed because of an internal error at the server side.
Unauthorized:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Unauthorized. The authorization header has been expected but not found (or found but is expired).
NotFound:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Not found. No object was found with the path parameter specified in the request.
Forbidden:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Forbidden. The user sending the request does not have adequate privileges to access one or more objects specified in the request.
parameters:
apiVersionParam:
description: Version and revision of the client REST API. Must be in the following format: `<version>-<revision>`.
in: header
name: x-api-version
required: true
schema:
default: 1.1-rev0
type: string
securitySchemes:
Bearer:
name: Authorization
in: header
type: apiKey
description: Bearer \<JWT\>