Scaleway logo
Block Storage API

A Block Storage snapshot is a read-only picture of a Block volume, taken at a specific time You can then revert your data to the previous snapshot. You can also create a new read/write Block volume from a previous snapshot


List all snapshots

GET
https://api.scaleway.com
/block/v1/zones/{zone}/snapshots

List all available snapshots in a specified zone. By default, the snapshots listed are ordered by creation date in ascending order. This can be modified via the order_by field.

List all snapshots › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2

List all snapshots › query Parameters

include_deleted
​boolean · required

Display deleted snapshots not erased yet.

order_by
​scaleway.block.v1.ListSnapshotsRequest.OrderBy · enum

Criteria to use when ordering the list.

Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc
project_id
​string

Filter by Project ID.

organization_id
​string

Filter by Organization ID.

page
​integer · int32

Page number.

page_size
​integer · uint32

Page size, defines how many entries are returned in one page, must be lower or equal to 100.

volume_id
​string

Filter snapshots by the ID of the original volume.

name
​string

Filter snapshots by their names.

tags
​string[]

Filter by tags. Only snapshots with one or more matching tags will be returned.

List all snapshots › Responses

200

Paginated returned list of snapshots.

total_count
​integer · uint64

Total number of snapshots in the project.


Create a snapshot of a volume

POST
https://api.scaleway.com
/block/v1/zones/{zone}/snapshots

To create a snapshot, the volume must be in the in_use or the available status. If your volume is in a transient state, you need to wait until the end of the current operation.

Create a snapshot of a volume › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2

Create a snapshot of a volume › Request Body

volume_id
​string

UUID of the volume to snapshot.

name
​string

Name of the snapshot.

project_id
​string

UUID of the project to which the volume and the snapshot belong.

tags
​string[]

List of tags assigned to the snapshot.

public
​boolean

Public snapshots can be used by anyone to create a volume from. Snapshots are private by default, public snapshots are mainly used to publish OS images.

Create a snapshot of a volume › Responses

200
id
​string

UUID of the snapshot. (UUID format)

name
​string

Name of the snapshot.

Information about the parent volume. If the parent volume was deleted, value is null.

size
​integer · uint64

Size in bytes of the snapshot. (in bytes)

project_id
​string

UUID of the project the snapshot belongs to. (UUID format)

created_at
​string | null · date-time

Creation date of the snapshot. (RFC 3339 format)

updated_at
​string | null · date-time

Last modification date of the properties of a snapshot. (RFC 3339 format)

List of the references to the snapshot.

status
​scaleway.block.v1.Snapshot.Status · enum

Current status of the snapshot (available, in_use, ...).

Enum values:
unknown_status
creating
available
error
deleting
deleted
in_use
locked
Default: unknown_status
tags
​string[]

List of tags assigned to the volume.

zone
​string

Snapshot zone.

class
​scaleway.block.v1.StorageClass · enum

Storage class of the snapshot.

Enum values:
unknown_storage_class
unspecified
bssd
sbs
Default: unknown_storage_class
public
​boolean

True if the snapshot can be used by anyone to create a volume from.

kms_key_id
​string | null

KMS Key used for securing the parent volume's encryption. (UUID format)

srn
​string

The SRN of the snapshot.


Get a snapshot

GET
https://api.scaleway.com
/block/v1/zones/{zone}/snapshots/{snapshot_id}

Retrieve technical information about a specific snapshot. Details such as size, volume type, and status are returned in the response.

Get a snapshot › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
snapshot_id
​string · required

UUID of the snapshot.

Get a snapshot › Responses

200
id
​string

UUID of the snapshot. (UUID format)

name
​string

Name of the snapshot.

Information about the parent volume. If the parent volume was deleted, value is null.

size
​integer · uint64

Size in bytes of the snapshot. (in bytes)

project_id
​string

UUID of the project the snapshot belongs to. (UUID format)

created_at
​string | null · date-time

Creation date of the snapshot. (RFC 3339 format)

updated_at
​string | null · date-time

Last modification date of the properties of a snapshot. (RFC 3339 format)

List of the references to the snapshot.

status
​scaleway.block.v1.Snapshot.Status · enum

Current status of the snapshot (available, in_use, ...).

Enum values:
unknown_status
creating
available
error
deleting
deleted
in_use
locked
Default: unknown_status
tags
​string[]

List of tags assigned to the volume.

zone
​string

Snapshot zone.

class
​scaleway.block.v1.StorageClass · enum

Storage class of the snapshot.

Enum values:
unknown_storage_class
unspecified
bssd
sbs
Default: unknown_storage_class
public
​boolean

True if the snapshot can be used by anyone to create a volume from.

kms_key_id
​string | null

KMS Key used for securing the parent volume's encryption. (UUID format)

srn
​string

The SRN of the snapshot.


Delete a snapshot

DELETE
https://api.scaleway.com
/block/v1/zones/{zone}/snapshots/{snapshot_id}

You must specify the snapshot_id of the snapshot you want to delete. The snapshot must not be in use.

Delete a snapshot › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
snapshot_id
​string · required

UUID of the snapshot.

Delete a snapshot › Responses

No data returned

Update a snapshot

PATCH
https://api.scaleway.com
/block/v1/zones/{zone}/snapshots/{snapshot_id}

Update the name or tags of the snapshot.

Update a snapshot › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
snapshot_id
​string · required

UUID of the snapshot.

Update a snapshot › Request Body

name
​string | null

When defined, is the name of the snapshot.

