---
title: "Get trashed file"
method: GET
path: "/files/{file_id}/trash"
tags: ["Trashed files"]
---

# Get trashed file

`GET /files/{file_id}/trash`

Retrieves a file that has been moved to the trash.

Please note that only if the file itself has been moved to the
trash can it be retrieved with this API call. If instead one of
its parent folders was moved to the trash, only that folder
can be inspected using the
[`GET /folders/:id/trash`](https://developer.box.com/reference/get-folders-id-trash) API.

To list all items that have been moved to the trash, please
use the [`GET /folders/trash/items`](https://developer.box.com/reference/get-folders-trash-items/)
API.

## Path parameters

- `file_id` string, required

## Query parameters

- `fields` string[]

## Response `200`

Returns the file that was trashed,
including information about when the it
was moved to the trash.

- TrashFile — Represents a trashed file.
  - `id` string, required — The unique identifier that represent a file. The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/files/123` the `file_id` is `123`.
  - `etag` string, nullable — The HTTP `etag` of this file. This can be used within some API endpoints in the `If-Match` and `If-None-Match` headers to only perform changes on the file if (no) changes have happened.
  - `type` 'file', required — The value will always be `file`.
  - `sequence_id` string, required — A numeric identifier that represents the most recent user event that has been applied to this item. This can be used in combination with the `GET /events`-endpoint to filter out user events that would have occurred before this identifier was read. An example would be where a Box Drive-like application would fetch an item via the API, and then listen to incoming user events for changes to the item. The application would ignore any user events where the `sequence_id` in the event is smaller than or equal to the `sequence_id` in the originally fetched resource.
  - `name` string — The name of the file.
  - `sha1` string, digest, required — The SHA1 hash of the file. This can be used to compare the contents of a file on Box with a local file.
  - `file_version` object — The information about the current version of the file.
    - `id` string, required — The unique identifier that represent a file version.
    - `type` 'file_version', required — The value will always be `file_version`.
    - `sha1` string — The SHA1 hash of this version of the file.
  - `description` string, required — The optional description of this file.
  - `size` integer, required — The file size in bytes. Be careful parsing this integer as it can get very large and cause an integer overflow.
  - `path_collection` object, required — The tree of folders that this file is contained in, starting at the root.
    - `total_count` integer, required — The number of folders in this list.
    - `entries` object[], required — Array of folders for this item's path collection.
      - `type` 'folder' — The value will always be `folder`.
      - `id` string — The unique identifier that represent a folder.
      - `sequence_id` string, nullable — This field is null for the Trash folder.
      - `etag` string, nullable — This field is null for the Trash folder.
      - `name` string — The name of the Trash folder.
  - `created_at` string, date-time, required — The date and time when the file was created on Box.
  - `modified_at` string, date-time, required — The date and time when the file was last updated on Box.
  - `trashed_at` string, date-time, nullable — The time at which this file was put in the trash.
  - `purged_at` string, date-time, nullable — The time at which this file is expected to be purged from the trash.
  - `content_created_at` string, date-time, nullable — The date and time at which this file was originally created, which might be before it was uploaded to Box.
  - `content_modified_at` string, date-time, nullable — The date and time at which this file was last updated, which might be before it was uploaded to Box.
  - `created_by` object — The user who created this file.
    - `id` string, required — The unique identifier for this user.
    - `type` 'user', required — The value will always be `user`.
    - `name` string — The display name of this user.
    - `login` string, email — The primary email address of this user.
  - `modified_by` object, required — The user who last modified this file.
    - `id` string, required — The unique identifier for this user.
    - `type` 'user', required — The value will always be `user`.
    - `name` string — The display name of this user.
    - `login` string, email — The primary email address of this user.
  - `owned_by` object, required — The user who owns this file.
    - `id` string, required — The unique identifier for this user.
    - `type` 'user', required — The value will always be `user`.
    - `name` string — The display name of this user.
    - `login` string, email — The primary email address of this user.
  - `shared_link` string, nullable — The shared link for this file. This will be `null` if a file has been trashed, since the link will no longer be active.
  - `parent` object, nullable — The folder that this file is located within.
    - `id` string, required — The unique identifier that represent a folder. The ID for any folder can be determined by visiting a folder in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/folders/123` the `folder_id` is `123`.
    - `etag` string, nullable — The HTTP `etag` of this folder. This can be used within some API endpoints in the `If-Match` and `If-None-Match` headers to only perform changes on the folder if (no) changes have happened.
    - `type` 'folder', required — The value will always be `folder`.
    - `sequence_id` string — A numeric identifier that represents the most recent user event that has been applied to this item. This can be used in combination with the `GET /events`-endpoint to filter out user events that would have occurred before this identifier was read. An example would be where a Box Drive-like application would fetch an item via the API, and then listen to incoming user events for changes to the item. The application would ignore any user events where the `sequence_id` in the event is smaller than or equal to the `sequence_id` in the originally fetched resource.
    - `name` string — The name of the folder.
  - `item_status` 'active' | 'trashed' | 'deleted', required — Defines if this item has been deleted or not. * `active` when the item has is not in the trash * `trashed` when the item has been moved to the trash but not deleted * `deleted` when the item has been permanently deleted.

## Other responses

- `404` — Returns an error if the file can not be found directly in the trash. Please note that a `HTTP 404` is also returned if any of the file's parent folders have been moved to the trash. In that case, only that parent folder can be inspected using the [`GET /folders/:id/trash`](https://developer.box.com/reference/get-folders-id-trash) API.
- `default` — An unexpected client error.

---

[API](https://skmtc.net/box/apis/platform-api.md) · [All operations](https://skmtc.net/box/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/box/platform-api/revisions/ba8f087e1a4d/schema)
