---
title: "Search Documents By Name"
method: POST
path: "/search/documents"
---

# Search Documents By Name

`POST /search/documents`

Search documents by filename using full-text search.

`request.filters` accepts the same operator set as `/retrieve/chunks`: `$eq`, `$ne`, `$gt`, `$gte`, `$lt`,
`$lte`, `$in`, `$nin`, `$exists`, `$type`, `$regex` (with optional `i` flag), `$contains`, and the logical
operators `$and`, `$or`, `$nor`, `$not`. Comparison clauses honor typed metadata (`number`, `decimal`,
`datetime`, `date`).

## Headers

- `authorization` string, nullable

## Request body

- SearchDocumentsRequest — Request model for searching documents by name
  - `query` string, required — Search query for document names/filenames
  - `limit` integer — Number of documents to return
  - `filters` object, nullable — Optional metadata filters for documents
  - `folder_name` union — Optional folder scope. Accepts a folder PATH (e.g., '/Company/Reports') or list of paths.
    - string
    - string[]
  - `folder_depth` integer, nullable — Folder scope depth: 0/None exact, -1 all descendants, n>0 include descendants up to n levels.
  - `end_user_id` string, nullable — Optional end-user scope for the search

## Response `200`

Successful Response

- Document[]
  - `external_id` string
  - `content_type` string, required
  - `filename` string, nullable
  - `metadata` object
  - `metadata_types` object
  - `storage_info` object
  - `system_metadata` object
  - `additional_metadata` object
  - `chunk_ids` string[]
  - `summary_storage_key` string, nullable
  - `summary_version` integer, nullable
  - `summary_bucket` string, nullable
  - `summary_updated_at` string, nullable
  - `folder_name` string, nullable
  - `end_user_id` string, nullable
  - `app_id` string, nullable
  - `folder_path` string, nullable
  - `folder_id` string, nullable

## Other responses

- `422` — Validation Error

## Changes

- **2026-01-22** `2d9291c3821d` — 2 info
  - `header` request parameter `authorization` list-of-types was widened by adding types `null`
  - for the `header` request parameter `authorization`, the type/format was generalized from `string`/`` to ``/``
- **2025-12-18** `4b79c3821a17` — 1 warning, 5 info
  - removed the optional property `items/storage_files` from the response with the `200` status
  - added the optional property `items/folder_id` to the response with the `200` status
  - added the optional property `items/summary_bucket` to the response with the `200` status
  - added the optional property `items/summary_storage_key` to the response with the `200` status
  - …2 more
- **2025-12-06** `e185c542e939` — 2 info
  - added the new optional request property `folder_depth`
  - added the optional property `items/folder_path` to the response with the `200` status
- **2025-11-13** `b9ae748cb938` — 1 info
  - added the optional property `items/metadata_types` to the response with the `200` status
- **2025-11-05** `9ade02dd7b1d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/morphik-org/apis/fastapi/changes/search/documents/post.md)

---

[API](https://skmtc.dev/morphik-org/apis/fastapi.md) · [All operations](https://skmtc.dev/morphik-org/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/morphik-org/fastapi/revisions/2d9291c3821d/schema)
