---
title: "List Vaults in the Recycle Bin"
method: GET
path: "/api/v1/vault/workspace/recycle_bin"
tags: ["Vault"]
---

# List Vaults in the Recycle Bin

`GET /api/v1/vault/workspace/recycle_bin`

Lists every vault currently in the recycle bin for the current workspace. When a Vault project is deleted it is not purged immediately — it first moves to a workspace recycle bin, where it can be reviewed before being permanently deleted. Entries are ordered by `deleted_at` descending. This endpoint is restricted to workspace vault admins (the same permission as `GET /api/v1/vault/workspace/projects`).

## Query parameters

- `search_text` string
- `client_matter_id` string, uuid

## Response `200`

Successfully retrieved recycle-bin entries for the workspace

- object
  - `items` RecycleBinEntry[], required — Recycle-bin entries ordered by `deleted_at` descending
    - `id` string, uuid, required — The unique identifier of the recycle-bin entry
    - `resource_id` string, uuid, required — The unique identifier of the deleted resource (the vault project)
    - `resource_type` string, required — The type of the deleted resource (currently always `vault_project`)
    - `recycle_bin_status` 'deleted', required — Recycle-bin status (always `deleted` for entries returned by this endpoint)
    - `deleted_at` string, date-time, required — Timestamp when the vault was moved into the recycle bin
    - `recycle_bin_purged_scheduled_at` string, date-time, nullable — Timestamp when the vault is scheduled to be permanently purged from the recycle bin. Null when no purge is scheduled. Permanent deletion is not instantaneous at this timestamp: the purge is carried out by a periodic background sweep, so a vault can take up to 30 minutes after this timestamp passes to be fully purged.
    - `delete_source` 'customer_delete' | 'admin_delete' | 'retention_delete' | 'system_delete', required — How the delete was initiated
    - `deleted_source_id` string, uuid, nullable — The identifier of the actor that initiated the delete, interpreted in the context of `delete_source`: a user ID for customer/admin deletes, a retention-policy ID for retention deletes. Null when the source did not record an actor.
    - `deleted_by_user_email` string, nullable — Email of the user who deleted the vault, populated when `delete_source` is `customer_delete` or `admin_delete`. Null for retention/system deletes or when the actor is unknown.
    - `vault_project` Project, required
      - `id` string, uuid — The unique identifier of the project
      - `name` string — The name of the project
      - `client_matter_id` string, uuid, nullable — The associated client matter UUID (not the human-readable matter number)
      - `created_at` string, date-time — Timestamp when the project was created
      - `updated_at` string, date-time — Timestamp when the project metadata was last updated
      - `project_updated_at` string, date-time — Timestamp when the project content was last updated
      - `project_retained_at` string, date-time, nullable — Timestamp when the vault project is retained. This date can be in the future. This field is only present in the response when it is non-null; it is omitted when the project has no retention timestamp set.
      - `creator_email` string, email — Email of the user who created the project
      - `is_knowledge_base_project` boolean — Whether this project is designated as a knowledge base
      - `files_count` integer — Number of files in the project
      - `size_bytes` integer — Total size of all files in bytes
      - `query_count` integer — Number of queries made against this project
      - `sharing` object — Sharing information for the project
        - `user_count` integer — Number of users the project is shared with
        - `user_shares` ShareDetails[] — List of user share details
          - `created_at` string, date-time — When the share was created
          - `dest_user_email` string, email — Email of the destination user (for user shares)
          - `dest_user_id` string, uuid — ID of the destination user (for user shares)
          - `dest_workspace_id` integer — Destination workspace ID
          - `permission_level` 'VIEW' | 'EDIT' | 'ADMIN' — Permission level for the share
          - `src_user_id` string, uuid — Source user ID who created the share
          - `src_workspace_id` integer — Source workspace ID
          - `vault_folder_id` string, uuid — The vault folder/project ID being shared
        - `workspace_count` integer — Number of workspaces the project is shared with
        - `workspace_shares` ShareDetails[] — List of workspace share details
          - `created_at` string, date-time — When the share was created
          - `dest_user_email` string, email — Email of the destination user (for user shares)
          - `dest_user_id` string, uuid — ID of the destination user (for user shares)
          - `dest_workspace_id` integer — Destination workspace ID
          - `permission_level` 'VIEW' | 'EDIT' | 'ADMIN' — Permission level for the share
          - `src_user_id` string, uuid — Source user ID who created the share
          - `src_workspace_id` integer — Source workspace ID
          - `vault_folder_id` string, uuid — The vault folder/project ID being shared
  - `total` integer, required — Number of entries returned

## Other responses

- `401` — Unauthorized - Invalid or missing API token
- `403` — Forbidden - User is not a workspace vault admin
- `404` — Not found - The recycle bin feature is not enabled for the workspace
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.dev/harvey/apis/harvey-client-matter-api.md) · [All operations](https://skmtc.dev/harvey/apis/harvey-client-matter-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/harvey/harvey-client-matter-api/revisions/4a9e0925d49e/schema)
