> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/get-started/ja/purattofmu/workspaces/trash.md).

# ゴミ箱

## 概要

削除されたプロジェクト、データセットのバージョン、トレーニング、ワークフローは、30日間ワークスペースのゴミ箱に移動され、その後で完全に削除されます。30日間の保持期間内であれば、いつでもゴミ箱からアイテムを復元できます。不要であることが確実なら、すぐに完全削除することもできます。

## Webアプリ

### ゴミ箱を開く

ワークスペースの設定へ移動し、サブナビゲーションから［ゴミ箱］を選択します。ページには、削除されたプロジェクト、バージョン、トレーニング、ワークフローが種類ごとに一覧表示され、各アイテムを削除したユーザー、削除日時、完全クリーンアップまで残り何日かも表示されます。

### アイテムを復元する

1行の［復元］をクリックするとそのアイテムを復元できます。チェックボックスで複数のアイテムを選択して［復元］をクリックすると、まとめて復元できます。［すべて復元］では、ワークスペースのゴミ箱にあるすべてのアイテムが復元されます。

復元されたアイテムは、削除された元の場所と同じ位置に、ワークスペース内へすぐに再表示されます。データセットのバージョンは、親プロジェクトがまだアクティブな場合にのみ復元できます。親プロジェクトもゴミ箱にある場合は、先にプロジェクトを復元してから、そのバージョンを復元してください。トレーニングにも同じことが当てはまります。先に親プロジェクトとバージョンを復元してください。

### アイテムを完全削除する

30日間の保持期間をスキップしてアイテムをすぐに削除するには、1行の［完全に削除］をクリックするか、複数のアイテムを選択して［完全に削除］をクリックします。［ゴミ箱を空にする］では、ワークスペースのゴミ箱にあるすべてのアイテムが一度に削除されます。完全削除は元に戻せません。

完全削除は、Webアプリのこのページからのみ利用できます。REST API、Python SDK、CLI では公開されていないため、誤ったスクリプトや自動化によってデータが回復不能な形で破壊されるのを防いでいます。

### 削除するとどうなるか

プロジェクト、バージョン、トレーニング、ワークフローが削除されると:

* アイテムはワークスペースおよびすべての API 一覧から非表示になります。
* そのアイテムに対する進行中のトレーニングジョブは自動的にキャンセルされ、削除しようとしているものにクレジットを使い続けることはありません。
* プロジェクトの場合、バージョンで学習されたモデルの提供が停止されます。
* トレーニングの場合、その実行で生成されたモデルも非表示になり、バージョンの `{project}/{version}` モデル ID は別のモデルに切り替わる場合があります。
* アイテムのストレージは、30日間の保持期間が終了するか、完全削除するまで、引き続きワークスペースのプランに計上されます。

プロジェクトの削除時に［Asset Library から画像も削除］にチェックを入れた場合、ゴミ箱の行にある琥珀色のインジケーターで、そのプロジェクトにのみ属する画像もプロジェクトの完全クリーンアップ時に削除されることが示されます。他のプロジェクトと共有されている画像は常に保持されます。

### ゴミ箱を使用できるユーザー

ゴミ箱とその操作へのアクセスは、ロールベースのアクセス制御で管理されます。既定の Owner ロールには、すべてのゴミ箱権限が付与されています。個別のゴミ箱権限（`view_trash`, `trash_dataset`, `restore_dataset`, `trash_version`, `restore_version`, `trash_training`, `restore_training`, `delete_training`, `trash_workflow`, `restore_workflow`) を、ワークスペースのロールベースアクセス制御設定からカスタムロールに割り当てることができます。

## HTTP API

