# Volumes ## Create **post** `/v2/volumes` To create a new volume, send a POST request to `/v2/volumes`. Optionally, a `filesystem_type` attribute may be provided in order to automatically format the volume's filesystem. Pre-formatted volumes are automatically mounted when attached to Ubuntu, Debian, Fedora, Fedora Atomic, and CentOS Droplets created on or after April 26, 2018. Attaching pre-formatted volumes to Droplets without support for auto-mounting is not recommended. ### Returns - **volume:** `object { id, created_at, description, 7 more }` - **id:** `string` The unique identifier for the block storage volume. - **created\_at:** `string` A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. - **description:** `string` An optional free-form text field to describe a block storage volume. - **droplet\_ids:** `array of number` An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. - **filesystem\_label:** `string` The label currently applied to the filesystem. - **filesystem\_type:** `string` The type of filesystem currently in-use on the volume. - **name:** `string` A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. - **region:** `Region` The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned. - **size\_gigabytes:** `number` The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. - **tags:** `array of string` A flat array of tag names as strings applied to the resource.

Requires `tag:read` scope. ## Retrieve **get** `/v2/volumes/{volume_id}` To show information about a block storage volume, send a GET request to `/v2/volumes/$VOLUME_ID`. ### Returns - **volume:** `object { id, created_at, description, 7 more }` - **id:** `string` The unique identifier for the block storage volume. - **created\_at:** `string` A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. - **description:** `string` An optional free-form text field to describe a block storage volume. - **droplet\_ids:** `array of number` An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. - **filesystem\_label:** `string` The label currently applied to the filesystem. - **filesystem\_type:** `string` The type of filesystem currently in-use on the volume. - **name:** `string` A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. - **region:** `Region` The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned. - **size\_gigabytes:** `number` The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. - **tags:** `array of string` A flat array of tag names as strings applied to the resource.

Requires `tag:read` scope. ## List **get** `/v2/volumes` To list all of the block storage volumes available on your account, send a GET request to `/v2/volumes`. ## Filtering Results ### By Region The `region` may be provided as query parameter in order to restrict results to volumes available in a specific region. For example: `/v2/volumes?region=nyc1` ### By Name It is also possible to list volumes on your account that match a specified name. To do so, send a GET request with the volume's name as a query parameter to `/v2/volumes?name=$VOLUME_NAME`. **Note:** You can only create one volume per region with the same name. ### By Name and Region It is also possible to retrieve information about a block storage volume by name. To do so, send a GET request with the volume's name and the region slug for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. ### Returns - **meta:** `MetaProperties` Information about the response itself. - **volumes:** `array of object { id, created_at, description, 7 more }` Array of volumes. - **id:** `string` The unique identifier for the block storage volume. - **created\_at:** `string` A time value given in ISO8601 combined date and time format that represents when the block storage volume was created. - **description:** `string` An optional free-form text field to describe a block storage volume. - **droplet\_ids:** `array of number` An array containing the IDs of the Droplets the volume is attached to. Note that at this time, a volume can only be attached to a single Droplet. - **filesystem\_label:** `string` The label currently applied to the filesystem. - **filesystem\_type:** `string` The type of filesystem currently in-use on the volume. - **name:** `string` A human-readable name for the block storage volume. Must be lowercase and be composed only of numbers, letters and "-", up to a limit of 64 characters. The name must begin with a letter. - **region:** `Region` The region that the block storage volume is located in. When setting a region, the value should be the slug identifier for the region. When you query a block storage volume, the entire region object will be returned. - **size\_gigabytes:** `number` The size of the block storage volume in GiB (1024^3). This field does not apply when creating a volume from a snapshot. - **tags:** `array of string` A flat array of tag names as strings applied to the resource.

Requires `tag:read` scope. - **links:** `PageLinks` ## Delete **delete** `/v2/volumes/{volume_id}` To delete a block storage volume, destroying all data and removing it from your account, send a DELETE request to `/v2/volumes/$VOLUME_ID`. No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data. ## Delete By Name **delete** `/v2/volumes` Block storage volumes may also be deleted by name by sending a DELETE request with the volume's **name** and the **region slug** for the region it is located in as query parameters to `/v2/volumes?name=$VOLUME_NAME®ion=nyc1`. No response body will be sent back, but the response code will indicate success. Specifically, the response code will be a 204, which means that the action was successful with no returned body data.