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

# List deleted files

> Lists the files in the trash of your organization, newest deletion first, with who deleted each one and until when it can be restored. A deleted file stays restorable until the retention policy removes it for good (`purgeDeadline`). With an API key it lists every deleted file of the organization. With a personal access token it lists only the deleted files the user could see before they were deleted (the vaults of the user's teams, every vault for an owner or an administrator), and never a file of a RESTRICTED vault; what is left out never shortens a page or enters `metadata.totalCount`. Versions of a file are not listed: they come back with it. A personal access token needs the `rootkey.read` scope and an organization role that may read vaults; a listing is allowed in a read-only organization.



## OpenAPI

````yaml get /files/deleted
openapi: 3.0.3
info:
  title: ROOTKey Documentation
  description: >-
    Your API of choice for creating, managing, and validating information easily
    and securely!
  termsOfService: https://www.rootkey.ai/legal/privacy-policy
  contact:
    name: ROOTKey
    url: https://www.rootkey.ai/contact
    email: support@rootkey.ai
  version: 1.0.0
servers:
  - description: Production
    url: https://api.rootkey.ai/api-v1/
security:
  - x-api-key: []
  - personalAccessToken: []
tags:
  - name: api-v1-public
    description: Unauthenticated top-level /api-v1 endpoints (health, plans, annual report)
  - name: api-v1-files
    description: >-
      File anchoring, versioning, validation and compliance reporting
      (/api-v1/platform/files)
  - name: api-v1-records
    description: Structured-data record anchoring (/api-v1/platform/records)
  - name: api-v1-vaults
    description: >-
      Vault lifecycle: create / update / delete / restore
      (/api-v1/platform/vaults, /api-v1/vaults)
  - name: api-v1-recovery-points
    description: >-
      Backup archives created from vault contents
      (/api-v1/platform/recovery-point)
  - name: api-v1-organizations
    description: >-
      The identity of a personal access token and the organizations it can act
      in (/api-v1/me, /api-v1/organizations, /api-v1/organization)
  - name: api-v1-agents
    description: >-
      What an agent asks the person it acts for: access to RESTRICTED data for a
      short time (/api-v1/agent-step-ups)
paths:
  /files/deleted:
    get:
      tags:
        - api-v1-files
      summary: List deleted files
      description: >-
        Lists the files in the trash of your organization, newest deletion
        first, with who deleted each one and until when it can be restored. A
        deleted file stays restorable until the retention policy removes it for
        good (`purgeDeadline`). With an API key it lists every deleted file of
        the organization. With a personal access token it lists only the deleted
        files the user could see before they were deleted (the vaults of the
        user's teams, every vault for an owner or an administrator), and never a
        file of a RESTRICTED vault; what is left out never shortens a page or
        enters `metadata.totalCount`. Versions of a file are not listed: they
        come back with it. A personal access token needs the `rootkey.read`
        scope and an organization role that may read vaults; a listing is
        allowed in a read-only organization.
      parameters:
        - $ref: '#/components/parameters/OrganizationHeader'
        - $ref: '#/components/parameters/TestModeHeader'
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: >-
            The `pagination.nextCursor` of the previous page. With a personal
            access token it is opaque, and a cursor that is not valid gets
            `invalid_cursor`, never a restart from the first page.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
          description: >-
            With a personal access token, a whole number from 1 to 100; anything
            else gets `invalid_filters`.
        - name: order
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
          description: By deletion time.
        - name: name
          in: query
          required: false
          schema:
            type: string
          description: Only files whose name contains this text.
        - name: deletedFrom
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Only what was deleted at or after this time.
        - name: deletedTo
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: Only what was deleted at or before this time.
      responses:
        '200':
          description: A page of deleted files
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/DeletedFileListItem'
                  pagination:
                    $ref: '#/components/schemas/PaginationBlock'
                  metadata:
                    $ref: '#/components/schemas/PaginationMetadata'
        '400':
          description: >-
            An invalid filter, `limit` or `order` (`invalid_filters`), a cursor
            that is not valid (`invalid_cursor`), or, with a personal access
            token, a missing `X-RootKey-Organization` header
            (`organization_header_required`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainErrorResponse'
        '401':
          description: >-
            Unauthenticated. A missing, malformed, unknown, inactive, revoked or
            expired credential all get the same answer.
        '403':
          $ref: '#/components/responses/AgentAccessDenied'
        '429':
          description: >-
            Too many requests for the Restore Center. The `Retry-After` header
            says how many seconds to wait. See [Rate
            Limits](/pages/rate-limits).
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - x-api-key: []
        - personalAccessToken: []
components:
  parameters:
    OrganizationHeader:
      name: X-RootKey-Organization
      in: header
      required: false
      schema:
        type: string
      description: >-
        The organization a personal access token acts in: the `id` of one of the
        organizations that `GET /organizations` lists. Required with a personal
        access token on every endpoint that works inside an organization;
        without it the request gets `organization_header_required`. Ignored with
        an API key, which belongs to exactly one organization.
    TestModeHeader:
      name: x-test-mode
      in: header
      required: false
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
        default: 'false'
      description: >-
        Whether a personal access token works on live data (`false`, the
        default) or on test data (`true`). Only this header decides, never a
        query string or a body field. An API key is itself a test or a live key
        and works on that data.
  schemas:
    DeletedFileListItem:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        ownerAddress:
          type: string
          description: The vault the file belongs to.
        size:
          type: number
        status:
          type: string
          enum:
            - PENDING
            - FAILED
            - REGISTERED
        deletedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        member:
          type: object
          nullable: true
          properties:
            name:
              type: string
            imagePath:
              type: string
              nullable: true
          description: Who deleted it.
        purgeDeadline:
          type: string
          format: date-time
          description: When the retention policy removes it for good.
        redacted:
          type: boolean
    PaginationBlock:
      type: object
      properties:
        previousCursor:
          type: string
          nullable: true
        nextCursor:
          type: string
          nullable: true
    PaginationMetadata:
      type: object
      properties:
        fetchedCount:
          type: number
        totalCount:
          type: number
        serverTimestamp:
          type: string
          format: date-time
        parameters:
          type: object
          properties:
            limit:
              type: number
            cursor:
              type: string
              nullable: true
            order:
              type: string
              enum:
                - asc
                - desc
    DomainErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            requestId:
              type: string
            message:
              type: string
            errorCode:
              type: string
            docUrl:
              type: string
            timestamp:
              type: string
              format: date-time
  responses:
    AgentAccessDenied:
      description: >-
        Forbidden. With a personal access token or an app connected through the
        hosted connector, the organization, the user or the token does not allow
        the request, and the `errorCode` says which: `agent_org_not_allowed`,
        `agent_user_blocked`, `agent_two_factor_required`,
        `agent_access_disabled`, `agent_write_not_allowed`,
        `agent_personal_tokens_disabled`, `agent_client_not_allowed`,
        `insufficient_scope`, `insufficient_permission`,
        `agent_restricted_data_denied`, `agent_step_up_required` or
        `email_verification_required`. A user who is not a member of the
        organization, or a network an IP access rule blocks, gets
        `access_policy_denied`. Each code has an entry on the
        [Errors](/api-reference/errors) page.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DomainErrorResponse'
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DomainErrorResponse'
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
      description: >-
        ROOTKey API key. A test key works on your organization's test data and a
        live key on its live data; both are used with the same API.
    personalAccessToken:
      type: http
      scheme: bearer
      bearerFormat: rk_pat_...
      description: >-
        Personal access token of a ROOTKey user, sent as `Authorization: Bearer
        rk_pat_...`. A token acts as the user who created it, in the
        organization named by the `X-RootKey-Organization` header, and never
        with more access than that user has in the ROOTKey app: the
        organization's agent policy, the user's own role and teams, and the
        token's scopes (`rootkey.read`, `rootkey.write`, `rootkey.delete`) all
        apply. A missing, malformed, unknown, revoked or expired token gets the
        same `401`. Send either an `x-api-key` or a bearer token, never both: a
        request with both gets `conflicting_credentials`. See
        [Authentication](/api-reference/auth).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.