Jobs

The Jobs section defines paths and operations for managing jobs that are coordinated by the backup server.

NOTE
In this version, the REST API supports the following job types:
  • VSphereBackup — VMware vSphere backup jobs
  • vSphereReplica — VMware vSphere replication jobs
  • HyperVBackup — Microsoft Hyper-V backup jobs
  • CloudDirectorBackup — VMware Cloud Director backup jobs
  • WindowsAgentBackup — Veeam Agent backup jobs for Windows computers
  • LinuxAgentBackup — Veeam Agent backup jobs for Linux computers
  • EntraIDTenantBackup — Microsoft Entra ID tenant backup jobs
  • EntraIDAuditLogBackup — Microsoft Entra ID audit log backup jobs
VMware vSphere jobs can process inventory 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.

Get All Jobs

The HTTP GET request to the /api/v1/jobs path allows you to get an array of all jobs coordinated by the backup server.

Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Restore Operator, Veeam Backup Viewer, Veeam Tape Operator.

SecurityBearer
Request
query Parameters
skip
integer <int32>

Number of jobs to skip.

limit
integer <int32>
Default: 200

Maximum number of jobs to return.

orderColumn
string (EJobFiltersOrderColumn)

Sorts jobs by one of the job parameters.

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

If true, sorts jobs in the ascending order by the orderColumn parameter.

nameFilter
string

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.

typeFilter
string (EJobType)

Filters jobs by job type.

Enum: "Unknown" "VSphereBackup" "HyperVBackup" "VSphereReplica" "CloudDirectorBackup" "EntraIDTenantBackup" "EntraIDAuditLogBackup" "FileBackupCopy" "LegacyBackupCopy" "BackupCopy" "WindowsAgentBackup" "LinuxAgentBackup" "EntraIDTenantBackupCopy"
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/jobs
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Create Job

The HTTP POST request to the /api/v1/jobs path allows you to create a new job that has the specified parameters.

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
name
required
string

Name of the job.

type
required
string (EJobType)

Type of the job.

description
required
string

Description of the job.

required
object (BackupJobVirtualMachinesSpec)

Included and excluded objects.

isHighPriority
boolean
Default: false

If true, the resource scheduler prioritizes this job over other similar jobs and allocates resources to it first.

object (BackupJobStorageModel)

VMware vSphere backup storage settings.

object (BackupJobGuestProcessingModel)

Guest processing settings.

object (BackupScheduleModel)

Job scheduling options.

Responses
201

Job 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/jobs
Request samples
application/json
{
  • "type": "Backup",
  • "name": "Backup Job 3",
  • "description": "Created by ENTERPRISE01\\Administrator",
  • "isHighPriority": false,
  • "virtualMachines": {
    },
  • "storage": {
    },
  • "guestProcessing": {
    },
  • "schedule": {
    }
}
Response samples
application/json
{
  • "isHighPriority": false,
  • "virtualMachines": {
    },
  • "storage": {
    },
  • "guestProcessing": {
    },
  • "schedule": {
    },
  • "type": "Backup",
  • "id": "75fc491a-d158-4380-a433-ebc42a28e4df",
  • "name": "Oracle Backup",
  • "description": "Created by GAMMA\\Administrator",
  • "isDisabled": false
}

Get All Job States

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.

Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Restore Operator, Veeam Backup Viewer, Veeam Tape Operator.

SecurityBearer
Request
query Parameters
skip
integer <int32>

Number of job states to skip.

limit
integer <int32>
Default: 200

Maximum number of job states to return.

orderColumn
string (EJobStatesFiltersOrderColumn)

Sorts job states by one of the state parameters.

Enum: "Name" "Type" "Status" "LastRun" "LastResult" "NextRun" "Description" "RepositoryId" "ObjectsCount" "RepositoryName" "AfterJobName"
orderAsc
boolean

If true, sorts job states in the ascending order by the orderColumn parameter.

