---
title: "Batch ingest multiple documents"
method: POST
path: "/v1/tables/{table_name}/ingest/batch"
tags: ["ingestion"]
---

# Batch ingest multiple documents

`POST /v1/tables/{table_name}/ingest/batch`

Enqueue multiple text documents for background ingestion in a single request. Each item is processed as an individual document.

Returns a `job_id`. Poll `GET /v1/jobs/{job_id}` for status.

## Path parameters

- `table_name` string, required

## Request body

- BatchIngestBody
  - `items` BatchIngestItem[], required — Documents to ingest
    - `title` string, required — Document title
    - `content` string, required — Document content (plain text or Markdown)
    - `generate_summaries` boolean — Whether to generate LLM summaries (default: true)
    - `tags` string[] — Document tags for filtering
    - `metadata` object — Custom metadata

## Response `202`

Ingestion job queued

- JobStatusResponse
  - `job_id` string — Unique job ID
  - `status` 'queued' | 'processing' | 'completed' | 'failed' — Current job status
  - `progress` string — Progress message (only present when status is 'processing')
  - `result` IngestResponse
    - `document_id` string — Unique document ID
    - `title` string — Document title
    - `total_nodes` integer — Total number of nodes in the tree
    - `max_depth` integer — Maximum depth of the tree
    - `stats` IngestStats
      - `chars_extracted` integer — Characters extracted from source
      - `chunks_created` integer — Text chunks created
      - `nodes_created` integer — Tree nodes created
      - `summaries_generated` integer — Summaries generated by LLM
      - `total_time_ms` integer — Total processing time in milliseconds
  - `error` string — Error message (only present when status is 'failed')
  - `created_at` string, date-time — Job creation timestamp
  - `updated_at` string, date-time — Last status update timestamp

## Other responses

- `404` — Table not found
- `422` — Validation failed

## Changes

- **2026-03-01** `4b0e0e7f2935` — 1 info
  - endpoint added
- **2026-01-30** `9404aa4fdc22` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/brainfish-ai/apis/reasondb-api/changes/v1/tables/:table_name/ingest/batch/post.md)

---

[API](https://skmtc.dev/brainfish-ai/apis/reasondb-api.md) · [All operations](https://skmtc.dev/brainfish-ai/apis/reasondb-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brainfish-ai/apis/reasondb-api/revisions/f8665c1a5239?raw)
