Skip to content

List Backup Jobs

GET
/cluster/backups/jobs
curl --request GET \
--url https://sylve.lan:8181/api/cluster/backups/jobs \
--header 'Authorization: <Authorization>'

List backup jobs, optionally filtered by target or guest

targetId
integer

Backup Target ID

guestType
string

Guest type (vm or jail)

guestId
integer

Guest ID

Success

Media typeapplication/json
object
data
Array<object>
object
createdAt
string
cronExpr
string
destSuffix

Appended to target’s BackupRoot

string
enabled
boolean
encrypted
boolean
friendlySrc
string
id
integer
jailRootDataset

For mode=jail

string
lastError
string
lastRunAt
string
lastStatus
string
mode

“dataset” or “jail”

string
name
string
nextRunAt
string
pruneKeepLast
integer
pruneTarget
boolean
recursive
boolean
runnerNodeId
string
scheduleRevision
integer
sourceDataset

For mode=dataset

string
stopBeforeBackup
boolean
target
object
backupRoot

Target pool/dataset prefix (e.g., tank/Backups)

string
createBackupRoot
boolean
createdAt
string
description
string
enabled
boolean
id
integer
jobs
Array<object> recursive
name
string
readiness
Array<object>
object
configurationCurrent
boolean
currentVoter
boolean
expired
boolean
lastError
string
lastVerifiedAt
string
nodeId
string
ready
boolean
readyUntil
string
revision
integer
targetId
integer
validationSucceeded
boolean
sshHost

User@host

string
sshKeyPath

Legacy/local execution path; managed paths are derived per node

string
sshPort

SSH port (default 22)

integer
updatedAt
string
targetId
integer
updatedAt
string
error
string
message
string
status
string
Examplegenerated
{
"data": [
{
"createdAt": "example",
"cronExpr": "example",
"destSuffix": "example",
"enabled": true,
"encrypted": true,
"friendlySrc": "example",
"id": 1,
"jailRootDataset": "example",
"lastError": "example",
"lastRunAt": "example",
"lastStatus": "example",
"mode": "example",
"name": "example",
"nextRunAt": "example",
"pruneKeepLast": 1,
"pruneTarget": true,
"recursive": true,
"runnerNodeId": "example",
"scheduleRevision": 1,
"sourceDataset": "example",
"stopBeforeBackup": true,
"target": {
"backupRoot": "example",
"createBackupRoot": true,
"createdAt": "example",
"description": "example",
"enabled": true,
"id": 1,
"jobs": [],
"name": "example",
"readiness": [
{
"configurationCurrent": true,
"currentVoter": true,
"expired": true,
"lastError": "example",
"lastVerifiedAt": "example",
"nodeId": "example",
"ready": true,
"readyUntil": "example",
"revision": 1,
"targetId": 1,
"validationSucceeded": true
}
],
"sshHost": "example",
"sshKeyPath": "example",
"sshPort": 1,
"updatedAt": "example"
},
"targetId": 1,
"updatedAt": "example"
}
],
"error": "example",
"message": "example",
"status": "example"
}

Bad Request

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Unauthorized

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Forbidden

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Internal Server Error

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}

Cluster consensus unavailable

Media typeapplication/json
object
data
error
string
message
string
status
string
Examplegenerated
{
"data": "example",
"error": "example",
"message": "example",
"status": "example"
}