tags
​array | null

List of tags assigned to the snapshot.

public
​boolean | null

Public snapshots can be used by anyone to create a volume from. Snapshots are private by default, public snapshots are mainly used to publish OS images.

Update a snapshot › Responses

200
id
​string

UUID of the snapshot. (UUID format)

name
​string

Name of the snapshot.

Information about the parent volume. If the parent volume was deleted, value is null.

size
​integer · uint64

Size in bytes of the snapshot. (in bytes)

project_id
​string

UUID of the project the snapshot belongs to. (UUID format)

created_at
​string | null · date-time

Creation date of the snapshot. (RFC 3339 format)

updated_at
​string | null · date-time

Last modification date of the properties of a snapshot. (RFC 3339 format)

List of the references to the snapshot.

status
​scaleway.block.v1.Snapshot.Status · enum

Current status of the snapshot (available, in_use, ...).

Enum values:
unknown_status
creating
available
error
deleting
deleted
in_use
locked
Default: unknown_status
tags
​string[]

List of tags assigned to the volume.

zone
​string

Snapshot zone.

class
​scaleway.block.v1.StorageClass · enum

Storage class of the snapshot.

Enum values:
unknown_storage_class
unspecified
bssd
sbs
Default: unknown_storage_class
public
​boolean

True if the snapshot can be used by anyone to create a volume from.

kms_key_id
​string | null

KMS Key used for securing the parent volume's encryption. (UUID format)

srn
​string

The SRN of the snapshot.


Export a snapshot to a Scaleway Object Storage bucket

POST
https://api.scaleway.com
/block/v1/zones/{zone}/snapshots/{snapshot_id}/export-to-object-storage

The snapshot is exported in QCOW2 format. The snapshot must not be in transient state.

Export a snapshot to a Scaleway Object Storage bucket › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
snapshot_id
​string · required

UUID of the snapshot. (UUID format)

Export a snapshot to a Scaleway Object Storage bucket › Request Body

bucket
​string

Scaleway Object Storage bucket where the object is stored.

key
​string

The object key inside the given bucket.

Export a snapshot to a Scaleway Object Storage bucket › Responses

200
id
​string

UUID of the snapshot. (UUID format)

name
​string

Name of the snapshot.

Information about the parent volume. If the parent volume was deleted, value is null.

size
​integer · uint64

Size in bytes of the snapshot. (in bytes)

project_id
​string

UUID of the project the snapshot belongs to. (UUID format)

created_at
​string | null · date-time

Creation date of the snapshot. (RFC 3339 format)

updated_at
​string | null · date-time

Last modification date of the properties of a snapshot. (RFC 3339 format)

List of the references to the snapshot.

status
​scaleway.block.v1.Snapshot.Status · enum

Current status of the snapshot (available, in_use, ...).

Enum values:
unknown_status
creating
available
error
deleting
deleted
in_use
locked
Default: unknown_status
tags
​string[]

List of tags assigned to the volume.

zone
​string

Snapshot zone.

class
​scaleway.block.v1.StorageClass · enum

Storage class of the snapshot.

Enum values:
unknown_storage_class
unspecified
bssd
sbs
Default: unknown_storage_class
public
​boolean

True if the snapshot can be used by anyone to create a volume from.

kms_key_id
​string | null

KMS Key used for securing the parent volume's encryption. (UUID format)

srn
​string

The SRN of the snapshot.


Import a snapshot from a Scaleway Object Storage bucket

POST
https://api.scaleway.com
/block/v1/zones/{zone}/snapshots/import-from-object-storage

The bucket must contain a QCOW2 image. The bucket can be imported into any Availability Zone as long as it is in the same region as the bucket.

Import a snapshot from a Scaleway Object Storage bucket › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
fr-par-3
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2

Import a snapshot from a Scaleway Object Storage bucket › Request Body

bucket
​string

Scaleway Object Storage bucket where the object is stored.

key
​string

The object key inside the given bucket.

name
​string

Name of the snapshot.

project_id
​string

UUID of the Project to which the volume and the snapshot belong.

tags
​string[]

List of tags assigned to the snapshot.

size
​integer | null · uint64

Size of the snapshot. (in bytes)

Import a snapshot from a Scaleway Object Storage bucket › Responses

200
id
​string

UUID of the snapshot. (UUID format)

name
​string

Name of the snapshot.

Information about the parent volume. If the parent volume was deleted, value is null.

size
​integer · uint64

Size in bytes of the snapshot. (in bytes)

project_id
​string

UUID of the project the snapshot belongs to. (UUID format)

created_at
​string | null · date-time

Creation date of the snapshot. (RFC 3339 format)

updated_at
​string | null · date-time

Last modification date of the properties of a snapshot. (RFC 3339 format)

List of the references to the snapshot.

status
​scaleway.block.v1.Snapshot.Status · enum

Current status of the snapshot (available, in_use, ...).

Enum values:
unknown_status
creating
available
error
deleting
deleted
in_use
locked
Default: unknown_status
tags
​string[]

List of tags assigned to the volume.

zone
​string

Snapshot zone.

class
​scaleway.block.v1.StorageClass · enum

Storage class of the snapshot.

Enum values:
unknown_storage_class
unspecified
bssd
sbs
Default: unknown_storage_class
public
​boolean

True if the snapshot can be used by anyone to create a volume from.

kms_key_id
​string | null

KMS Key used for securing the parent volume's encryption. (UUID format)

srn
​string

The SRN of the snapshot.