1. Volumes
Barrack API Documentation
  • Platform Documentation
    • Getting Started
    • Authentication & Access
    • Account Management
    • API Keys
    • GPU Models
    • Regions
    • Instance
      • OS Images
      • Bootsource Management
      • Deploy Instance
      • Instance Management
      • Hibernation
      • View Instances
    • Billing
      • Credit Depletion & Resource Protection
    • SSH Keys
      • Add SSH Keys
      • Manage SSH Keys
      • Connecting to Your VM via SSH
    • Volumes
      • Overview
      • Create Volume
      • List and View Volumes
      • Attach Volumes
      • Detach Volumes
      • Clone Volumes
      • Resize Volume
      • Delete Volume
    • Advanced Configurations
      • Network And Security
      • Cloudinit Script
      • Startup Script
    • Firewall
      • Manage Firewall
      • Rules and Attachment
    • Snapshot
      • Overview
      • Manage Snapshots
      • Restore Snapshots
    • Custom Images
      • Overview
      • Create and Manage Images
  • Balance
    • Get credit balance
      GET
  • Deploy Instance
    • Create a new instance
      POST
  • Pricing
    • Get pricing information
      GET
    • Get pricing information
      POST
  • Instances
    • List instances
    • Delete instance
    • Hibernate instance
    • Reboot instance
    • Restore hibernated instance
    • Start instance
    • Stop instance
    • Toggle public IP for instance
    • Get instance details
    • Get firewalls attached to instance
    • Add instance security rule
    • Remove instance security rule
    • Get instance billing
    • List Instance eligible for snapshot creation
  • SSH Keys
    • List SSH keys
    • Create SSH key
    • Get SSH key
    • Delete SSH key
  • Volumes
    • Attach volumes to instance
    • Detach volumes from instance
    • List volumes
    • Create volume
    • Get volume details
    • Delete volume
    • Clone volume
    • Resize volume
    • Get volume billing
    • List available volume types
  • Scripts
    • List all startup scripts
    • Create a startup script
    • Get startup script details
    • Update a startup script
    • Delete a startup script
    • Delete multiple startup scripts
  • Snapshots
    • Create snapshot
    • List snapshots
    • Get snapshot details
    • Delete snapshot
    • Restore snapshot
    • Get snapshot billing
  • Images
    • List custom images
    • Get image details
    • Delete custom image
    • List OS images
    • Create image from snapshot
    • Get snapshot-image relationship
    • Get snapshot-image relationship list
  • Firewalls
    • List firewalls
    • Get firewall details
    • Attach firewall to instances
    • Delete firewall
    • Remove firewall rule
    • Add firewall rule
    • Create firewall
    • List instances available for firewall attachment
    • Get supported protocols
  • GPU Stocks
    • Get GPU stock availability
  • GPU Specs
    • Get GPU specifications
  • Regions
    • List available regions
  • Schemas
    • AddFirewallRuleRequest
    • APIKeyResponse
    • AddFirewallRuleResponse
    • AddVMSecurityRuleResponse
    • AttachFirewallRequest
    • AggregatedBillingResponse
    • AttachFirewallResponse
    • AttachVolumesRequest
    • AttachVolumesResponse
    • AttachedFirewall
    • BatchSnapshotImageRelationshipResponse
    • Balance
    • Billing
    • ChatCompletionsRequest
    • ChatCompletionsResponse
    • CloneVolumeRequest
    • BillingRecord
    • BillingBreakdown
    • CloneVolumeResponse
    • BillingSummary
    • CreateFirewallRequest
    • CreateFirewallResponse
    • BootSourceEnum
    • CreateImageFromSnapshotRequest
    • BulkDeleteResponse
    • CreateSSHKeyRequest
    • CreateScriptRequest
    • CreateSnapshotRequest
    • CreateSnapshotResponse
    • CreateSSHKeyResponse
    • ComputeBilling
    • CurrencyEnum
    • Data
    • CreditBalanceResponse
    • CreateAPIKeyRequest
    • DeleteFirewallResponse
    • CreateVolumeRequest
    • CreateAPIKeyRequestTierEnum
    • DeleteSnapshotResponse
    • CreateVolumeResponse
    • CreateAPIKeyResponse
    • DeleteVMResponse
    • DetachVolumesRequest
    • DetachVolumesResponse
    • DeploymentRequest
    • DirectionEnum
    • DeploymentResponse
    • CreateSnapshotData
    • EthertypeEnum
    • ErrorResponse
    • FirewallAttachment
    • DeleteVolumeResponse
    • DeleteSSHKeyResponse
    • FirewallEnvironment
    • FirewallResponse
    • FirewallRule
    • FirewallVM
    • DataVolumeBilling
    • GetBatchSnapshotImageRelationshipsRequest
    • GetFirewallDetailsResponse
    • GPUStockConfiguration
    • GPUSpec
    • GetHibernatedVMsResponse
    • GPUStockItem
    • GPUSpecsResponse
    • GetSupportedProtocolsResponse
    • GPUStocksResponse
    • GetVMAttachedFirewallsResponse
    • DeploymentData
    • DeleteAPIKeyResponse
    • GetVolumeTypesResponse
    • HibernateVMResponse
    • HibernationBillingMetrics
    • ListFirewallsResponse
    • ListUserVMsResponse
    • ListVMsResponse
    • DeploymentDataStatusEnum
    • ModelsResponse
    • GetSSHKeysResponse
    • Pagination
    • PricingRequest
    • OSImage
    • Deposit
    • PricingResponse
    • OSImagesResponse
    • DepositStatusEnum
    • Protocol
    • GpuCountEnum
    • FirewallInstance
    • ProtocolEnum
    • Image
    • GpuModelEnum
    • GetVolumeDetailsResponse
    • RebootVMResponse
    • ImageCreateResponse
    • RecentHibernation
    • ImageDeleteResponse
    • GetVolumesWithNextNameResponse
    • RemoveFirewallRuleResponse
    • ImageDetailResponse
    • RemoveVMSecurityRuleResponse
    • Region
    • ImageListResponse
    • ResizeVolumeRequest
    • RegionsResponse
    • Price
    • ResizeVolumeResponse
    • ResourceTypeEnum
    • RestoreSnapshotRequest
    • RestoreSnapshotResponse
    • GetSSHKeyDetailResponse
    • RestoreVMResponse
    • Snapshot
    • SnapshotImageRelationshipResponse
    • GetSnapshotDetailsResponse
    • Specs
    • StartVMResponse
    • GpuBilling
    • StopVMResponse
    • TierEnum
    • UpdateScriptRequest
    • UsageHistoryResponse
    • UsageSummaryResponse
    • RegionEnum
    • UserVM
    • VMDetailsResponse
    • VMFlavor
    • InstanceFeatures
    • VMImage
    • InstanceSpecs
    • VMInstance
    • IpStatusEnum
    • VMResponse
    • SpecsMetadata
    • VMSecurityRule
    • VMSecurityRuleRequest
    • VMStatus
    • VMVolumeAttachment
    • Script
    • ListFirewallInstancesResponse
    • VolumeTypeEnum
    • SSHKeyResponse
    • ScriptListResponse
    • OsVolume
    • ListSnapshotsResponse
    • ListVMsForSnapshotResponse
    • ListAPIKeysResponse
    • PricingRequestVolumeTypeEnum
    • ToggleVMPublicIPResponse
    • PatchedDeposit
    • PatchedTransaction
    • PaymentMethodEnum
    • VolumeBillingRecord
    • VolumeBillingSummary
    • VolumeHourlyBillingResponse
    • SecurityRule
    • ScriptCreateResponse
    • RestoreSnapshotData
    • ScriptDeleteResponse
    • ScriptDetailResponse
    • VolumeResponse
    • ScriptUpdateResponse
    • StatusEnum
    • StorageBilling
    • SnapshotBillingRecord
    • SnapshotBillingResponse
    • SnapshotBillingSummary
    • SnapshotDetail
    • SnapshotListItem
    • SnapshotVMResponse
    • Tier528Enum
    • TokenObtainPair
    • TokenRefresh
    • Transaction
    • VolumeCreate
    • TransactionTypeEnum
    • VolumeCreateVolumeTypeEnum
    • VolumeRate
    • UserProfile
    • VMDetailVolumeAttachment
    • VMOperations
    • VMSpecs
    • VolumeTypeItem
    • VolumeTypesByTier
  1. Volumes