idFilter
string <uuid>

Filters job states by job ID.

nameFilter
string

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.

typeFilter
string (EJobType)

Filters job states by job type.

Enum: "Unknown" "VSphereBackup" "HyperVBackup" "VSphereReplica" "CloudDirectorBackup" "EntraIDTenantBackup" "EntraIDAuditLogBackup" "FileBackupCopy" "LegacyBackupCopy" "BackupCopy" "WindowsAgentBackup" "LinuxAgentBackup" "EntraIDTenantBackupCopy"
lastResultFilter
string (ESessionResult)

Filters job states by status with which jobs must finish.

Enum: "None" "Success" "Warning" "Failed"
statusFilter
string (EJobStatus)

Filters job states by current status of the job.

Enum: "running" "inactive" "disabled" "enabled" "stopping" "stopped" "starting"
workloadFilter
string (EJobWorkload)

Filters job states by workloads that jobs must process.

Enum: "application" "cloudVm" "file" "server" "workstation" "vm"
lastRunAfterFilter
string <date-time>

Returns job states for jobs that have run after the specified date and time.

lastRunBeforeFilter
string <date-time>

Returns job states for jobs that have not run after the specified date and time.

isHighPriorityJobFilter
boolean

If true, returns job states for high priority jobs only.

repositoryIdFilter
string <uuid>

Filters job states by repository ID.

objectsCountFilter
integer

Filters job states by number of objects processed by the job.

afterJobIdFilter
string <uuid>

Filters job states by the ID of the job after which the current job will run.

afterJobNameFilter
string

Filters job states by the name of the job after which the current job will run.

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

Get Job

The HTTP GET request to the /api/v1/jobs/{id} path allows you to get a job that has the specified id.

Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Restore Operator, Veeam Backup Viewer, Veeam Tape Operator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Job ID. To get the ID, run the Get All Jobs 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/jobs/{id}
Request samples
Response samples
application/json
{
  • "isHighPriority": false,
  • "virtualMachines": {
    },
  • "storage": {
    },
  • "guestProcessing": {
    },
  • "schedule": {
    },
  • "type": "Backup",
  • "id": "75fc491a-d158-4380-a433-ebc42a28e4df",
  • "name": "Oracle Backup",
  • "description": "Created by GAMMA\\Administrator",
  • "isDisabled": false
}

Edit Job

The HTTP PUT request to the /api/v1/jobs/{id} path allows you to edit a job that has the specified id.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Job ID. To get the ID, run the Get All Jobs 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>

Job ID.

name
required
string

Name of the job.

type
required
string (EJobType)

Type of the job.

isDisabled
required
boolean

If true, the job is disabled.

description
required
string

Description of the job.

required
object (BackupJobGuestProcessingModel)

Guest processing settings.

isHighPriority
required
boolean

If true, the resource scheduler prioritizes this job over other similar jobs and allocates resources to it first.

required
object (BackupScheduleModel)

Job scheduling options.

required
object (BackupJobStorageModel)

VMware vSphere backup storage settings.

required
object (BackupJobVirtualMachinesModel)

Included and excluded objects.

Responses
200

Job 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/jobs/{id}
Request samples
application/json
{
  • "isHighPriority": false,
  • "virtualMachines": {
    },
  • "storage": {
    },
  • "guestProcessing": {
    },
  • "schedule": {
    },
  • "type": "Backup",
  • "id": "75fc491a-d158-4380-a433-ebc42a28e4df",
  • "name": "Oracle Backup",
  • "description": "Created by GAMMA\\Administrator",
  • "isDisabled": false
}
Response samples
application/json
{
  • "isHighPriority": false,
  • "virtualMachines": {
    },
  • "storage": {
    },
  • "guestProcessing": {
    },
  • "schedule": {
    },
  • "type": "Backup",
  • "id": "75fc491a-d158-4380-a433-ebc42a28e4df",
  • "name": "Oracle Backup",
  • "description": "Created by GAMMA\\Administrator",
  • "isDisabled": false
}

