---
title: "Snapshot"
description: "Snapshots provide a way to get point-in-time recovery for your Compute instance."
url: https://community.exoscale.com/reference/api/compute/snapshot/
section: reference
last_updated: 2026-10-14
---
> For AI agents: the documentation index is at https://community.exoscale.com/llms.txt. Every page is available as markdown at `<page URL>index.md` or with `Accept: text/markdown`.

# Snapshot

Snapshots provide a way to get point-in-time recovery for your Compute instance.

[Read more](https://community.exoscale.com/product/compute/instances/how-to/snapshot/index.md)

## <span data-label="GET" class="pill-GET"></span>get-snapshot

Retrieve Snapshot details

```
GET /snapshot/{id}
```

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `id` | `path` | Must be a valid UUID. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `application-consistent` | boolean | Indicates whether the snapshot was taken using an application-consistent method |
| `created-at` | string | Snapshot creation date<br/><br/>ISO 8601 date-time. |
| `export` | [Export](https://community.exoscale.com/reference/api/_schemas/snapshot/index.md#export) | Exported snapshot information |
| `id` | string | Snapshot ID<br/><br/>Must be a valid UUID. |
| `instance` | [Instance](https://community.exoscale.com/reference/api/_schemas/instance/index.md) | Compute Instance snapshotted |
| `name` | string | Snapshot name<br/><br/>Min length: `1`. Max length: `255`. |
| `size` | integer | Snapshot size in GiB<br/><br/>Min: `10`. Max: `51200`. |
| `state` | string | Snapshot state<br/><br/>Allowed values: `snapshotting`, `deleted`, `exporting`, `ready`, `deleting`, `error`, `exported`. |

<details>
<summary>Example output</summary>

```json
{
  "application-consistent": true,
  "created-at": "2026-01-01T00:00:00Z",
  "export": {
    "md5sum": "string",
    "presigned-url": "string"
  },
  "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
  "instance": {
    "anti-affinity-groups": [
      {
        "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab"
      }
    ],
    "application-consistent-snapshot-enabled": true,
    "created-at": "2026-01-01T00:00:00Z",
    "deploy-target": {
      "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab"
    },
    "disk-encrypted": true,
    "disk-size": 10,
    "elastic-ips": [
      {
        "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab"
      }
    ],
    "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
    "instance-type": {
      "authorized": true,
      "cpus": 1,
      "family": "gpu3",
      "gpus": 1,
      "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
      "memory": 1,
      "size": "large",
      "zones": [
        "ch-dk-2"
      ]
    },
    "ip-forwarding": true,
    "ipv6-address": "string",
    "labels": {},
    "mac-address": "string",
    "manager": {
      "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
      "type": "sks-nodepool"
    },
    "name": "string",
    "private-networks": [
      {
        "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
        "mac-address": "string"
      }
    ],
    "public-ip": "192.0.2.10",
    "public-ip-assignment": "inet4",
    "secureboot-enabled": true,
    "security-groups": [
      {
        "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab"
      }
    ],
    "snapshots": [
      {
        "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab"
      }
    ],
    "ssh-key": {
      "fingerprint": "string",
      "name": "string"
    },
    "ssh-keys": [
      {
        "fingerprint": "string",
        "name": "string"
      }
    ],
    "state": "expunging",
    "template": {
      "application-consistent-snapshot-enabled": true,
      "boot-mode": "legacy",
      "build": "string",
      "checksum": "string",
      "created-at": "2026-01-01T00:00:00Z",
      "default-user": "string",
      "description": "string",
      "family": "string",
      "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
      "maintainer": "string",
      "name": "string",
      "password-enabled": true,
      "size": 1,
      "ssh-key-enabled": true,
      "url": "string",
      "version": "string",
      "visibility": "private"
    },
    "tpm-enabled": true,
    "user-data": "string",
    "vpc": {
      "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
      "name": "string",
      "subnets": [
        {
          "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
          "ipv4": "192.0.2.10",
          "name": "string"
        }
      ]
    }
  },
  "name": "string",
  "size": 10,
  "state": "snapshotting"
}
```
</details>


SDK reference for `get-snapshot`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.GetSnapshot) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.get_snapshot) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#getSnapshot(java.util.UUID))

[CLI](https://community.exoscale.com/tools/command-line-interface/index.md): `exo api get-snapshot`

## <span data-label="DELETE" class="pill-DELETE"></span>delete-snapshot

Delete a Snapshot

```
DELETE /snapshot/{id}
```

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `id` | `path` | Must be a valid UUID. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](https://community.exoscale.com/reference/api/_schemas/operation/index.md#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `delete-snapshot`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.DeleteSnapshot) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.delete_snapshot) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#deleteSnapshot(java.util.UUID))

[CLI](https://community.exoscale.com/tools/command-line-interface/index.md): `exo api delete-snapshot`


---

## Other Operations

## <span data-label="POST" class="pill-POST"></span>export-snapshot

Export a Snapshot

```
POST /snapshot/{id}:export
```

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `id` | `path` | Must be a valid UUID. |

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](https://community.exoscale.com/reference/api/_schemas/operation/index.md#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `export-snapshot`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.ExportSnapshot) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.export_snapshot) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#exportSnapshot(java.util.UUID))

[CLI](https://community.exoscale.com/tools/command-line-interface/index.md): `exo api export-snapshot`

## <span data-label="POST" class="pill-POST"></span>promote-snapshot-to-template

Promote a Snapshot to a Template

```
POST /snapshot/{id}:promote
```

### Path parameters

| Name | In | Description |
| --- | --- | --- |
| `id` | `path` | Must be a valid UUID. |

### Request body

Content-Type: `application/json`

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | **yes** | Template name<br/><br/>Min length: `1`. Max length: `255`. |
| `default-user` | string | no | Template default user<br/><br/>Min length: `1`. Max length: `255`. |
| `description` | string | no | Template description<br/><br/>Max length: `4096`. |
| `password-enabled` | boolean | no | Enable password-based login in the template |
| `ssh-key-enabled` | boolean | no | Enable SSH key-based login in the template |

<details>
<summary>Example</summary>

```json
{
  "default-user": "string",
  "description": "string",
  "name": "string",
  "password-enabled": true,
  "ssh-key-enabled": true
}
```
</details>


### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `id` | string | Operation ID<br/><br/>Must be a valid UUID. |
| `message` | string | Operation message |
| `reason` | string | Operation failure reason<br/><br/>Allowed values: `incorrect`, `unknown`, `unavailable`, `forbidden`, `busy`, `fault`, `partial`, `not-found`, `interrupted`, `unsupported`, `conflict`. |
| `reference` | [Reference](https://community.exoscale.com/reference/api/_schemas/operation/index.md#reference) | Related resource reference |
| `state` | string | Operation status<br/><br/>Allowed values: `failure`, `pending`, `success`, `timeout`. |

<details>
<summary>Example output</summary>

```json
{
  "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
    "link": "string"
  },
  "state": "failure"
}
```
</details>


SDK reference for `promote-snapshot-to-template`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.PromoteSnapshotToTemplate) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.promote_snapshot_to_template) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#promoteSnapshotToTemplate(java.util.UUID,com.exoscale.sdk.model.PromoteSnapshotToTemplateRequest))

[CLI](https://community.exoscale.com/tools/command-line-interface/index.md): `exo api promote-snapshot-to-template`

## <span data-label="GET" class="pill-GET"></span>list-snapshots

List Snapshots

```
GET /snapshot
```

### Responses

Status: `200` - 200

Content-Type: `application/json`

| Property | Type | Description |
| --- | --- | --- |
| `snapshots` | array of [Snapshot](https://community.exoscale.com/reference/api/_schemas/snapshot/index.md) |  |

<details>
<summary>Example output</summary>

```json
{
  "snapshots": [
    {
      "application-consistent": true,
      "created-at": "2026-01-01T00:00:00Z",
      "export": {
        "md5sum": "string",
        "presigned-url": "string"
      },
      "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
      "instance": {
        "anti-affinity-groups": [
          {
            "id": null
          }
        ],
        "application-consistent-snapshot-enabled": true,
        "created-at": "2026-01-01T00:00:00Z",
        "deploy-target": {
          "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab"
        },
        "disk-encrypted": true,
        "disk-size": 10,
        "elastic-ips": [
          {
            "id": null
          }
        ],
        "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
        "instance-type": {
          "authorized": true,
          "cpus": 1,
          "family": "gpu3",
          "gpus": 1,
          "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
          "memory": 1,
          "size": "large",
          "zones": [
            null
          ]
        },
        "ip-forwarding": true,
        "ipv6-address": "string",
        "labels": {},
        "mac-address": "string",
        "manager": {
          "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
          "type": "sks-nodepool"
        },
        "name": "string",
        "private-networks": [
          {
            "id": null,
            "mac-address": null
          }
        ],
        "public-ip": "192.0.2.10",
        "public-ip-assignment": "inet4",
        "secureboot-enabled": true,
        "security-groups": [
          {
            "id": null
          }
        ],
        "snapshots": [
          {
            "id": null
          }
        ],
        "ssh-key": {
          "fingerprint": "string",
          "name": "string"
        },
        "ssh-keys": [
          {
            "fingerprint": null,
            "name": null
          }
        ],
        "state": "expunging",
        "template": {
          "application-consistent-snapshot-enabled": true,
          "boot-mode": "legacy",
          "build": "string",
          "checksum": "string",
          "created-at": "2026-01-01T00:00:00Z",
          "default-user": "string",
          "description": "string",
          "family": "string",
          "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
          "maintainer": "string",
          "name": "string",
          "password-enabled": true,
          "size": 1,
          "ssh-key-enabled": true,
          "url": "string",
          "version": "string",
          "visibility": "private"
        },
        "tpm-enabled": true,
        "user-data": "string",
        "vpc": {
          "id": "a1b2c3d4-e5f6-4a5b-8c9d-0123456789ab",
          "name": "string",
          "subnets": [
            null
          ]
        }
      },
      "name": "string",
      "size": 10,
      "state": "snapshotting"
    }
  ]
}
```
</details>


SDK reference for `list-snapshots`: [golang](https://pkg.go.dev/github.com/exoscale/egoscale/v3#Client.ListSnapshots) | [Python](https://exoscale.github.io/python-exoscale/v2.html#exoscale.api.v2.Client.list_snapshots) | [Java](https://exoscale.github.io/exoscale-sdk-java/com/exoscale/sdk/api/ExoscaleApi.html#listSnapshots())

[CLI](https://community.exoscale.com/tools/command-line-interface/index.md): `exo api list-snapshots`


