[Yandex Cloud documentation](../../../index.md) > [Yandex Compute Cloud](../../index.md) > API reference > [REST](../index.md) > [Snapshot](index.md) > Get

# Compute Cloud API, REST: Snapshot.Get

Returns the specified Snapshot resource.
To get the list of available Snapshot resources, make a [List](list.md#List) request.

## HTTP request

```
GET https://compute.api.cloud.yandex.net/compute/v1/snapshots/{snapshotId}
```

## Path parameters

#|
||Field | Description ||
|| snapshotId | **string**

Required field. ID of the Snapshot resource to return.
To get the snapshot ID, use a [SnapshotService.List](list.md#List) request.
The length must be less than or equal to 50.
This field is required. ||
|#

## Response {#yandex.cloud.compute.v1.Snapshot}

**HTTP Code: 200 - OK**

```json
{
  "id": "string",
  "folderId": "string",
  "createdAt": "string",
  "name": "string",
  "description": "string",
  "labels": "object",
  "storageSize": "string",
  "diskSize": "string",
  "productIds": [
    "string"
  ],
  "status": "string",
  "sourceDiskId": "string",
  "hardwareGeneration": {
    // Includes only one of the fields `legacyFeatures`, `generation2Features`
    "legacyFeatures": {
      "pciTopology": "string"
    },
    "generation2Features": "object"
    // end of the list of possible fields
  },
  "kmsKey": {
    "keyId": "string",
    "versionId": "string"
  }
}
```

A Snapshot resource. For more information, see [Snapshots](../../concepts/snapshot.md).

#|
||Field | Description ||
|| id | **string**

ID of the snapshot. ||
|| folderId | **string**

ID of the folder that the snapshot belongs to. ||
|| createdAt | **string** (date-time)

String in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format. The range of possible values is from
`0001-01-01T00:00:00Z` to `9999-12-31T23:59:59.999999999Z`, i.e. from 0 to 9 digits for fractions of a second.

To work with values in this field, use the APIs described in the
[Protocol Buffers reference](https://developers.google.com/protocol-buffers/docs/reference/overview).
In some languages, built-in datetime utilities do not support nanosecond precision (9 digits). ||
|| name | **string**

Name of the snapshot. 1-63 characters long. ||
|| description | **string**

Description of the snapshot. 0-256 characters long. ||
|| labels | **object** (map<**string**, **string**>)

Resource labels as `key:value` pairs. Maximum of 64 per resource. ||
|| storageSize | **string** (int64)

Size of the snapshot, specified in bytes. ||
|| diskSize | **string** (int64)

Size of the disk when the snapshot was created, specified in bytes. ||
|| productIds[] | **string**

License IDs that indicate which licenses are attached to this resource.
License IDs are used to calculate additional charges for the use of the virtual machine.
The correct license ID is generated by the platform. IDs are inherited by new resources created from this resource.
If you know the license IDs, specify them when you create the image.
For example, if you create a disk image using a third-party utility and load it into Object Storage, the license IDs will be lost.
You can specify them in the [yandex.cloud.compute.v1.ImageService.Create](../Image/create.md#Create) request. ||
|| status | **enum** (Status)

Current status of the snapshot.

- `CREATING`: Snapshot is being created.
- `READY`: Snapshot is ready to use.
- `ERROR`: Snapshot encountered a problem and cannot operate.
- `DELETING`: Snapshot is being deleted. ||
|| sourceDiskId | **string**

ID of the source disk used to create this snapshot. ||
|| hardwareGeneration | **[HardwareGeneration](#yandex.cloud.compute.v1.HardwareGeneration)**

If specified, forces the same HardwareGeneration features to be applied to the instance
created using this snapshot as source for the boot disk. Otherwise the current default will be used. ||
|| kmsKey | **[KMSKey](#yandex.cloud.compute.v1.KMSKey)**

Key encryption key info. ||
|#

## HardwareGeneration {#yandex.cloud.compute.v1.HardwareGeneration}

A set of features, specific to a particular Compute hardware generation.
They are not necessary supported by every host OS or distro, thus they are fixed to an image
and are applied to all instances created with it as their boot disk image.
These features significantly determine how the instance is created, thus cannot be changed after the fact.

#|
||Field | Description ||
|| legacyFeatures | **[LegacyHardwareFeatures](#yandex.cloud.compute.v1.LegacyHardwareFeatures)**

Includes only one of the fields `legacyFeatures`, `generation2Features`. ||
|| generation2Features | **object**

Includes only one of the fields `legacyFeatures`, `generation2Features`. ||
|#

## LegacyHardwareFeatures {#yandex.cloud.compute.v1.LegacyHardwareFeatures}

A first hardware generation, by default compatible with all legacy images.
Allows switching to PCI_TOPOLOGY_V2 and back.

#|
||Field | Description ||
|| pciTopology | **enum** (PCITopology)

- `PCI_TOPOLOGY_V1`
- `PCI_TOPOLOGY_V2` ||
|#

## KMSKey {#yandex.cloud.compute.v1.KMSKey}

#|
||Field | Description ||
|| keyId | **string**

ID of KMS symmetric key ||
|| versionId | **string**

Version of KMS symmetric key ||
|#