Detach Volumes

Disconnect persistent storage volumes from instances while preserving all volume data. Detached volumes can be re-attached to the same or different instances.

Detachment Requirements#

Before detaching a volume, ensure these conditions are met:
Volume Status
Must Be "Attached"
Currently connected to an instance
Not in "Available" status
Not in "Creating" status
Not in a transitional state (Attaching/Detaching)
Shows "Attached" badge on volume card
Volume Type
Must Be Non-Bootable
Cannot be OS/bootable volume
Volume details show "Bootable: No"
Was not created from OS image
Detach button is enabled (not grayed out)
OS/Bootable Volume Restriction:
Created from OS image (CANADA-1 only)
Bootable flag set to true
Permanent attachment — cannot be detached or moved to a different instance
Detach button disabled with tooltip
Instance Status
Must Be "SHUTOFF"
Instance is powered off
Not running (ACTIVE)
Not creating, hibernated, or suspended
Not terminated
Shut down instance before detachment
How to Shut Down:
1.
Go to instances page
2.
Click shutdown/stop button
3.
Wait for SHUTOFF status
4.
Return to volumes page
Additional Requirements:
Volume and instance must be in the same tier (Advanced or Legacy)
Volume and instance must be in the same region
Instance currency must match your current currency preference
Maximum 10 volumes can be detached in a single API request
No duplicate volume IDs in a single request

