---
title: "Roll back a VM snapshot"
method: POST
path: "/vm/{rid}/snapshots/{snapshotId}/rollback"
tags: ["VM"]
---

# Roll back a VM snapshot

`POST /vm/{rid}/snapshots/{snapshotId}/rollback`

Stop the VM if needed, roll every recorded VM ZFS root back to the selected snapshot while destroying newer ZFS snapshots, restore the saved configuration, and attempt to restore the prior running state

## Path parameters

- `rid` integer, required
- `snapshotId` integer, required

## Response `200`

Success

- GithubComAlchemillahqSylveInternalAPIResponseGithubComAlchemillahqSylveInternalServicesLibvirtVMSnapshotRollbackResult
  - `data` GithubComAlchemillahqSylveInternalServicesLibvirtVMSnapshotRollbackResult
    - `newerSnapshotsDestroyed` integer
    - `restarted` boolean
    - `warnings` string[]
    - `wasRunning` boolean
  - `error` string
  - `message` string
  - `status` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `500` — Internal Server Error
- `503` — Service 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/9822c41c8ac0/schema)