ゴミ箱に移動されたプロジェクトとデータセットのバージョンは、30日間保持されたあと、完全にクリーンアップされます。REST API では、アイテムの削除、一覧表示、復元ができます。完全削除は Web UI のみです（下部の [完全削除](#permanent-deletion) の注記を参照）。

プロジェクトまたはバージョンの進行中のトレーニングジョブは、アイテムがゴミ箱に移動されると自動的にキャンセルされます。

### プロジェクトを削除する

{% tabs %}
{% tab title="REST API" %}
プロジェクトをゴミ箱に移動する:

```url
https://api.roboflow.com/:workspace/:project
```

```bash
curl "https://api.roboflow.com/my-workspace/my-detector?api_key=$ROBOFLOW_API_KEY" \\
  -X DELETE
```

レスポンス例:

```json
{
  "deleted": true,
  "type": "project",
  "workspace": "my-workspace",
  "project": "my-detector",
  "projectId": "d_abc123",
  "trash": true
}
```

呼び出し元の API キーには `project:update` スコープが必要です。
{% endtab %}
{% endtabs %}

### バージョンを削除する

{% tabs %}
{% tab title="REST API" %}
単一のデータセットバージョンをゴミ箱に移動する:

```url
https://api.roboflow.com/:workspace/:project/:version
```

```bash
curl "https://api.roboflow.com/my-workspace/my-detector/3?api_key=$ROBOFLOW_API_KEY" \\
  -X DELETE
```

レスポンス例:

```json
{
  "deleted": true,
  "type": "version",
  "workspace": "my-workspace",
  "project": "my-detector",
  "projectId": "d_abc123",
  "version": "3",
  "trash": true
}
```

呼び出し元の API キーには `version:update` スコープが必要です。
{% endtab %}
{% endtabs %}

### ワークフローを削除する

{% tabs %}
{% tab title="REST API" %}
ワークフローをゴミ箱に移動する:

```url
https://api.roboflow.com/:workspace/workflows/:workflowUrl
```

```bash
curl "https://api.roboflow.com/my-workspace/workflows/slow-webhooks?api_key=$ROBOFLOW_API_KEY" \\
  -X DELETE
```

レスポンス例:

```json
{
  "deleted": true,
  "type": "workflow",
  "workspace": "my-workspace",
  "workflow": "slow-webhooks",
  "workflowId": "wf_abc123",
  "trash": true
}
```

呼び出し元の API キーには `workflow:update` スコープが必要です。
{% endtab %}
{% endtabs %}

### ゴミ箱内のアイテムを一覧表示する

{% tabs %}
{% tab title="REST API" %}
ワークスペースのゴミ箱に現在あるすべてを一覧表示する:

```url
https://api.roboflow.com/:workspace/trash
```

```bash
curl "https://api.roboflow.com/my-workspace/trash?api_key=$ROBOFLOW_API_KEY"
```

レスポンス例:

```json
{
  "items": [
    {
      "type": "project",
      "id": "d_abc123",
      "name": "My Detector",
      "url": "my-detector",
      "deletedAt": "2026-04-20T17:05:33.000Z",
      "scheduledCleanupAt": "2026-05-20T17:05:33.000Z",
      "deletedBy": "uid-of-user",
      "deletedByName": "Alice"
    },
    {
      "type": "version",
      "id": "3",
      "name": "augmented-416",
      "parentId": "d_xyz789",
      "parentName": "My Other Project",
      "parentUrl": "my-other-project",
      "parentInTrash": false,
      "deletedAt": "2026-04-21T12:14:02.000Z",
      "scheduledCleanupAt": "2026-05-21T12:14:02.000Z"
    }
  ],
  "sections": {
    "projects": [ ... ],
    "versions": [ ... ],
    "workflows": [ ... ],
    "trainings": [ ... ]
  }
}
```

各アイテムには `scheduledCleanupAt` のタイムスタンプが含まれます。これは、そのアイテムが完全クリーンアップの対象となる時点です。プロジェクトにはさらに `cleanupDeleteImages` というブール値もあり、クリーンアップ実行時にそのプロジェクト固有の画像も削除されるかどうかを示します。

呼び出し元の API キーには `project:read` スコープが必要です。
{% endtab %}
{% endtabs %}

### アイテムを復元する

{% tabs %}
{% tab title="REST API" %}
ゴミ箱からプロジェクト、バージョン、トレーニング、ワークフローを復元する:

```url
https://api.roboflow.com/:workspace/trash/restore
```

```bash
curl "https://api.roboflow.com/my-workspace/trash/restore?api_key=$ROBOFLOW_API_KEY" \\
  -X POST \\
  -H "Content-Type: application/json" \
  -d '{"type": "project", "id": "d_abc123"}'
```

バージョンの場合は、親プロジェクト ID も含める必要があります:

```bash
curl "https://api.roboflow.com/my-workspace/trash/restore?api_key=$ROBOFLOW_API_KEY" \\
  -X POST \\
  -H "Content-Type: application/json" \
  -d '{"type": "version", "id": "3", "parentId": "d_abc123"}'
```

バージョンを復元するには、親プロジェクトがまだアクティブ（つまりゴミ箱に入っていない）である必要があります。親もゴミ箱にある場合は、先に復元してください。トレーニングを復元するには、そのプロジェクトとバージョンの両方がアクティブである必要があります。

`type` は次のいずれかでなければなりません `project`, `version`, `training`、または `workflow`。必要な API キーのスコープは **アイテムの種類ごと** です。キーが復元対象のアイテムに対する適切なスコープを持っていない場合、リクエストは 401 で失敗します:

| `type`     | 必要なスコープ           |
| ---------- | ----------------- |
| `project`  | `project:update`  |
| `version`  | `version:update`  |
| `training` | `version:update`  |
| `workflow` | `workflow:update` |

このエンドポイントはさらに `targetItem.owner === :workspace` も検証してから委譲するため、ワークスペース A で有効なキーでも、ワークスペース B にあるアイテムは復元できません。
{% endtab %}
{% endtabs %}

### 完全削除

完全削除は、REST API では意図的に利用できません。ゴミ箱を空にする操作と、ゴミ箱内の単一アイテムを即時削除する操作は、データを回復不能な形で破壊します。そのため、誤った curl や自動化によってそれらが実行されることを避けています。これらの操作は、Roboflow Webアプリのゴミ箱ビューからのみ利用できます。

ゴミ箱に残ったアイテムは、30日間の保持期間が過ぎると自動的にクリーンアップされます。

## Python SDK

Python SDK で削除されたプロジェクトとデータセットのバージョンは、ワークスペースの **ゴミ箱** へ移動され、30日間保持されたあと、完全にクリーンアップされます。保持期間内であれば、ワークスペースに戻して復元できます。

プロジェクトまたはバージョンに関連する進行中のトレーニングジョブは、ゴミ箱に移動されると自動的にキャンセルされるため、クレジットを使い続けることはありません。

### プロジェクトを削除する

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace().project("my-detector")

project.delete()
```

プロジェクトはワークスペースのプロジェクト一覧からすぐに非表示になり、設定 → ゴミ箱 の下のゴミ箱ビューに表示されます。

### プロジェクトを復元する

もしまだ `プロジェクト` オブジェクトへの参照があるなら、 `restore()` を呼び出してください:

```python
project.restore()
```

SDK は、スラッグを使ってワークスペースのゴミ箱内でプロジェクトを検索し、復元します。 `RuntimeError` は、プロジェクトが現在ゴミ箱にない場合に送出されます。

### バージョンを削除する

単一のデータセットバージョンをゴミ箱に移動します。そのバージョンで進行中のトレーニングはキャンセルされます。

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace().project("my-detector")
version = project.version(3)

version.delete()
```

### バージョンを復元する

```python
version.restore()
```

バージョンを復元するには、親プロジェクトがまだアクティブ（ゴミ箱に入っていない）である必要があります。必要に応じて先にプロジェクトを復元してください。

### ゴミ箱内のアイテムを一覧表示する

使用する `Workspace.trash()` で、ワークスペースのゴミ箱に現在何があるかを確認できます:

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
ws = rf.workspace()

trash = ws.trash()
for item in trash["items"]:
    print(item["type"], item["name"], "cleanup:", item["scheduledCleanupAt"])
```

`trash["sections"]` は同じアイテムを `プロジェクト`, `バージョン`、および `workflows` でまとめて表示します。

### ID で復元する

まだ `プロジェクト` または `バージョン` 参照ハンドルを持っていない場合（たとえば、前回のセッションで削除されたものを復元している場合）は、 `Workspace.restore_from_trash()` を `から返された id とともに使用します`:

```python
trash = ws.trash()
project_in_trash = trash["sections"]["projects"][0]

ws.restore_from_trash("project", project_in_trash["id"])
```

バージョンの場合は、親プロジェクト ID を渡してください:

```python
version_in_trash = trash["sections"]["versions"][0]
ws.restore_from_trash(
    "version",
    version_in_trash["id"],
    parent_id=version_in_trash["parentId"],
)
```

### ワークフロー

SDK は現在、 `Workflow` オブジェクトを公開していませんが、低レベルの `rfapi` ヘルパーを使ってワークフローをソフト削除し、 `Workspace.restore_from_trash("workflow", ...)`:

```python
from roboflow.adapters import rfapi

# ソフト削除 - ワークフローを30日間ゴミ箱に移動します。
rfapi.delete_workflow(api_key, ws.url, "slow-webhooks")

# 復元 - まずゴミ箱内でワークフローの id を検索します。
trash = ws.trash()
wf = next(w for w in trash["sections"]["workflows"] if w["url"] == "slow-webhooks")
ws.restore_from_trash("workflow", wf["id"])
```

### 完全削除

完全削除は SDK からは意図的に利用できません。ゴミ箱を空にする操作と、ゴミ箱内の単一アイテムを即時削除する操作は、データを回復不能な形で破壊します。そのため、誤ったスクリプトによって実行されることを避けています。これらの操作は、明示的な確認ダイアログを備えた Roboflow Webアプリのゴミ箱ビューからのみ利用できます。

ゴミ箱に残ったアイテムは、30日間の保持期間の後に自動的にクリーンアップされるため、手動で対処する必要はほとんどありません。

## CLI

プロジェクト、データセットのバージョン、ワークフローはすべてワークスペースの **ゴミ箱**に移動でき、そこで30日間保持されたあと、完全にクリーンアップされます。保持期間内であれば、ワークスペースに戻して復元できます。

プロジェクトまたはバージョンに関連する進行中のトレーニングジョブは、それがゴミ箱に移動されると自動的にキャンセルされるため、削除しようとしているアイテムにクレジットを使い続けることはありません。

### プロジェクトを削除する

プロジェクトをゴミ箱に移動する:

```bash
roboflow project delete <workspace>/<project>
```

例:

```bash
roboflow project delete my-workspace/my-detector
```

このコマンドは、プロジェクトを移動する前に確認を求めます。スクリプトから使う場合は `--yes` （または `-y`）を指定するとプロンプトを省略できます:

```bash
roboflow project delete my-workspace/my-detector --yes
```

### プロジェクトを復元する

```bash
roboflow project restore <workspace>/<project>
```

例:

```bash
roboflow project restore my-workspace/my-detector
```

CLI は、スラッグを使ってワークスペースのゴミ箱内でプロジェクトを検索し、復元します。プロジェクトが現在ゴミ箱にない場合、このコマンドはエラーで終了します。

### バージョンを削除する

単一のデータセットバージョンをゴミ箱に移動します。そのバージョンで進行中のトレーニングはキャンセルされます。

```bash
roboflow version delete <workspace>/<project>/<version>
```

例:

```bash
roboflow version delete my-workspace/my-detector/3
```

確認を省略するには `--yes` を指定します。

### バージョンを復元する

```bash
roboflow version restore <workspace>/<project>/<version>
```

例:

```bash
roboflow version restore my-workspace/my-detector/3
```

親プロジェクトはまだアクティブ（自身がゴミ箱に入っていない）である必要があります。必要なら先にプロジェクトを復元してください。

### ワークフローを削除する

ワークフローをゴミ箱に移動する:

```bash
roboflow workflow delete <workflow>
```

例:

```bash
roboflow workflow delete slow-webhooks
```

確認を省略するには `--yes` （または `-y`）を指定すると確認プロンプトを省略できます。ワークフローの URL スラッグまたは Firestore ID のどちらかを渡せます。

### ワークフローを復元する

```bash
roboflow workflow restore <workflow>
```

例:

```bash
roboflow workflow restore slow-webhooks
```

### ゴミ箱内のアイテムを一覧表示する

ワークスペースのゴミ箱に現在あるすべてを一覧表示する:

```bash
roboflow trash list
```

```
種類       ID               名前                              削除日       クリーンアップ日時    実行者
データセット    d_abc123         My Detector                       2026-04-20    2026-05-20    Alice
バージョン    3                My Detector - augmented-416 (v3)  2026-04-21    2026-05-21    Bob
ワークフロー   wf_def456        Preprocessing Pipeline            2026-04-19    2026-05-19    Alice
```

スクリプトで利用しやすい構造化出力の場合:

```bash
roboflow --json trash list
```

### 完全削除

完全削除は、CLI や SDK からは意図的に利用できません。ゴミ箱を空にする操作と、ゴミ箱内の単一アイテムを即時削除する操作は、データを回復不能な形で破壊します。そのため、誤ったスクリプトやタイプミスによってそれらが実行されることを避けています。これらの操作は、明示的な確認ダイアログを備えた Roboflow Webアプリのゴミ箱ビューからのみ利用できます。

ゴミ箱に残ったアイテムは、30日間の保持期間の後に自動的にクリーンアップされるため、手動で対処する必要はほとんどありません。
