Volumes

Volumes List

get
https://api.linode.com/v4/volumes

Returns a paginated list of Volumes you have permission to view.

Query Parameters

page
integer > = 1
Default: 1

The page of a collection to return.

page_size
integer [25 .. 500]
Default: 100

The number of items to return per page.

Request Samples

curl -H "Authorization: Bearer $TOKEN" \
    https://api.linode.com/v4/volumes

Response Samples

{
  "data": [
    {
      "id": "",
      "created": "2018-01-01T00:01:01",
      "status": "active",
      "label": "my-volume",
      "updated": "2018-01-01T00:01:01",
      "tags": [
        "example tag",
        "another example"
      ],
      "size": 30,
      "region": "us-east",
      "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_my-volume",
      "linode_id": 12346,
      "linode_label": "linode123",
      "hardware_type": "nvme"
    }
  ],
  "page": 1,
  "pages": 1,
  "results": 1
}

Responses

200: Returns an array of all Volumes on your Account.

data
array of objects
id
integer

The unique ID of this Volume.

created
string

When this Volume was created.

status
string
Enum: "creating""active""resizing"

The current status of the volume. Can be one of:

  • creating - the Volume is being created and is not yet available for use.
  • active - the Volume is online and available for use.
  • resizing - the Volume is in the process of upgrading its current capacity.
label
Filterable
string^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$

The Volume's label is for display purposes only.

updated
string

When this Volume was last updated.

tags
Filterable
array

An array of Tags applied to this object. Tags are for organizational purposes only.

size
integer

The Volume's size, in GiB.

region
string

The unique ID of this Region.

filesystem_path
string

The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0LinodeVolume + Volume label.

linode_id
Nullable
integer

If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here.

linode_label
Nullable
string

If a Volume is attached to a specific Linode, the label of that Linode will be displayed here.

hardware_type
string
Enum: "hdd""nvme"

The storage type of this Volume.

page
integer

The current page.

pages
integer

The total number of pages.

results
integer

The total number of results.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.

Volume Create

post
https://api.linode.com/v4/volumes

Creates a Volume on your Account. In order for this to complete successfully, your User must have the add_volumes grant. Creating a new Volume will start accruing additional charges on your account.

Request Body Schema

label
Required
string [1 .. 32] characters ^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$

The Volume's label, which is also used in the filesystem_path of the resulting volume.

config_id
integer

When creating a Volume attached to a Linode, the ID of the Linode Config to include the new Volume in. This Config must belong to the Linode referenced by linode_id. Must not be provided if linode_id is not sent. If a linode_id is sent without a config_id, the volume will be attached:

  • to the Linode's only config if it only has one config.
  • to the Linode's last used config, if possible.

If no config can be selected for attachment, an error will be returned.

linode_id
integer

The Linode this volume should be attached to upon creation. If not given, the volume will be created without an attachment.

region
string

The Region to deploy this Volume in. This is only required if a linode_id is not given.

size
integer

The initial size of this volume, in GB. Be aware that volumes may only be resized up after creation.

tags
Filterable
array

An array of Tags applied to this object. Tags are for organizational purposes only.

Request Samples

curl -H "Content-Type: application/json" \
    -H "Authorization: Bearer $TOKEN" \
    -X POST -d '{
      "label": "my-volume",
      "size": 20,
      "linode_id": 12346
    }' \
    https://api.linode.com/v4/volumes

Response Samples

{
  "status": "active",
  "created": "2018-01-01T00:01:01",
  "updated": "2018-01-01T00:01:01",
  "id": 1234,
  "label": "my-volume",
  "region": "us-east",
  "tags": [],
  "size": 30,
  "linode_id": 12346,
  "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_my-volume",
  "linode_label": "linode123",
  "hardware_type": "nvme"
}

Responses

200: Creating Volume.

status
string
Enum: "creating""active""resizing"

The current status of the volume. Can be one of:

  • creating - the Volume is being created and is not yet available for use.
  • active - the Volume is online and available for use.
  • resizing - the Volume is in the process of upgrading its current capacity.
created
string <date-time>

When this Volume was created.

updated
string <date-time>

When this Volume was last updated.

id
integer

The unique ID of this Volume.

label
Filterable
string [1 .. 32] characters ^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$

The Volume's label is for display purposes only.

region
string

The unique ID of this Region.

tags
Filterable
array of objects

An array of Tags applied to this object. Tags are for organizational purposes only.

size
integer

The Volume's size, in GiB.

linode_id
Nullable
integer

If a Volume is attached to a specific Linode, the ID of that Linode will be displayed here.

filesystem_path
string

The full filesystem path for the Volume based on the Volume's label. Path is /dev/disk/by-id/scsi-0LinodeVolume + Volume label.

linode_label
Nullable
string

If a Volume is attached to a specific Linode, the label of that Linode will be displayed here.

hardware_type
string
Enum: "hdd""nvme"

The storage type of this Volume.

default: Error

errors
array of objects
reason
string

What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to open a Support Ticket or perform some other action before you can complete the request successfully.

field
string

The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as "null" if the error is not specific to any single element of the request.