Volume Management (Block Storage)

Retrieve volume's events

GET
/volumes/{id}/events

Returns a list of the current volume’s events

    /volumes/{id}/events
  • Parameters
  • id
    string  (required) in path

    Volume UUID

    include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

Provides the custom metadata stored for this storage volume in json format

    /storage/{id}/customdata
  • Parameters
  • id
    string  (required) in path

    Storage Volume UUID

Retrieve all volume attachment

GET
/storage/{id}/attachments

Returns a list of the current volume’s attachments.

    /storage/{id}/attachments
  • Parameters
  • id
    string  (required) in path

    Volume UUID

    include
    string in query

    related attributes to include

Attach your volume

/storage/{id}/attachments

Attach your volume to a device.

    /storage/{id}/attachments
  • Parameters
  • id
    string  (required) in path

    Volume UUID

    attachment
     (required) in body

    Device to attach

    device_id

    {
    	"device_id": "string"
    } 

Retrieve an attachment

GET
/storage/attachments/{id}

Returns a single attachment if the user has access

    /storage/attachments/{id}
  • Parameters
  • id
    string  (required) in path

    Attachment UUID

    include
    string in query

    related attributes to include

Detach volume

/storage/attachments/{id}

Detach volume.

    /storage/attachments/{id}
  • Parameters
  • id
    string  (required) in path

    Attachment UUID

Retrieve all volume snapshot

GET
/storage/{id}/snapshots

Returns a list of the current volume’s snapshots.

    /storage/{id}/snapshots
  • Parameters
  • id
    string  (required) in path

    Volume UUID

    include
    string in query

    related attributes to include

Create a volume snapshot

/storage/{id}/snapshots

Creates a new snapshot of your volume.

    /storage/{id}/snapshots
  • Parameters
  • id
    string  (required) in path

    Volume UUID

Delete volume snapshot

/storage/{volume_id}/snapshots/{id}

Delete volume snapshot.

    /storage/{volume_id}/snapshots/{id}
  • Parameters
  • volume_id
    string  (required) in path

    Volume UUID

    id
    string  (required) in path

    Snapshot UUID

Create a volume snapshot policy

/storage/{id}/snapshot-policies

Creates a new snapshot policy of your volume.

    /storage/{id}/snapshot-policies
  • Parameters
  • id
    string  (required) in path

    Volume UUID

    snapshot_count
    integer in query

    Snapshot count

    snapshot_frequency
    string  (required) in query

    Snapshot frequency

Update the volume snapshot policy

PUT
/storage/snapshot-policies/{id}

Updates the volume snapshot policy.

    /storage/snapshot-policies/{id}
  • Parameters
  • id
    string  (required) in path

    Snapshot Policy UUID

    snapshot_count
    integer in query

    Snapshot count

    snapshot_frequency
    string  (required) in query

    Snapshot frequency

Delete the volume snapshot policy

/storage/snapshot-policies/{id}

Deletes the volume snapshot policy.

    /storage/snapshot-policies/{id}
  • Parameters
  • id
    string  (required) in path

    Snapshot Policy UUID

Retrieve all volumes

GET
/projects/{id}/storage

Returns a list of the current projects’s volumes.

    /projects/{id}/storage
  • Parameters
  • id
    string  (required) in path

    Project UUID

    include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

Create a volume

/projects/{id}/storage

Creates a new volume in our datacenter. The valid attribute values for plan and facility are:

     "facility": "ams1", "ewr1", "nrt1", "sjc1"
     "plan": "storage_1" (Standard), "storage_2" (Performance)
    /projects/{id}/storage
  • Parameters
  • id
    string  (required) in path

    Project UUID

    volume
     (required) in body

    Volume to create

    facility, plan, size

    {
    	"description": "string",
    	"facility": "string",
    	"plan": "string",
    	"size": "integer",
    	"locked": "boolean",
    	"billing_cycle": "string",
    	"snapshot_policies": {
    		"$ref": "#\/definitions\/SnapshotPolicyInput"
    	},
    	"customdata": "string"
    } 

Retrieve a volume

GET
/storage/{id}

Returns a single volume if the user has access

    /storage/{id}
  • Parameters
  • id
    string  (required) in path

    Volume UUID

    include
    string in query

    related attributes to include

Update the volume

PUT
/storage/{id}

Updates the volume.

    /storage/{id}
  • Parameters
  • id
    string  (required) in path

    Volume UUID

    volume
     (required) in body

    Volume to update

    {
    	"description": "string",
    	"size": "integer",
    	"locked": "boolean",
    	"billing_cycle": "string",
    	"customdata": "string"
    } 

Delete the volume

/storage/{id}

Deletes the volume.

    /storage/{id}
  • Parameters
  • id
    string  (required) in path

    Volume UUID

Restore volume

/storage/{id}/restore

Restore the volume to the given snapshot.

    /storage/{id}/restore
  • Parameters
  • id
    string  (required) in path

    Volume UUID

    restore_point
    string  (required) in query

    restore point

Clone volume/snapshot

/storage/{id}/clone

Clone your volume or snapshot into a new volume. To clone the volume, send an empty body. To promote a volume snapshot into a new volume, include the snapshot_timestamp attribute in the request body.

    /storage/{id}/clone
  • Parameters
  • id
    string  (required) in path

    Volume UUID

    snapshot_timestamp
    string in query

    snapshot timestamp