---
title: Restore
url: https://docs.vultr.com/products/storage/snapshots/management/restore
description: Recover your server to a previous state using a backup or snapshot.
publish_date: 2024-12-12T20:00:31.230488Z
last_updated: 2026-05-26T19:51:10.456266Z
---

# How to Restore Snapshots

Restoring a snapshot involves recovering the exact state of a system at the time the snapshot was created. Snapshots capture the complete configuration, including the operating system, applications, and data, making it easy to revert to a specific point in time. This process is essential for system recovery, testing, or duplicating environments, ensuring consistency and minimizing downtime.

Follow this guide to restore snapshots using the Vultr Console, API, CLI, or Terraform.

>[!NOTE]
> When restoring a server backup that uses a static IP, you must reset the network to DHCP to obtain a functional IP address. If network configuration needs to be reset after restoring a snapshot, refer to [Return a Vultr Server to the Default DHCP Configuration](https://docs.vultr.com/configure-a-vultr-server-to-use-dhcp-for-dynamic-ip).
>
>
> Restoring a snapshot on existing Vultr Cloud Compute servers or provisioning new servers using snapshots may take an additional 10-15 minutes compared to standard operations.

=== "Vultr Console"

    1. Navigate to **Products** and click **Compute**.

    1. Click your target Vultr Cloud Compute instance to open its management page.

    1. Navigate to the **Snapshots** tab.

    1. Choose any snapshot you want to restore.

    1. Click "Restore Snapshot" to start the restoration procedure on that target Vultr Cloud Compute instance.

    1. Optional: To provision a new Vultr Cloud Compute instance with snapshot, select **Snapshot** in the **Choose Image** section. [How to Provision Vultr Cloud Compute Instance](https://docs.vultr.com/products/compute/cloud-compute/provisioning).

=== "Vultr API"

    1. Send a `GET` request to the [**List Snapshots** endpoint](https://www.vultr.com/api/#tag/snapshot/operation/list-snapshots) to list all snapshots.

        ```console
        $ curl "https://api.vultr.com/v2/snapshots" \
            -X GET \
            -H "Authorization: Bearer ${VULTR_API_KEY}"
        ```

    1. Send a `GET` request to the [**List Instances** endpoint](https://www.vultr.com/api/#tag/instances/operation/list-instances) to list all deployed Vultr Cloud Compute instances. Note the target instance's ID.

        ```console
        $ curl "https://api.vultr.com/v2/instances" \
            -X GET \
            -H "Authorization: Bearer ${VULTR_API_KEY}"
        ```

    1. Send a `POST` request to the [**Restore Instances** endpoint](https://www.vultr.com/api/#tag/instances/operation/restore-instance) to start the restore procedure of the target Vultr Cloud Compute instance.

        ```console
        $ curl "https://api.vultr.com/v2/instances/<instance-id>/restore" \
            -X POST \
            -H "Authorization: Bearer ${VULTR_API_KEY}" \
            -H "Content-Type: application/json" \
            --data '{
                "snapshot_id": "<snapshot-id>"
            }'
        ```

    1. Optional: Send a `POST` request to the [**Create Instances** endpoint](https://www.vultr.com/api/#tag/instances/operation/create-instance) to provision a new Vultr Cloud Compute instance using snapshot.

        ```console
        $ curl "https://api.vultr.com/v2/instances" \
            -X POST \
            -H "Authorization: Bearer ${VULTR_API_KEY}" \
            -H "Content-Type: application/json" \
            --data '{
                "region" : "<region>",
                "plan" : "<plan>",
                "snapshot_id" : "<snapshot-id>",
                "label" : "<label>",
                "hostname": "<hostname>"
            }'
        ```

=== "Vultr CLI"

    1. List all snapshots and note the target snapshot's ID.

        ```console
        $ vultr-cli snapshot list
        ```

    1. List all Vultr Cloud Compute instances and note target instance's ID.

        ```console
        $ vultr-cli instance list
        ```

    1. Restore a snapshot on the target Vultr Cloud Compute instance.

        ```console
        $ vultr-cli instance restore <instance-id> --snapshot <snapshot-id>
        ```

    1. Optional: Provision a new Vultr Cloud Compute instance using snapshot.

        ```console
        $  vultr-cli instance create --region="<region>" --plan="<plan>" --snapshot="<snapshot-id>" --label="<label>"
        ```

=== "Terraform"

    1. Boot a new instance from a snapshot by setting `snapshot_id`, or update an existing resource to change its boot image.

        ```terraform
        resource "vultr_instance" "restored" {
            region      = "ewr"
            plan        = "vc2-2c-4gb"
            label       = "restored-from-snap"
            snapshot_id = var.snapshot_id
        }
        ```

    1. Apply the configuration and observe the following output:

        ```
        Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
        ```
