docs/en/platform/account/trash.md
Ultralytics Platform implements a 30-day soft delete policy, allowing you to recover accidentally deleted projects, datasets, and models. Deleted items are moved to Trash where they can be restored before permanent deletion.
When you delete a resource on the platform:
!!! success "Recovery Window"
You have 30 days to restore any deleted item. After this period, the item and all associated data are permanently removed and cannot be recovered.
Navigate to your Trash:
/trash (redirects to Settings > Trash)The Trash shows all soft-deleted resources with filter options:
| Filter | Shows |
|---|---|
| All | All trashed items |
| Projects | Trashed projects |
| Datasets | Trashed datasets |
| Models | Trashed models |
Each item in Trash displays:
| Field | Description |
|---|---|
| Name | Original resource name |
| Type | Project, Dataset, or Model (color-coded) |
| Deleted | Date and time of deletion |
| Days Remaining | Time until permanent deletion |
| Size | Storage used by the item |
| Cascaded Items | Number of child items included |
| Parent Project | Parent project (for models) |
When deleting a parent resource, child resources are also moved to Trash:
| Resource Type | What's Included When Deleted |
|---|---|
| Projects | Project + all models inside |
| Datasets | Dataset + all images and annotations |
| Models | Model weights + training history + exports |
The Trash tab includes a storage visualization (treemap) showing the relative size of trashed items, color-coded by type:
Recover a deleted item:
The item returns to its original location with all data intact.
If the original slug is already taken, the platform restores the item with a unique available slug so you can access it immediately.
| Resource | Restore Behavior |
|---|---|
| Project | Restores project and all contained models |
| Dataset | Restores dataset with all images and annotations |
| Model | Restores model to original project if the project is active |
!!! warning "Parent Project Required"
Restoring a model fails if its parent project is in Trash. You'll see the error: "Cannot restore model while its parent project is in trash. Restore the project first." Always restore the parent project before restoring individual models.
Items in Trash are automatically and permanently deleted after 30 days. A daily cleanup job removes expired items automatically.
Permanently delete all items immediately:
!!! warning "Irreversible Action"
Emptying Trash permanently deletes all items immediately. This action cannot be undone and all data will be lost, including attached deployments, export jobs, and stored files tied to the trashed resources.
To permanently delete one item without waiting:
For projects, permanent deletion also removes related deployments and export files that belong to the deleted workspace resources.
Items in Trash still count toward your storage quota:
| Scenario | Storage Impact |
|---|---|
| Delete item | Storage remains allocated |
| Restore item | No change (was still counting) |
| Permanent deletion | Storage freed |
| 30-day auto-deletion | Storage freed automatically |
!!! tip "Free Up Storage"
If you're running low on storage, empty Trash or permanently delete specific items to immediately reclaim space. Check your storage usage in [Settings](settings.md#storage-usage) and see [Billing](billing.md#plans) for plan storage limits.
Access trash programmatically via the REST API:
=== "List Trash"
```bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/trash
```
=== "Restore Item"
```bash
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id": "item_abc123", "type": "dataset"}' \
https://platform.ultralytics.com/api/trash
```
=== "Empty Trash"
!!! note "Browser session only"
`DELETE /api/trash/empty` requires an authenticated browser session and cannot be called with an API key. Use the **Empty Trash** button in [**Settings > Trash**](../account/settings.md#trash-tab) instead, or permanently delete individual items via `DELETE /api/trash` (API-key compatible).
No. After 30 days, items are permanently deleted and cannot be recovered. Make sure to restore important items before the expiration date shown in Trash.
Both the project and all models inside it move to Trash together. Restoring the project restores all its models. You can also restore individual models separately.
Yes, items in Trash continue to use storage quota. To free up space, permanently delete items or empty Trash.
No. If a project is permanently deleted, all models that were inside it are also permanently deleted. Always restore items before the 30-day window expires.
Each item in Trash shows a "Days Remaining" counter indicating how many days until automatic permanent deletion occurs.