Detaching a Volume#

1
Verify & Prepare
Check Volume Type:
Navigate to barrack.ai/volumes
Use region dropdown to filter volumes
Locate the attached volume
Verify volume details show "Bootable: No"
If "Bootable: Yes", volume cannot be detached
Verify Instance Status:
Check instance status displayed on volume card
Status must show SHUTOFF
If not SHUTOFF, shut down the instance:
1.
Go to barrack.ai/instances
2.
Click shutdown/stop button on instance card
3.
Wait for status to change to SHUTOFF
4.
Return to volumes page
Confirm Before Proceeding:
Volume is non-bootable (can be detached)
Instance is in SHUTOFF state
Detach button is enabled on volume card
2
Detach Volume
Click the Detach button on the volume card
Confirmation Modal Appears:
Shows volume name
Displays warning about potential application disruption
Shows instance status validation
If Instance Not SHUTOFF:
Error message displays:
"VM must be in SHUTOFF state for volume detachment (current state: {status})"
If Instance Is SHUTOFF:
Click the Detach button in the modal to confirm
Processing:
Request sent to backend
Volume disconnected from instance
Typically completes in 5-10 seconds
Success notification appears
3
Verify Detachment
Volume Card Updates:
Status changes from "Attached" to "Available"
Instance name and ID are removed
Detach button changes to Attach button
Delete button becomes enabled
Volume Details Updates:
"Attached to" field is cleared
Status shows "Available"
Data Preservation:
All data on volume is preserved
No data loss occurs during detachment
Filesystem and files remain unchanged
Volume can be re-attached with data intact

Post-Detachment Status#

After successful detachment, these changes occur:

Volume Changes#

Status Updates:
Status badge changes from "Attached" to "Available"
Instance information removed from volume card
"Attached to" field cleared in volume details
Button Changes:
Detach button is hidden
Attach button appears
Delete button becomes enabled
Clone/Resize buttons remain available (advanced tier only)
Data Preservation:
All data on volume is preserved
No data loss during detachment
Volume can be re-attached to same or different instance
Data immediately accessible after re-attachment

Instance Impact#

Instance State:
Instance remains in SHUTOFF state
Instance can be started without detached volume
Boot process unaffected (unless it was an OS volume)
Application Impact:
Applications configured to use the detached volume will:
Fail to start if volume mount is missing
Show errors when accessing volume mount point
Require reconfiguration to use different storage
Need volume re-attachment to function normally
Configuration Updates Needed:
If starting instance without the volume:
1.
Remove volume mount from /etc/fstab
2.
Update application configurations
3.
Remove volume-dependent services
4.
Verify applications still function correctly

Billing Impact#

No Change in Billing:
Volume billing continues at the same rate
Detachment does not affect billing charges
Credits deducted hourly based on volume size and type
Same rate whether attached or available

Troubleshooting#

OS/Bootable volumes cannot be detached
Instance must be SHUTOFF to detach volumes
Volume is not attached to this VM
Volume detachment or attachment already in progress
Instance not available in current currency context
VM and volumes must be from the same tier
VM and volumes must be in the same region
Detach button is disabled
Detachment fails after confirmation
Instance status showing wrong state

Common Errors#

For authentication, credits, profile, and session errors, see Common Volume Errors.

Instance State Reference#

Understanding instance states is critical for successful volume detachment:
SHUTOFF (Required)
ACTIVE (Invalid)
CREATING (Invalid)
HIBERNATED (Invalid)
TERMINATED (Invalid)
Description: Instance is powered off and not consuming compute resources
Volume Operations:
✅ Detach volumes allowed (non-OS volumes only)
✅ Attach volumes allowed
How to Achieve:
1.
Navigate to instances page
2.
Click shutdown/stop button on instance card
3.
Wait for status to change to SHUTOFF
Verification: Instance card shows "SHUTOFF" status badge

Next Steps#

After detaching volumes:
1
Verify Detachment
Confirm successful detachment:
Volume status shows "Available"
Instance information removed from volume card
Attach button is displayed
2
Decide Next Action
Choose based on your needs:
Attach volume to a different instance
Delete volume if no longer needed
Keep volume available for future use
Clone or resize volume (advanced tier only)
3
Update Instance Configuration
If starting instance without the volume:
Remove volume mount from /etc/fstab
Update application configurations
Remove volume-dependent services
Verify applications still function correctly

Support#

Email Support
Detachment Issues Help
Contact for:
Detachment errors
Instance state problems
OS/bootable volume questions
Include: volume ID and name, instance ID and name, error messages, request ID, screenshots
Delete Volumes
Volume Deletion Guide
Learn how to:
Delete detached volumes
Verify volume requirements
Understand billing impact
Troubleshoot deletion errors
Previous
Attach Volumes
Next
Clone Volumes
Built with