Delete Job

The HTTP DELETE request to the /api/v1/jobs/{id} path allows you to delete a job that has the specified id.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Job ID. To get the ID, run the Get All Jobs 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
204

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/jobs/{id}
Request samples
Response samples
application/json
{ }

Start Job

The HTTP POST request to the /api/v1/jobs/{id}/start path allows you to start a job that has the specified id.

Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Tape Operator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Job ID. To get the ID, run the Get All Jobs 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
optional
performActiveFull
required
boolean
Default: false

If true, Veeam Backup & Replication will perform an active full backup.

startChainedJobs
boolean
Default: false

If true, Veeam Backup & Replication will start chained jobs as well.

syncRestorePoints
string (EBackupCopyRestorePoints)

Restore point type for syncing backup copy jobs with the immediate copy mode.

Enum: "All" "Latest"
Responses
201

A BackupJob (or ReplicaJob) session has been started. 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/jobs/{id}/start
Request samples
application/json
{
  • "performActiveFull": true,
  • "startChainedJobs": true
}
Response samples
application/json
{
  • "sessionType": "Job",
  • "state": "Starting",
  • "id": "b1380736-18a9-4fac-adfe-20abc570e8de",
  • "name": "Oracle Backup",
  • "jobId": "75fc491a-d158-4380-a433-ebc42a28e4df",
  • "creationTime": "2024-02-04T20:46:49.067+03:00",
  • "endTime": null,
  • "progressPercent": 0,
  • "result": null,
  • "resourceId": null,
  • "resourceReference": null,
  • "parentSessionId": null,
  • "usn": 0
}

Stop Job

The HTTP POST request to the /api/v1/jobs/{id}/stop path allows you to stop a job that has the specified id.

Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Tape Operator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Job ID. To get the ID, run the Get All Jobs 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
optional
gracefulStop
required
boolean
Default: true

If true, Veeam Backup & Replication will produce a new restore point for those VMs that have already been processed and for VMs that are being processed at the moment.

cancelChainedJobs
boolean
Default: false

If true, Veeam Backup & Replication will cancel chained jobs.

Responses
201

Stopping the BackupJob (or ReplicaJob) session. 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/jobs/{id}/stop
Request samples
application/json
{
  • "gracefulStop": true
}
Response samples
application/json
{
  • "sessionType": "Job",
  • "state": "Starting",
  • "id": "b1380736-18a9-4fac-adfe-20abc570e8de",
  • "name": "Oracle Backup",
  • "jobId": "75fc491a-d158-4380-a433-ebc42a28e4df",
  • "creationTime": "2024-02-04T20:46:49.067+03:00",
  • "endTime": null,
  • "progressPercent": 0,
  • "result": null,
  • "resourceId": null,
  • "resourceReference": null,
  • "parentSessionId": null,
  • "usn": 0
}

Retry Job

The HTTP POST request to the /api/v1/jobs/{id}/retry path allows you to retry a job that has the specified id.

Available to: Veeam Backup Administrator, Veeam Backup Operator, Veeam Tape Operator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Job ID. To get the ID, run the Get All Jobs 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
optional
startChainedJobs
boolean
Default: false

If true, Veeam Backup & Replication will start chained jobs as well.

Responses
201

Retrying the BackupJob (or ReplicaJob) session. 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/jobs/{id}/retry
Request samples
application/json
{
  • "startChainedJobs": true
}
Response samples
application/json
{
  • "sessionType": "BackupJob",
  • "state": "Starting",
  • "platformName": "VMware",
  • "id": "9ab42b13-7fa7-4fad-ab80-b0e27c606ea6",
  • "name": "Linux VM backup",
  • "jobId": "a2187e67-e287-4079-8f75-c7f6f4cfbf9e",
  • "creationTime": "2025-05-20T17:08:21.412856+02:00",
  • "progressPercent": 0,
  • "result": {
    },
  • "usn": 141117,
  • "platformId": "00000000-0000-0000-0000-000000000000"
}

