> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Volume states

This table explains the possible states for a Fly Volume. A volume may only be in one state at a time.

|                              |                                                                                           |
| ---------------------------- | ----------------------------------------------------------------------------------------- |
| **creating**                 | Initial state for a new volume.                                                           |
| **created**                  | Volume is in a stable state with no on-going operations.                                  |
| **extending**                | The volume is being extended.                                                             |
| **restoring**                | The volume is being restored from a snapshot.                                             |
| **enabling\_remote\_export** | The volume fork process is initializing.                                                  |
| **hydrating**                | The volume is being forked (copied) and is actively hydrating. The volume can be mounted. |
| **recovering**               | The volume is being recovered from the `pending_destroy` state.                           |
| **scheduling\_destroy**      | The volume is being deleted.                                                              |
| **pending\_destroy**         | The volume is soft deleted.                                                               |

## Transitions and states during actions on volumes

* Create a volume: `creating` → `created`
* Restore a volume from a snapshot: `creating` → `restoring` → `created`
* Fork a volume to another host/region: `creating` → `enabling_remote_export` → `hydrating` → `created`
* Extend a volume: `creating` → `extending` → `created`
* Destroy a volume: `creating` → `scheduling_destroy` → `pending_destroy`
* Migrate a volume to a new host (performed by Fly.io): source volume `created` → `pending_destroy`; destination volume \[Fork a volume transitions]

## Volumes are soft deleted before being destroyed

We always soft delete volumes before destroying them permanently, so that we can recover them if needed. Soft-deleted volumes are in the `pending_destroy` state.

When you destroy a volume (whether by flyctl commands or the Machines API), the volume stays in the `pending_destroy` state for 24 hours before being permanently deleted.

When we destroy a volume during migration to a new host, the volume stays in the `pending_destroy` state for 1 week before being permanently deleted.
