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
| Action | Method | Endpoint |
|---|---|---|
| List volumes | GET | /blockstorages |
| Create volume | POST | /blockstorages |
| Attach to VM | POST | /blockstorages/{SLUG}/attach |
| Detach from VM | POST | /blockstorages/{SLUG}/detach |
| Resize volume | POST | /blockstorages/{SLUG}/resize |
| List snapshots | GET | /blockstorages/snapshots |
| Create snapshot | POST | /blockstorages/{SLUG}/snapshots |
| List backups | GET | /blockstorages/backups |
| Create backup | POST | /blockstorages/{SLUG}/backups |
| Restore backup | POST | /blockstorages/backups/{BACKUP_SLUG}/restore |