---
title: "Batch Ingest Files"
method: POST
path: "/ingest/files"
tags: ["Ingestion"]
---

# Batch Ingest Files

`POST /ingest/files`

Batch ingest **multiple files** (async).

Each file is treated the same as :func:`ingest_file` but sharing the same
request avoids many round-trips. All heavy work is still delegated to the
background worker pool.

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- BatchIngestResponse — Response model for batch ingestion
  - `documents` Document[], required
    - `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
  - `errors` object[], required

## 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 `documents/items/storage_files` from the response with the `200` status
  - added the optional property `documents/items/folder_id` to the response with the `200` status
  - added the optional property `documents/items/summary_bucket` to the response with the `200` status
  - added the optional property `documents/items/summary_storage_key` to the response with the `200` status
  - …2 more
- **2025-12-06** `e185c542e939` — 1 info
  - added the optional property `documents/items/folder_path` to the response with the `200` status
- **2025-11-13** `b9ae748cb938` — 2 info
  - added the new optional request property `metadata_types`
  - added the optional property `documents/items/metadata_types` to the response with the `200` status
- **2025-11-05** `9ade02dd7b1d` — 1 warning
  - removed the request property `rules`

[Change history](https://skmtc.dev/morphik-org/apis/fastapi/changes/ingest/files/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)
