---
title: "List Backup Targets"
method: GET
path: "/cluster/backups/targets"
tags: ["Cluster Backups"]
---

# List Backup Targets

`GET /cluster/backups/targets`

List backup targets managed by the cluster

## Response `200`

Success

- GithubComAlchemillahqSylveInternalAPIResponseArrayGithubComAlchemillahqSylveInternalDbModelsClusterBackupTarget
  - `data` GithubComAlchemillahqSylveInternalDbModelsClusterBackupTarget[]
    - `backupRoot` string — target pool/dataset prefix (e.g., tank/Backups)
    - `createBackupRoot` boolean
    - `createdAt` string
    - `description` string
    - `enabled` boolean
    - `id` integer
    - `jobs` GithubComAlchemillahqSylveInternalDbModelsClusterBackupJob[]
      - `createdAt` string
      - `cronExpr` string
      - `destSuffix` string — appended to target's BackupRoot
      - `enabled` boolean
      - `encrypted` boolean
      - `friendlySrc` string
      - `id` integer
      - `jailRootDataset` string — for mode=jail
      - `lastError` string
      - `lastRunAt` string
      - `lastStatus` string
      - `mode` string — "dataset" or "jail"
      - `name` string
      - `nextRunAt` string
      - `pruneKeepLast` integer
      - `pruneTarget` boolean
      - `recursive` boolean
      - `runnerNodeId` string
      - `scheduleRevision` integer
      - `sourceDataset` string — for mode=dataset
      - `stopBeforeBackup` boolean
      - `target` GithubComAlchemillahqSylveInternalDbModelsClusterBackupTarget — recursive
      - `targetId` integer
      - `updatedAt` string
    - `name` string
    - `readiness` GithubComAlchemillahqSylveInternalDbModelsClusterBackupTargetNodeReadinessStatus[]
      - `configurationCurrent` boolean
      - `currentVoter` boolean
      - `expired` boolean
      - `lastError` string
      - `lastVerifiedAt` string
      - `nodeId` string
      - `ready` boolean
      - `readyUntil` string
      - `revision` integer
      - `targetId` integer
      - `validationSucceeded` boolean
    - `sshHost` string — user@host
    - `sshKeyPath` string — legacy/local execution path; managed paths are derived per node
    - `sshPort` integer — SSH port (default 22)
    - `updatedAt` string
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Cluster consensus unavailable

---

[API](https://skmtc.net/alchemillahq/apis/sylve-api.md) · [All operations](https://skmtc.net/alchemillahq/apis/sylve-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/alchemillahq/sylve-api/revisions/7a7bea85004e/schema)
