> 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 アプリ

### ゴミ箱を開く

ワークスペースの Settings に移動し、サブナビゲーションから Trash を選択します。このページには削除されたすべてのプロジェクト、バージョン、学習、ワークフローが種類ごとにまとめて表示され、各アイテムを削除したユーザー、削除日時、完全クリーンアップまでの残り日数も確認できます。

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

1 行だけなら Restore をクリックしてそのアイテムを復元できます。チェックボックスで複数を選択して Restore をクリックすれば、まとめて復元できます。Restore All をクリックすると、ワークスペースの Trash にあるすべてのアイテムが復元されます。

復元されたアイテムは、削除された元の場所にすぐにワークスペース内へ再表示されます。データセットのバージョンは、親プロジェクトがまだ有効な場合にのみ復元できます。親プロジェクトも Trash にある場合は、先にプロジェクトを復元してから、そのバージョンを復元してください。学習についても同様で、先に親プロジェクトとバージョンを復元してください。

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

30日間の保持期間を待たずにアイテムをすぐ削除するには、1行だけなら Delete Permanently をクリックするか、複数を選択して Delete Permanently をクリックします。Empty Trash を使うと、ワークスペースの Trash にあるすべてのアイテムが一度に削除されます。完全削除は元に戻せません。

完全削除は、Web アプリのこのページからのみ利用できます。REST API、Python SDK、CLI には公開されていないため、誤ったスクリプトや自動処理でデータが取り返しのつかない形で破壊されることはありません。

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

プロジェクト、バージョン、学習、またはワークフローを削除すると:

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

プロジェクトの削除時に「Also delete images from Asset Library」にチェックを入れていた場合、Trash の行に表示される琥珀色のインジケーターは、そのプロジェクト専用の画像も、プロジェクトの完全クリーンアップ時に削除されることを示します。他のプロジェクトと共有されている画像は常に保持されます。

### Trash を使用できるユーザー

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

## HTTP API

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

プロジェクトまたはバージョンの実行中の学習ジョブは、アイテムが Trash に移動されると自動的にキャンセルされます。

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

{% tabs %}
{% tab title="REST API" %}
プロジェクトを Trash に移動:

```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" %}
単一のデータセットバージョンを Trash に移動:

```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" %}
ワークフローを Trash に移動:

```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 %}

### Trash 内のアイテムを一覧表示する

{% tabs %}
{% tab title="REST API" %}
現在ワークスペースの Trash にあるすべての項目を一覧表示します:

```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` という boolean もあり、クリーンアップ実行時にそのプロジェクト専用の画像も一緒に削除するかどうかを示します。

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

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

{% tabs %}
{% tab title="REST API" %}
Trash からプロジェクト、バージョン、学習、またはワークフローを復元:

```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"}'
```

バージョンを復元するには、親プロジェクトがまだ有効（それ自体が Trash にない）である必要があります。親も Trash にある場合は、先に復元してください。学習を復元するには、そのプロジェクトとバージョンの両方が有効である必要があります。

`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 では利用できません。Trash を空にする操作や、単一の Trash アイテムを即時削除する操作はデータを取り返しのつかない形で破壊するため、誤った curl や自動処理で実行されないようにしています。これらの操作は Roboflow Web アプリの Trash 画面からのみ利用できます。

Trash に残っているアイテムは、30日間の保持期間後に自動的にクリーンアップされます。

## Python SDK

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

プロジェクトまたはバージョンの実行中の学習ジョブは、Trash に移動されると自動的にキャンセルされるため、クレジットを使い続けることはありません。

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

```python
import roboflow

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

project.delete()
```

プロジェクトはすぐにワークスペースのプロジェクト一覧から非表示になり、Settings → Trash の Trash 画面に表示されます。

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

まだ `Project` オブジェクトへの参照がある場合は、 `restore()` を呼び出してください:

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

SDK は slug に基づいてワークスペースの Trash からプロジェクトを検索し、復元します。 `RuntimeError` は、プロジェクトが現在 Trash にない場合に発生します。

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

