Volumes

List Volumes

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

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

Authorizations

Personal Access Token
OAuth: ( volumes:read_only)

Query Parameters

page
integer > = 1
Default: 1

The page of a collection to return.

page_size
integer [25 .. 100]
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",
      "tags": [
        "example tag",
        "another example"
      ],
      "size": 30,
      "region": "us-east",
      "updated": "2018-01-01T00:01:01",
      "filesystem_path": "/dev/disk/by-id/scsi-0Linode_Volume_my-volume",
      "linode_id": 12346
    }
  ],
  "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""contact_support"

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.
  • contact_support - there is a problem with your Volume. Please open a Support Ticket to resolve the issue.
label
Filterable
string^[a-zA-Z]((?!--|__)[a-zA-Z0-9-_])+$

The Volume's label is for display purposes only.

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.

updated
string

When this Volume was last updated.

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.

page
integer
pages
integer
results
integer

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.

Create Volume

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.

Authorizations

Personal Access Token
OAuth: ( volumes:read_write)

Request Body Schema

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.

label
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.

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

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

Responses

200: Creating Volume.

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.

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

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.
  • contact_support - there is a problem with your Volume. Please open a Support Ticket to resolve the issue.
tags
Filterable
array of objects

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

created
string <date-time>

When this Volume was created.

size
integer

The Volume's size, in GiB.

region
string

The unique ID of this Region.

updated
string <date-time>

When this Volume was last updated.

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.

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.