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

# List Vaults in the 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`).

### Permissions

Requires `View workspace projects` permission.


## OpenAPI

````yaml /vault_api.json get /api/v1/vault/workspace/recycle_bin
openapi: 3.0.1
info:
  title: Vault - Upload Documents
  description: >-
    The Vault Upload Documents API enables users to programmatically upload and
    manage documents within Vault projects. This API allows organizations to
    maintain projects with their own internal files for their users to use
    within the Harvey app.
  version: 1.0.0
  contact:
    email: support@harvey.ai
servers:
  - url: https://api.harvey.ai
    description: Harvey API server
security: []
paths:
  /api/v1/vault/workspace/recycle_bin:
    get:
      tags:
        - Vault
      summary: List Vaults in the Recycle Bin
      description: >-
        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`).
      operationId: listWorkspaceRecycleBins
      parameters:
        - name: search_text
          in: query
          description: Case-insensitive substring filter on the vault name.
          schema:
            type: string
          example: acme
        - name: client_matter_id
          in: query
          description: >-
            Restrict results to vaults associated with this client matter (the
            client matter UUID, not the human-readable matter number).
          schema:
            type: string
            format: uuid
          example: 11111111-2222-3333-4444-555555555555
      responses:
        '200':
          description: Successfully retrieved recycle-bin entries for the workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/RecycleBinEntry'
                    description: Recycle-bin entries ordered by `deleted_at` descending
                  total:
                    type: integer
                    description: Number of entries returned
                    example: 1
                required:
                  - items
                  - total
              examples:
                listWorkspaceRecycleBins:
                  summary: Example response for listing recycle-bin entries
                  value:
                    items:
                      - id: 0197a1b2-3c4d-5e6f-7a8b-9c0d1e2f3a4b
                        resource_id: abcdef12-3456-7890-abcd-ef1234567890
                        resource_type: vault_project
                        recycle_bin_status: deleted
                        deleted_at: '2026-07-15T18:42:10.512000Z'
                        recycle_bin_purged_scheduled_at: '2026-08-14T18:42:10.512000Z'
                        delete_source: customer_delete
                        deleted_source_id: 12345678-1234-5678-1234-567812345678
                        deleted_by_user_email: user@example.com
                        vault_project:
                          id: abcdef12-3456-7890-abcd-ef1234567890
                          name: Acme Contract Repository
                          created_at: '2026-01-15T10:30:00.000000'
                          creator_email: user@example.com
                          files_count: 42
                          is_knowledge_base_project: false
                    total: 1
        '401':
          description: Unauthorized - Invalid or missing API token
        '403':
          description: Forbidden - User is not a workspace vault admin
        '404':
          description: Not found - The recycle bin feature is not enabled for the workspace
        '429':
          description: Rate limit exceeded
        '500':
          description: Internal server error
      security:
        - bearerAuth: []
components:
  schemas:
    RecycleBinEntry:
      type: object
      description: >-
        A single recycle-bin entry. Top-level fields describe the recycle-bin
        row (when, who, and how the vault was deleted); `vault_project` embeds
        the deleted vault using the same project shape returned by `GET
        /api/v1/vault/workspace/projects`.
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the recycle-bin entry
          example: 0197a1b2-3c4d-5e6f-7a8b-9c0d1e2f3a4b
        resource_id:
          type: string
          format: uuid
          description: The unique identifier of the deleted resource (the vault project)
          example: abcdef12-3456-7890-abcd-ef1234567890
        resource_type:
          type: string
          description: The type of the deleted resource (currently always `vault_project`)
          example: vault_project
        recycle_bin_status:
          type: string
          enum:
            - deleted
          description: >-
            Recycle-bin status (always `deleted` for entries returned by this
            endpoint)
          example: deleted
        deleted_at:
          type: string
          format: date-time
          description: Timestamp when the vault was moved into the recycle bin
          example: '2026-07-15T18:42:10.512000Z'
        recycle_bin_purged_scheduled_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            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.
          example: '2026-08-14T18:42:10.512000Z'
        delete_source:
          type: string
          enum:
            - customer_delete
            - admin_delete
            - retention_delete
            - system_delete
          description: How the delete was initiated
          example: customer_delete
        deleted_source_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            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.
          example: 12345678-1234-5678-1234-567812345678
        deleted_by_user_email:
          type: string
          nullable: true
          description: >-
            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.
          example: user@example.com
        vault_project:
          $ref: '#/components/schemas/Project'
      required:
        - id
        - resource_id
        - resource_type
        - recycle_bin_status
        - deleted_at
        - delete_source
        - vault_project
    Project:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique identifier of the project
          example: abcdef12-3456-7890-abcd-ef1234567890
        name:
          type: string
          description: The name of the project
          example: Sample Contract Repository
        client_matter_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            The associated client matter UUID (not the human-readable matter
            number)
          example: 11111111-2222-3333-4444-555555555555
        created_at:
          type: string
          format: date-time
          description: Timestamp when the project was created
          example: '2024-12-04T01:22:03.584677'
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the project metadata was last updated
          example: '2025-03-25T14:49:45.612193'
        project_updated_at:
          type: string
          format: date-time
          description: Timestamp when the project content was last updated
          example: '2025-02-14T19:29:50.549982'
        project_retained_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            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.
          example: '2026-02-14T19:29:50.549982'
        creator_email:
          type: string
          format: email
          description: Email of the user who created the project
          example: user@example.com
        is_knowledge_base_project:
          type: boolean
          description: Whether this project is designated as a knowledge base
          example: false
        files_count:
          type: integer
          description: Number of files in the project
          example: 4
        size_bytes:
          type: integer
          description: Total size of all files in bytes
          example: 5325148
        query_count:
          type: integer
          description: Number of queries made against this project
          example: 0
        sharing:
          type: object
          description: Sharing information for the project
          properties:
            user_count:
              type: integer
              description: Number of users the project is shared with
              example: 0
            user_shares:
              type: array
              items:
                $ref: '#/components/schemas/ShareDetails'
              description: List of user share details
            workspace_count:
              type: integer
              description: Number of workspaces the project is shared with
              example: 1
            workspace_shares:
              type: array
              items:
                $ref: '#/components/schemas/ShareDetails'
              description: List of workspace share details
    ShareDetails:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
          description: When the share was created
          example: '2024-01-16T13:45:00.000000'
        dest_user_email:
          type: string
          format: email
          description: Email of the destination user (for user shares)
          example: collaborator@example.com
        dest_user_id:
          type: string
          format: uuid
          description: ID of the destination user (for user shares)
          example: 11111111-2222-3333-4444-555566667777
        dest_workspace_id:
          type: integer
          description: Destination workspace ID
          example: 2
        permission_level:
          type: string
          enum:
            - VIEW
            - EDIT
            - ADMIN
          description: Permission level for the share
          example: VIEW
        src_user_id:
          type: string
          format: uuid
          description: Source user ID who created the share
          example: 12345678-1234-5678-1234-567812345678
        src_workspace_id:
          type: integer
          description: Source workspace ID
          example: 1
        vault_folder_id:
          type: string
          format: uuid
          description: The vault folder/project ID being shared
          example: 87654321-8765-4321-8765-432187654321
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````