Disable Job

The HTTP POST request to the /api/v1/jobs/{id}/disable path allows you to disable a job that has the specified id.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Job ID. To get the ID, run the Get All Jobs 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

Job 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/jobs/{id}/disable
Request samples
Response samples
application/json
{ }

Enable Job

The HTTP POST request to the /api/v1/jobs/{id}/enable path allows you to enable a job that has the specified id.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Job ID. To get the ID, run the Get All Jobs 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

Job 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/jobs/{id}/enable
Request samples
Response samples
application/json
{ }

Clone job

The HTTP POST request to the /api/v1/jobs/{id}/clone path allows you to clone a job that has the specified id.

Available to: Veeam Backup Administrator.

SecurityBearer
Request
path Parameters
id
required
string <uuid>

Job ID. To get the ID, run the Get All Jobs 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

Job has been cloned.

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/jobs/{id}/clone
Request samples
Response samples
application/json
{
  • "description": "Created by .\\veeamadmin at 5/20/2025 2:47 PM.",
  • "isHighPriority": false,
  • "virtualMachines": {
    },
  • "storage": {
    },
  • "guestProcessing": {
    },
  • "schedule": {
    },
  • "type": "Backup",
  • "id": "3d1682bc-c171-4cf2-b63a-3fde54625c9d",
  • "name": "Linux VM backup_clone1",
  • "isDisabled": false
}

Start Quick Backup

The HTTP POST request to the /api/v1/jobs/quickBackup/vSphere path allows you to perform quick backup for the specified VMware vSphere or VMware Cloud Director VM.

Available to: Veeam Backup Administrator, Veeam Backup Operator.

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
platform
required
string (EInventoryPlatformType)

Platform type of inventory object.

name
required
string

Name of the VMware vSphere object.

type
required
string (EVmwareInventoryType)

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" "DVSNetwork" "Disk" "SharedDisk"
hostName
required
string

Name of the VMware vSphere server that hosts the object.

size
string

Object size.

objectId
string

ID of the VMware vSphere object. The parameter is required for all VMware vSphere objects except vCenter Servers and standalone ESXi hosts.

urn
string

Uniform Resource Name (URN) of the object.

isEnabled
boolean

Indicates whether the VMware vSphere object is enabled or disabled.

Array of objects (CommonMetaInfo)

Array of meta information about vmware object model.

Responses
201

A BackupJob session has been started. 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/jobs/quickBackup/vSphere
Request samples
application/json
{
  • "type": "VirtualMachine",
  • "hostName": "vcenter01.tech.local",
  • "name": "linbase01",
  • "objectId": "vm-45541",
  • "urn": "vc:vcenter01.tech.local;folder:group-d1;datacenter:datacenter-1001;folder:group-h1003;computeresource:domain-s1006;hostsystem:host-1008;resourcepool:resgroup-1023;virtualmachine:vm-45541",
  • "platform": "VMware",
  • "size": "19.8 GB"
}
Response samples
application/json
{
  • "sessionType": "BackupJob",
  • "state": "Starting",
  • "platformName": "VMware",
  • "id": "9ff48f05-3367-42a8-af03-d875a5969295",
  • "name": "Backup Job 1",
  • "jobId": "6bf39221-c79b-49ff-8537-26a37b0a9080",
  • "creationTime": "2024-10-29T11:11:49.839619+01:00",
  • "endTime": null,
  • "progressPercent": 0,
  • "result": {
    },
  • "resourceId": null,
  • "resourceReference": null,
  • "parentSessionId": null,
  • "usn": 149421,
  • "platformId": "00000000-0000-0000-0000-000000000000"
}