v12

latestOpenAPI 3.0.3raw.githubusercontent.com2026-06-1811583196.1 KB
Volumes

Create volume

Create a new block storage volume. Volumes are created asynchronously — the response returns immediately with pending status.

Optionally attach the volume to an existing VM at create time by passing vm_id. Volume and VM must be in the same region.

Filesystem

For Linux VMs, set filesystem_type to choose how the volume is formatted:

  • ext4 (default), xfs, btrfs — Linux filesystems
  • Omit for Windows VMs — they always use NTFS

Filesystem is only applied if the volume is attached to a VM that mounts it via cloud-init or the contextualization script.

post/api/v1/volumes

Headers

X-Project-IDstring uuid required

Project ID. Required for all mutating operations (create, delete, power actions, resize).

Request body

namestring required

Volume display name

sizeinteger required

Volume size in GB

volume_type'nvme' required

Storage class

filesystem_type'ext4' | 'xfs' | 'btrfs'

Filesystem to format the volume with on first attach. Linux only — Windows VMs use NTFS automatically. Defaults to ext4.

vm_idstring uuid

Optional. Attach the volume to this VM at create time. VM must be in the same region.

region'us-east'

Region. Defaults to the project's default region.

Example request

{
  "name": "data-vol-1",
  "size": 100,
  "volume_type": "nvme"
}

Response

Volume creation accepted

successboolean

Example response

{
  "data": {
    "name": "data-vol-1",
    "volume_type": "nvme",
    "size": 100
  }
}