List Backup Targets
GET
/cluster/backups/targets
const url = 'https://sylve.lan:8181/api/cluster/backups/targets';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://sylve.lan:8181/api/cluster/backups/targets \ --header 'Authorization: <Authorization>'List backup targets managed by the cluster
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Success
Media typeapplication/json
object
data
Array<object>
object
backupRoot
Target pool/dataset prefix (e.g., tank/Backups)
string
createBackupRoot
boolean
createdAt
string
description
string
enabled
boolean
id
integer
jobs
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 recursive
targetId
integer
updatedAt
string
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
error
string
message
string
status
string
Examplegenerated
{ "data": [ { "backupRoot": "example", "createBackupRoot": true, "createdAt": "example", "description": "example", "enabled": true, "id": 1, "jobs": [ { "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": {}, "targetId": 1, "updatedAt": "example" } ], "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" } ], "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"}