openapi: 3.0.0
info:
version: 1.0-rev0
title: Veeam Backup for AWS public API 1.0 Agents Jobs API
description: The Agents section defines paths and operations for managing recovery tokens used for bare metal recovery.
security:
- Bearer: []
tags:
- description: The Jobs section defines paths and operations for managing jobs that are coordinated by the backup server.<br> <div class="note"><strong>NOTE</strong><br>In the current version, the REST API supports only jobs of the *Backup* type that include only VMware vSphere objects of the following types: *VirtualMachine*, *vCenterServer*, *Datacenter*, *Cluster*, *Host*, *ResourcePool*, *Folder*, *Template*, *Tag*, *Datastore* and *DatastoreCluster*. Objects with tags combination (or *Multitag*) are not supported.</div>
name: Jobs
paths:
/api/v1/jobs:
get:
description: The HTTP GET request to the `/api/v1/jobs` path allows you to get an array of all jobs coordinated by the backup server.
operationId: GetAllJobs
parameters:
- $ref: '#/components/parameters/apiVersionParam'
- description: Number of jobs to skip.
in: query
name: skip
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/JobsFilters'
- description: Maximum number of jobs to return.
in: query
name: limit
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/JobsFilters'
- description: Sorts jobs by one of the job parameters.
in: query
name: orderColumn
schema:
$ref: '#/components/schemas/EJobFiltersOrderColumn'
x-veeam-spec:
$ref: '#/components/schemas/JobsFilters'
- description: Sorts jobs in the ascending order by the `orderColumn` parameter.
in: query
name: orderAsc
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/JobsFilters'
- description: Filters jobs by the `nameFilter` pattern. The pattern can match any job 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/JobsFilters'
- description: Filters jobs by job type.
in: query
name: typeFilter
schema:
$ref: '#/components/schemas/EJobType'
x-veeam-spec:
$ref: '#/components/schemas/JobsFilters'
responses:
'200':
content:
application/json:
example:
data:
- description: Created by ENTERPRISE01\Administrator
guestProcessing:
appAwareProcessing:
appSettings: []
isEnabled: false
guestCredentials:
credentialsPerMachine: []
credsId: 4fbeb05c-c158-4510-84f3-6744554fb350
credsType: Standard
guestFSIndexing:
indexingSettings:
- LinuxIndexing:
guestFSIndexingMode: indexAllExcept
indexingList:
- /cdrom
- /dev
- /media
- /mnt
- /proc
- /tmp
- /lost+found
WindowsIndexing:
guestFSIndexingMode: indexAllExcept
indexingList:
- '%windir%'
- '%ProgramFiles%'
- '%ProgramFiles(x86)%'
- '%ProgramW6432%'
- '%TEMP%'
vmObject:
hostName: vcenter01.tech.local
name: filesrv02
objectId: vm-45006
type: VirtualMachine
isEnabled: true
guestInteractionProxies:
autoSelection: true
proxyIds: []
id: ef1f0227-80e1-40f8-b2a2-5119172d2c36
isDisabled: false
isHighPriority: false
name: Backup Job 2
schedule:
afterThisJob:
isEnabled: false
jobName: null
backupWindow:
backupWindow:
days:
- day: sunday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: monday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: tuesday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: wednesday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: thursday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: friday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: saturday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
isEnabled: false
continuously:
backupWindow:
days:
- day: sunday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: monday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: tuesday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: wednesday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: thursday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: friday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: saturday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
isEnabled: false
daily:
dailyKind: Everyday
days:
- sunday
- monday
- tuesday
- wednesday
- thursday
- friday
- saturday
isEnabled: true
localTime: 10:00 PM
monthly:
dayNumberInMonth: Fourth
dayOfMonth: 1
dayOfWeek: saturday
isEnabled: false
localTime: 10:00 PM
months:
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
periodically:
backupWindow:
days:
- day: sunday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: monday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: tuesday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: wednesday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: thursday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: friday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
- day: saturday
hours: 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
frequency: 1
isEnabled: false
periodicallyKind: Hours
startTimeWithinAnHour: 0
retry:
awaitMinutes: 10
isEnabled: true
retryCount: 3
runAutomatically: true
storage:
advancedSettings:
activeFulls:
isEnabled: false
monthly:
dayNumberInMonth: First
dayOfMonths: 1
dayOfWeek: monday
isEnabled: false
months:
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
weekly:
days:
- saturday
isEnabled: true
backupHealth:
isEnabled: false
monthly:
dayNumberInMonth: Last
dayOfMonths: 1
dayOfWeek: friday
isEnabled: true
months:
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
weekly:
days:
- friday
isEnabled: false
backupModeType: Incremental
fullBackupMaintenance:
RemoveData:
afterDays: 14
isEnabled: false
defragmentAndCompact:
isEnabled: false
monthly:
dayNumberInMonth: Last
dayOfMonths: 1
dayOfWeek: saturday
isEnabled: true
months:
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
weekly:
days:
- saturday
isEnabled: false
notifications:
emailNotifications:
customNotificationSettings: null
isEnabled: false
notificationType: null
recipients: []
sendSNMPNotifications: false
vmAttribute:
appendToExisitingValue: true
isEnabled: false
notes: Notes
scripts:
dayOfWeek:
- saturday
periodicityType: BackupSessions
postCommand:
command: ''
isEnabled: false
preCommand:
command: ''
isEnabled: false
runScriptEvery: 1
storageData:
compressionLevel: Optimal
enableInlineDataDedup: true
encryption:
encryptionPasswordIdOrNull: 00000000-0000-0000-0000-000000000000
encryptionPasswordTag: null
isEnabled: false
excludeDeletedFileBlocks: true
excludeSwapFileBlocks: true
storageOptimization: LocalTarget
storageIntegration:
failoverToStandardBackup: false
isEnabled: true
limitProcessedVm: false
limitProcessedVmCount: 10
synthenticFulls:
days:
- saturday
isEnabled: true
vSphere:
changedBlockTracking:
enableCBTautomatically: true
isEnabled: true
resetCBTonActiveFull: true
enableVMWareToolsQuiescence: false
backupProxies:
autoSelection: true
proxyIds: []
backupRepositoryId: 88101045-8755-4117-9221-bca81fbfabc4
gfsPolicy:
isEnabled: false
monthly:
desiredTime: First
isEnabled: false
keepForNumberOfMonths: 1
weekly:
desiredTime: sunday
isEnabled: false
keepForNumberOfWeeks: 1
yearly:
desiredTime: January
isEnabled: false
keepForNumberOfYears: 1
retentionPolicy:
quantity: 7
type: Days
type: Backup
virtualMachines:
excludes:
disks:
- disks: []
disksToProcess: AllDisks
removeFromVMConfiguration: true
vmObject:
hostName: vcenter01.tech.local
name: filesrv02
objectId: vm-45006
type: VirtualMachine
templates:
excludeFromIncremental: true
isEnabled: true
vms: []
includes:
- inventoryObject:
hostName: vcenter01.tech.local
name: filesrv02
objectId: vm-45006
type: VirtualMachine
size: 43.5 GB
pagination:
count: 1
limit: 1
skip: 0
total: 3
schema:
$ref: '#/components/schemas/JobsResult'
description: OK
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Get All Jobs
tags:
- Jobs
x-veeam-authorize:
claims:
- ViewJobs
post:
description: The HTTP POST request to the `/api/v1/jobs` path allows you to create a new job that has the specified parameters.
operationId: CreateJob
parameters:
- $ref: '#/components/parameters/apiVersionParam'
requestBody:
content:
application/json:
example:
type: Backup
storage:
gfsPolicy:
isEnabled: false
monthly:
desiredTime: First
isEnabled: false
keepForNumberOfMonths: 1
weekly:
desiredTime: sunday
isEnabled: false
keepForNumberOfWeeks: 1
yearly:
keepForNumberOfYears: 1
desiredTime: January
isEnabled: false
retentionPolicy:
quantity: 7
type: RestorePoints
advancedSettings:
backupHealth:
isEnabled: true
monthly:
dayNumberInMonth: First
dayOfMonths: 1
dayOfWeek: monday
isEnabled: true
months:
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
weekly:
days:
- friday
isEnabled: false
backupModeType: Incremental
scripts:
postCommand:
command: ''
dayOfWeek:
- saturday
isEnabled: false
periodicityType: BackupSessions
runScriptEvery: 1
preCommand:
dayOfWeek:
- saturday
isEnabled: false
periodicityType: BackupSessions
runScriptEvery: 1
command: ''
storageData:
excludeDeletedFileBlocks: true
excludeSwapFileBlocks: true
storageOptimization: LocalTarget
compressionLevel: Optimal
enableInlineDataDedup: true
encryption:
isEnabled: false
passwordId: 00000000-0000-0000-0000-000000000000
storageIntegration:
limitProcessedVmCount: 13
failoverToStandardBackup: true
isEnabled: true
limitProcessedVm: true
synthenticFulls:
days:
- saturday
isEnabled: true
activeFulls:
isEnabled: true
monthly:
dayNumberInMonth: First
dayOfMonths: 1
dayOfWeek: monday
isEnabled: false
months:
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
weekly:
days:
- saturday
isEnabled: true
fullBackupMaintenance:
RemoveData:
afterDays: 14
isEnabled: false
defragmentAndCompact:
isEnabled: false
monthly:
dayNumberInMonth: Last
dayOfMonths: 1
dayOfWeek: saturday
isEnabled: true
months:
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
weekly:
isEnabled: false
days:
- saturday
notifications:
emailNotifications:
isEnabled: false
recipients: []
sendSNMPNotifications: true
vmAttribute:
appendToExisitingValue: true
isEnabled: false
notes: Notes
vSphere:
changedBlockTracking:
enableCBTautomatically: true
isEnabled: true
resetCBTonActiveFull: true
enableVMWareToolsQuiescence: false
backupProxies:
proxyIds: []
autoSelection: true
backupRepositoryId: 88788f9e-d8f5-4eb4-bc4f-9b3f5403bcec
name: Backup Job 3
virtualMachines:
excludes:
disks:
- disks:
- SCSI 0:0 (2000)
- IDE 0:0 (3000)
disksToProcess: SelectedDisks
vmObject:
name: ResourcePool01
objectId: resgroup-32774
type: ResourcePool
vcName: vcenter01.tech.local
templates:
excludeFromIncremental: false
isEnabled: true
vms:
- name: srv01
objectId: vm-34739
type: VirtualMachine
vcName: vcenter01.tech.local
- name: srv02
objectId: vm-32843
type: VirtualMachine
vcName: vcenter01.tech.local
includes:
- name: ResourcePool01
objectId: resgroup-32774
type: ResourcePool
vcName: vcenter01.tech.local
guestProcessing:
guestInteractionProxies:
autoSelection: true
proxyIds: []
appAwareProcessing:
appSettings:
- exclusions:
exclusionPolicy: disabled
itemsList: []
oracle:
archiveLogs: deleteExpiredGBs
backupLogs: true
backupMinsCount: 23
credentialsId: a1b84070-9767-4f47-99cd-e25f57cd65dc
deleteGBsCount: 10240
deleteHoursCount: null
keepDaysCount: 15
logShippingServers:
autoSelection: true
shippingServerIds: []
retainLogBackups: untilBackupDeleted
useGuestCredentials: false
scripts:
linuxScripts: null
scriptProcessingMode: disableExec
windowsScripts: null
sql:
backupMinsCount: 15
keepDaysCount: null
logShippingServers:
autoSelection: true
shippingServerIds: []
logsProcessing: backup
retainLogBackups: untilBackupDeleted
transactionLogs: process
vmObject:
name: ResourcePool01
objectId: resgroup-32774
type: ResourcePool
vcName: vcenter01.tech.local
vss: requireSuccess
isEnabled: true
guestCredentials:
credentialsPerMachine:
- linuxCredsId: 00000000-0000-0000-0000-000000000000
vmObject:
name: ResourcePool01
objectId: resgroup-32774
type: ResourcePool
vcName: vcenter01.tech.local
windowsCredsId: a1b84070-9767-4f47-99cd-e25f57cd65dc
linuxCredsId: 00000000-0000-0000-0000-000000000000
windowsCredsId: a1b84070-9767-4f47-99cd-e25f57cd65dc
guestFSIndexing:
indexingSettings:
- LinuxIndexing:
guestFSIndexingMode: indexAllExcept
indexingList:
- /cdrom
- /dev
- /media
- /mnt
- /proc
- /tmp
- /lost+found
WindowsIndexing:
guestFSIndexingMode: indexAllExcept
indexingList:
- '%windir%'
- '%ProgramFiles%'
- '%ProgramFiles(x86)%'
- '%ProgramW6432%'
- '%TEMP%'
vmObject:
name: ResourcePool01
objectId: resgroup-32774
type: ResourcePool
vcName: vcenter01.tech.local
isEnabled: true
schedule:
monthly:
dayOfMonth: 1
dayOfWeek: saturday
isEnabled: false
localTime: 10:00 PM
months:
- January
- February
- March
- April
- May
- June
- July
- August
- September
- October
- November
- December
dayNumberInMonth: Fourth
periodically:
isEnabled: false
periodicallyKind: Hours
continuously:
BackupWindow:
days:
- day: monday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: tuesday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: wednesday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: thursday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: friday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: saturday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: sunday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
frequency: 0
retry:
awaitMinutes: 10
isEnabled: true
retryCount: 3
backupWindow:
WindowSetting:
days:
- day: monday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: tuesday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: wednesday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: thursday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: friday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: saturday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- day: sunday
hours: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
isEnabled: false
daily:
dailyKind: Everyday
days:
- sunday
- monday
- tuesday
- wednesday
- thursday
- friday
- saturday
isEnabled: true
localTime: 10:00 PM
isEnabled: true
description: Created by ENTERPRISE01\Administrator
isHighPriority: false
schema:
$ref: '#/components/schemas/JobSpec'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/JobModel'
description: Job has been created.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServerError'
summary: Create Job
tags:
- Jobs
x-veeam-authorize:
claims:
- CreateJobs
/api/v1/jobs/states:
get:
description: The HTTP GET request to the `/api/v1/jobs/states` path allows you to get an array of all job states. The states include brief job information that you can also find under the **Jobs** node in the Veeam Backup & Replication console.
operationId: GetAllJobsStates
parameters:
- $ref: '#/components/parameters/apiVersionParam'
- description: Number of job states to skip.
in: query
name: skip
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/JobStatesFilters'
- description: Maximum number of job states to return.
in: query
name: limit
schema:
format: int32
type: integer
x-veeam-spec:
$ref: '#/components/schemas/JobStatesFilters'
- description: Sorts job states by one of the state parameters.
in: query
name: orderColumn
schema:
$ref: '#/components/schemas/EJobStatesFiltersOrderColumn'
x-veeam-spec:
$ref: '#/components/schemas/JobStatesFilters'
- description: Sorts job states in the ascending order by the `orderColumn` parameter.
in: query
name: orderAsc
schema:
type: boolean
x-veeam-spec:
$ref: '#/components/schemas/JobStatesFilters'
- description: Filters job states by job ID.
in: query
name: idFilter
schema:
format: uuid
type: string
x-veeam-spec:
$ref: '#/components/schemas/JobStatesFilters'
- description: Filters job states by the `nameFilter` pattern. The pattern can match any state 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/JobStatesFilters'
- description: Filters job states by job type.
in: query
name: typeFilter
schema:
$ref: '#/components/schemas/EJobType'
x-veeam-spec:
$ref: '#/components/schemas/JobStatesFilters'
- description: Filters job states by
# --- truncated at 32 KB (135 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/veeam/refs/heads/main/openapi/veeam-jobs-api-openapi.yml