単一のデータセットバージョンを Trash に移動します。そのバージョンで実行中の学習はキャンセルされます。

```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()
```

バージョンを復元するには、親プロジェクトがまだ有効（それ自体が Trash にない）である必要があります。必要であれば、先にプロジェクトを復元してください。

### Trash 内のアイテムを一覧表示する

Workspace.trash() `を使うと、` 現在ワークスペースの 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"]` は、見やすいように同じアイテムを `プロジェクト`, `バージョン`、および `ワークフロー` ごとにまとめています。

### ID で復元する

まだ `Project` または `Version` のハンドルがない場合（たとえば、前回のセッションで削除されたものを復元する場合）は、 `Workspace.restore_from_trash()` を、 `trash()`:

```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日間 Trash に移動します。
rfapi.delete_workflow(api_key, ws.url, "slow-webhooks")

# 復元 - まず Trash でワークフローの 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 では利用できません。Trash を空にする操作や、単一の Trash アイテムを即時削除する操作はデータを取り返しのつかない形で破壊するため、誤ったスクリプトで実行されないようにしています。これらの操作は、明示的な確認ダイアログを備えた Roboflow Web アプリの Trash 画面からのみ利用できます。

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

## CLI

プロジェクト、データセットのバージョン、ワークフローはいずれもワークスペースの **Trash**に移動でき、完全にクリーンアップされる前に30日間保持されます。保持期間内であれば、ワークスペースに復元できます。

プロジェクトまたはバージョンに関連付けられた実行中の学習ジョブは、Trash に移動されると自動的にキャンセルされるため、削除中のアイテムにクレジットを使い続けることはありません。

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

プロジェクトを Trash に移動:

```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 は slug に基づいてワークスペースの Trash からプロジェクトを検索し、復元します。プロジェクトが現在 Trash にない場合、コマンドはエラーで終了します。

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

単一のデータセットバージョンを Trash に移動します。そのバージョンで実行中の学習はキャンセルされます。

```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
```

親プロジェクトがまだ有効（それ自体が Trash にない）である必要があります。必要に応じて、先にプロジェクトを復元してください。

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

ワークフローを Trash に移動:

```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
```

### Trash 内のアイテムを一覧表示する

現在ワークスペースの Trash にあるすべての項目を一覧表示します:

```bash
roboflow trash list
```

```
種類      ID               名前                              削除日時       クリーンアップ日時  削除者
dataset    d_abc123         マイ ディテクター                  2026-04-20    2026-05-20    Alice
version    3                マイ ディテクター - augmented-416 (v3)  2026-04-21    2026-05-21    Bob
workflow   wf_def456        前処理パイプライン                2026-04-19    2026-05-19    Alice
```

スクリプトに適した構造化出力が必要な場合:

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

### 完全削除

完全削除は意図的に CLI や SDK では利用できません。Trash を空にする操作や、単一の Trash アイテムを即時削除する操作はデータを取り返しのつかない形で破壊するため、誤ったスクリプトや টাইपोで実行されないようにしています。これらの操作は、明示的な確認ダイアログを備えた Roboflow Web アプリの Trash 画面からのみ利用できます。

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

## MCP サーバー

AI エージェントを [MCP サーバー](/get-started/ja/jento/mcp-server.md) に接続すると、これらのツールで削除したものを復元できます:

<table data-search="false"><thead><tr><th width="290">ツール</th><th>説明</th></tr></thead><tbody><tr><td><code>trash_list</code></td><td>現在ワークスペースの Trash にあるソフト削除済みアイテムを一覧表示します。</td></tr><tr><td><code>trash_restore_project</code></td><td>削除したプロジェクトを復元します。</td></tr><tr><td><code>trash_restore_version</code></td><td>削除したデータセットのバージョンを復元します。</td></tr><tr><td><code>trash_restore_workflow</code></td><td>削除したワークフローを復元します。</td></tr><tr><td><code>trash_restore_training</code></td><td>削除した学習実行を復元します。</td></tr></tbody></table>
