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

# Dataset Lifecycle

> Understand the status progression of a dataset from upload to availability

## Dataset Lifecycle

### Creation and Upload

1. **Prepare data** - Organize files locally or identify cloud storage locations
2. **Upload Dataset** - Use either the FlexAI Console or CLI to upload the Dataset
3. **Verify completion** - Check upload status progress until it reaches the `available` status
4. **Ready for training** - Dataset becomes available for Training or Fine jobs

### Statuses

Monitor Dataset lifecycle with clear status indicators:

| Status      | Source                              | Description                                                                                                             |
| ----------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `uploading` | `Host`                              | Dataset files are being transferred from a host machine                                                                 |
| `syncing`   | `Remote Storage Provider`           | Dataset files are being synchronized from a Remote Storage Provider                                                     |
| `pending`   | `Host` or `Remote Storage Provider` | The Dataset is being processed by FlexAI                                                                                |
| `available` | `Host` or `Remote Storage Provider` | The Dataset is ready for use in Training or Fine-tuning Jobs                                                            |
| `error`     | `Host` or `Remote Storage Provider` | The upload process failed. Inspecting its details can provide more information: `flexai dataset inspect <dataset_name>` |

### Dataset lifecycle

You will notice that the Dataset lifecycle follows a clear progression through its statuses, with the only difference being the source of the upload:

```d2 theme={null}
"uploading (Host)" -> pending {style.animated: true}
"uploading (Host)" -> error
"syncing (Remote Storage Provider)" -> pending {style.animated: true}
"syncing (Remote Storage Provider)" -> error
pending -> available {style.animated: true}
pending -> error
```
