---
title: "Search Files"
method: POST
path: "/file-storage/files/search"
tags: ["Files"]
---

# Search Files

`POST /file-storage/files/search`

Search Files

## Query parameters

- `pass_through` PassThroughQuery
  - `example_downstream_property` string — All passthrough query parameters are passed along to the connector as is (?pass_through[search]=leads becomes ?search=leads)
- `fields` string, nullable
- `cursor` string, nullable
- `limit` integer
- `raw` boolean
- `filter` FilesFilter
  - `drive_id` string — ID of the drive to filter on
  - `folder_id` string — ID of the folder to filter on. The root folder has an alias "root"
  - `shared` boolean — Only return files and folders that are shared

## Headers

- `x-apideck-consumer-id` string, required
- `x-apideck-app-id` string, required
- `x-apideck-service-id` string

## Request body

- FilesSearch
  - `query` string, required — The query to search for. May match across multiple fields.
  - `drive_id` string — ID of the drive to filter on
  - `pass_through` object[] — The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
    - `service_id` string, required — Identifier for the service to which this pass_through should be applied.
    - `operation_id` string — Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request.
    - `extend_object` object — Simple object allowing any properties for direct extension.
    - `extend_paths` object[] — Array of objects for structured data modifications via paths.
      - `path` string, required — JSONPath string specifying where to apply the value.
      - `value` unknown, required

## Response `200`

Files

- GetFilesResponse
  - `status_code` integer, required — HTTP Response Status Code
  - `status` string, required — HTTP Response Status
  - `service` string, required — Apideck ID of service provider
  - `resource` string, required — Unified API resource name
  - `operation` string, required — Operation performed
  - `data` UnifiedFile[], required
    - `id` string, required — A unique identifier for an object.
    - `downstream_id` string, nullable — The third-party API ID of original entity
    - `name` string, nullable, required — The name of the file
    - `description` string, nullable — Optional description of the file
    - `type` 'file' | 'folder' | 'url', nullable, required — The type of resource. Could be file, folder or url
    - `path` string, nullable — The full path of the file or folder (includes the file name)
    - `mime_type` string, nullable — The MIME type of the file.
    - `downloadable` boolean — Whether the current user can download this file
    - `size` integer, nullable — The size of the file in bytes
    - `owner` Owner
      - `id` string — ID of the owner
      - `email` string, nullable — Email of the owner
      - `name` string, nullable — Name of the owner
    - `parent_folders` LinkedFolder[] — The parent folders of the file, starting from the root
      - `id` string, required — A unique identifier for an object.
      - `name` string, nullable — The name of the folder
    - `parent_folders_complete` boolean — Whether the list of parent folders is complete. Some connectors only return the direct parent of a file
    - `permissions` object — Permissions the current user has on this file.
      - `download` boolean — Whether the current user can download this file.
    - `exportable` boolean — Whether the current file is exportable to other file formats. This property is relevant for proprietary file formats such as Google Docs or Dropbox Paper.
    - `export_formats` string[], nullable — The available file formats when exporting this file.
    - `custom_mappings` CustomMappings, nullable — When custom mappings are configured on the resource, the result is included here.
    - `updated_by` string, nullable — The user who last updated the object.
    - `created_by` string, nullable — The user who created the object.
    - `updated_at` string, date-time, nullable — The date and time when the object was last updated.
    - `created_at` string, date-time, nullable — The date and time when the object was created.
  - `meta` Meta — Response metadata
    - `items_on_page` integer — Number of items returned in the data property of the response
    - `cursors` object — Cursors to navigate to previous or next pages through the API
      - `previous` string, nullable — Cursor to navigate to the previous page of results through the API
      - `current` string, nullable — Cursor to navigate to the current page of results through the API
      - `next` string, nullable — Cursor to navigate to the next page of results through the API
    - `total_count` integer — Number of records available in total for this resource
    - `warnings` object[], nullable — Non-fatal warnings emitted when optional workflow steps failed. Present only when at least one step degraded; the response status remains 200.
      - `type` string — Discriminator for the warning kind.
      - `status_code` integer, nullable — HTTP status code returned by the failed downstream request, when available.
      - `error` string, nullable — Short error description from the downstream provider, when available.
      - `operation` string, nullable — Identifier of the workflow step that failed.
      - `message` string, nullable — Detailed message from the downstream provider, when available.
  - `links` Links — Links to navigate to previous or next pages through the API
    - `previous` string, nullable — Link to navigate to the previous page through the API
    - `current` string — Link to navigate to the current page through the API
    - `next` string, nullable — Link to navigate to the previous page through the API
  - `_raw` Raw, nullable — Raw response from the integration when raw=true query param is provided

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `402` — Payment Required
- `404` — The specified resource was not found
- `422` — Unprocessable
- `default` — Unexpected error

## Changes

- **2026-06-19** `d1aaa4973aa3` — 1 info
  - added the optional property `meta/warnings` to the response with the `200` status
- **2026-06-15** `0971c0814f2d` — 1 info
  - added the optional property `meta/total_count` to the response with the `200` status
- **2026-03-30** `d37d0618a4b6` — 2 warning
  - removed the optional property `meta/total_count` from the response with the `200` status
  - removed the optional property `meta/warnings` from the response with the `200` status

[Change history](https://skmtc.dev/apideck-libraries/apis/file-storage-api/changes/file-storage/files/search/post.md)

---

[API](https://skmtc.dev/apideck-libraries/apis/file-storage-api.md) · [All operations](https://skmtc.dev/apideck-libraries/apis/file-storage-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/apideck-libraries/file-storage-api/revisions/2d44271f3bdd/schema)
