---
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`

## Request

- Base URL: `https://sylve.lan:8181/api`
- URL: `https://sylve.lan:8181/api/vm/{rid}/snapshots/{snapshotId}/rollback`
- Auth: API key in header `Authorization`

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

## Changes

- **2026-08-12** `9a5026bf9057`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/alchemillahq/apis/sylve-api/changes/vm/:rid/snapshots/:snapshotId/rollback/post.md)

---

[API](https://skmtc.dev/alchemillahq/apis/sylve-api.md) - [All operations](https://skmtc.dev/alchemillahq/apis/sylve-api/llms.txt) - [OpenAPI document](https://skmtc.dev/alchemillahq/apis/sylve-api/revisions/9565cdd0abf5?raw)
