Skip to main content

Manage Block Storage Volumes

Provision, attach, resize, and snapshot persistent block storage volumes.

Base URL: https://cloud.octosinfra.com/backend/api


Create a volume

curl -X POST "https://cloud.octosinfra.com/backend/api/blockstorages" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "name=data-volume-1" \
-F "project=default-126" \
-F "cloud_provider=alto" \
-F "region=frankfurt" \
-F "billing_cycle=hourly" \
-F "storage_category=ssd-storage" \
-F "plan=premium-ssd-32-gb-620-iops-125-mbs-1" \
-F "is_custom_plan=false" \
-F "virtual_machine=my-web-server" \
-F "is_free_trial_plan=false"

Response:

{
"status": "Success",
"message": "Creating blockstorage",
"data": {
"name": "data-volume-1",
"size": "32",
"slug": "data-volume-1",
"service_name": "Block Storage"
}
}

Attach a volume to a VM

curl -X POST "https://cloud.octosinfra.com/backend/api/blockstorages/{BLOCK_STORAGE_SLUG}/attach" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "virtual_machine=my-web-server"

Detach a volume

curl -X POST "https://cloud.octosinfra.com/backend/api/blockstorages/{BLOCK_STORAGE_SLUG}/detach" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Resize a volume

curl -X POST "https://cloud.octosinfra.com/backend/api/blockstorages/{BLOCK_STORAGE_SLUG}/resize" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-F "plan=standard-ssd-256-gb" \
-F "billing_cycle=hourly" \
-F "region=frankfurt" \
-F "cloud_provider=alto"

Endpoint reference

ActionMethodEndpoint
List volumesGET/blockstorages
Create volumePOST/blockstorages
Attach to VMPOST/blockstorages/{SLUG}/attach
Detach from VMPOST/blockstorages/{SLUG}/detach
Resize volumePOST/blockstorages/{SLUG}/resize
List snapshotsGET/blockstorages/snapshots
Create snapshotPOST/blockstorages/{SLUG}/snapshots
List backupsGET/blockstorages/backups
Create backupPOST/blockstorages/{SLUG}/backups
Restore backupPOST/blockstorages/backups/{BACKUP_SLUG}/restore