# How to Take, Revert to, or Delete a Snapshot Machines are Linux and Windows virtual machines with persistent storage, GPU options, and free unlimited bandwidth. They’re designed for high-performance computing (HPC) workloads. [Snapshots](https://docs.digitalocean.com/products/paperspace/machines/concepts/best-practices/index.html.md#use-snapshots-as-machine-backups) are disk images of a machine from a specific point in time. A snapshot serves as a backup for your machine, allowing you to revert to a previous version of your machine if unintended issues occur, like data corruption, system failures, or accidental disconnections from Paperspace. It allows you to restore your machine with minimal downtime. There are two types of snapshots: [auto-snapshots](#auto) and [manual snapshots](#manual). - **Auto-snapshots**: Scheduled snapshots that are automatically captured. - **Manual snapshots**: User-initiated snapshots. Unlike [templates](https://docs.digitalocean.com/products/paperspace/machines/details/features/index.html.md#templates), snapshots are created without needing to turn off your machine. However, snapshots are deleted when the corresponding machine is deactivated. ## Take Auto-Snapshots in the Paperspace Console You cannot use the Paperspace API or CLI to set up auto-snapshots. You can only configure auto-snapshots when you first [create your machine](https://docs.digitalocean.com/products/paperspace/machines/how-to/create/index.html.md). If you want to set up auto-snapshots for existing machines, you need to set it up via the Paperspace console. To take auto-snapshots of your machine, go to the [Paperspace console](https://console.paperspace.com), in the top-left corner, click the drop-down menu, select **CORE**, click the **Machines** tab, then find and select the machine you want to configure auto-snapshots for. In the machine’s overview page, in the top-right corner, click the **Snapshots** tab. In the **Snapshots** page, under the **Configure Auto-Snapshot** section, click the toggle to enable auto-snapshots. If you want to change the frequency and amount of snapshots taken, in the **Configure Auto-Snapshot** section, under the **Take a snapshot every** sub-section, click the drop-down menu, specify the frequency of your snapshots, which ranges from an “hour”, a “day”, a “week”, or a “month”. By default, the snapshot frequency is set to “day”. Under the **Save the last** sub-section, click the drop-down menu, specify the maximum number of snapshots to store, which ranges from 0 to 10 snapshots. By default, the number of snapshots stored is set to 1. Under the **Save the last** sub-section, click the drop-down menu, specify the maximum number of snapshots to store, which ranges from 0 to 10 snapshots. By default, the number of snapshots stored is set to 1. The old auto-snapshots are replaced by the new ones once the maximum number of snapshots to store is reached. You can find your auto-snapshots listed in the **Snapshots** page, under the **Snapshots** section, which displays the snapshot name, snapshot ID, and the time your snapshot was created. ## Take a Manual Snapshot ### Using the Paperspace Console To take a manual snapshot of your machine, go to the [Paperspace console](https://console.paperspace.com), in the top-left corner, click the drop-down menu, select **CORE**, click the **Machines** tab, then find and select the machine you want to take a snapshot of. In the machine’s overview page, in the top-right corner, click the **Snapshots** tab. In the **Snapshots** page, under the **Create a Snapshot** section, under the **Snapshot Name** sub-section, specify the name of your snapshot. Then, click **CREATE SNAPSHOT**. You can find your new snapshot list in the **Snapshots** page, under the **Snapshots** section, which displays the snapshot name, snapshot ID, and the time your snapshot was created. ### Using the Paperspace API When taking a snapshot using the Paperspace API, you need to provide the following values: - `name` (string): The name of the snapshot. - `machineId` (string): The ID of the machine you want to create a snapshot for. ## How to Take a Snapshot Using the Paperspace API 1. [Create an API key to authenticate your requests to your Paperspace account](https://docs.digitalocean.com/reference/paperspace/api-keys/index.html.md) and save it for use. 2. Send a POST request to `https://api.paperspace.com/v1/snapshots`. ```bash curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $PAPERSPACE_API_KEY" \ -d '{ "name": "your-snapshot-name", "machineId": "psm9u09bwu5i" }' \ "https://api.paperspace.com/v1/snapshots" ``` ### Using the Paperspace CLI When taking a snapshot using the Paperspace CLI, you need to provide the following values: - `name` (string): The name of the snapshot. - `machine-id` (string): The ID of the machine you want to create a snapshot for. ## How to Take a Snapshot Using the Paperspace CLI 1. [Install `pspace`](https://docs.digitalocean.com/reference/paperspace/pspace/install/index.html.md), the Paperspace command-line tool. 2. [Create an API key to authenticate your requests to your Paperspace account](https://docs.digitalocean.com/reference/paperspace/api-keys/index.html.md) and save it for use with `pspace`. 3. Use the API key to grant `pspace` access to your Paperspace account. ```bash pspace login --api-key your-api-key ``` 4. Finally, run `pspace snapshot create -F [flags]`. ```bash pspace snapshot create -F --name your-snapshot-name --machine-id psm9u09bwu5i ``` ## Revert to a Snapshot ### Using the Paperspace Console To revert to a snapshot of your machine, go to the [Paperspace console](https://console.paperspace.com), in the top-left corner, click the drop-down menu, select **CORE**, click the **Machines** tab, click the machine you want to revert to a snapshot for. In the machine’s overview page, in the top-right corner, click the **Snapshots** tab. In the **Snapshots** page, under the **Snapshots** section, find the snapshot you want to revert to. In the top-right corner of that snapshot, click **…**, then click **Restore** to revert your machine to that snapshot. ### Using the Paperspace API When reverting to a snapshot using the Paperspace API, you need to provide the ID of the snapshot to revert to. ## How to Revert to a Snapshot Using the Paperspace API 1. [Create an API key to authenticate your requests to your Paperspace account](https://docs.digitalocean.com/reference/paperspace/api-keys/index.html.md) and save it for use. 2. Send a POST request to `https://api.paperspace.com/v1/snapshots/{snapshot-id}/restore`. ```bash curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $PAPERSPACE_API_KEY" \ -d '{ "id": "slqafgu4n6gxge" }' \ "https://api.paperspace.com/v1/snapshots/slqafgu4n6gxge/restore" ``` ### Using the Paperspace CLI When reverting to a snapshot using the Paperspace CLI, you need to provide the ID of the snapshot to revert to. ## How to Revert to a Snapshot Using the Paperspace CLI 1. [Install `pspace`](https://docs.digitalocean.com/reference/paperspace/pspace/install/index.html.md), the Paperspace command-line tool. 2. [Create an API key to authenticate your requests to your Paperspace account](https://docs.digitalocean.com/reference/paperspace/api-keys/index.html.md) and save it for use with `pspace`. 3. Use the API key to grant `pspace` access to your Paperspace account. ```bash pspace login --api-key your-api-key ``` 4. Finally, run `pspace snapshot restore `. Basic usage looks like this, but you can [read the usage docs for more details](https://docs.digitalocean.com/reference/paperspace/api-reference/index.html.md#operation/snapshots-restore): ```bash pspace snapshot restore slqafgu4n6gxge ``` ## Delete to a Snapshot ### Using the Paperspace Console To delete a snapshot of your machine, go to the [Paperspace console](https://console.paperspace.com), in the top-left corner, click the drop-down menu, select **CORE**, click the **Machines** tab, click the machine you want to delete a snapshot of. In the machine’s overview page, in the top-right corner, click the **Snapshots** tab. In the **Snapshots** page, under the **Snapshots** section, find the snapshot you want to delete. In the top-right corner of that snapshot, click **…**, then click **Delete**. ### Using the Paperspace API When deleting a snapshot using the Paperspace API, you need to provide the ID of the snapshot to delete. ## How to Delete a Snapshot Using the Paperspace API 1. [Create an API key to authenticate your requests to your Paperspace account](https://docs.digitalocean.com/reference/paperspace/api-keys/index.html.md) and save it for use. 2. Send a DELETE request to `https://api.paperspace.com/v1/snapshots/{snapshot-id}`. ```bash curl -X DELETE \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $PAPERSPACE_API_KEY" \ -d '{ "id": "slqafgu4n6gxge" }' \ "https://api.paperspace.com/v1/snapshots/slqafgu4n6gxge" ``` ### Using the Paperspace CLI When deleting a snapshot using the Paperspace API, you need to provide the ID of the snapshot to delete. ## How to Delete a Snapshot Using the Paperspace CLI 1. [Install `pspace`](https://docs.digitalocean.com/reference/paperspace/pspace/install/index.html.md), the Paperspace command-line tool. 2. [Create an API key to authenticate your requests to your Paperspace account](https://docs.digitalocean.com/reference/paperspace/api-keys/index.html.md) and save it for use with `pspace`. 3. Use the API key to grant `pspace` access to your Paperspace account. ```bash pspace login --api-key your-api-key ``` 4. Finally, run `pspace snapshot delete `. ```bash pspace snapshot delete slqafgu4n6gxge ```