# pool.snapshot.rollback

Roll the dataset of snapshot `id` back to the state captured by that snapshot.

Warning

This operation is destructive. Any data written to the dataset after the snapshot was taken is permanently lost. Snapshots and bookmarks more recent than `id` must also be destroyed for the rollback to proceed; use the `recursive`, `recursive_clones`, or `recursive_rollback` options to control how newer snapshots and their clones are handled.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: id

#### id

Type: string

ID of the snapshot to rollback to.

##### Parameter 2: options

#### options

Type: object

Options for controlling snapshot rollback behavior.

No Additional Properties

##

#### Recursive

Type: boolean Default: false

Destroy any snapshots and bookmarks more recent than the one specified.

##

#### Recursive Clones

Type: boolean Default: false

Just like `recursive`, but also destroy any clones.

##

#### Force

Type: boolean Default: false

Force unmount of any clones.

##

#### Recursive Rollback

Type: boolean Default: false

Do a complete recursive rollback of each child snapshot for `id`. If any child does not have specified snapshot, this operation will fail.

##

#### Result

Type: null

Returns `null` on successful snapshot rollback.

Required roles: POOL_WRITE | SNAPSHOT_WRITE