---
title: "Dokument zur Indexierung einreichen"
method: POST
path: "/api/documents"
tags: ["Documents"]
---

# Dokument zur Indexierung einreichen

`POST /api/documents`

## Request

- Base URL: `https://knowmind.de`
- URL: `https://knowmind.de/api/documents`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `authjs.session-token`

Übergibt ein Dokument an die Ingest-Pipeline. Volltext wird in Chunks zerlegt, e5-large-eingebettet, in pgvector + Neo4j abgelegt. Antwort enthält die DocumentId für Status-Polling.

## Request body

- DocumentIngest
  - `title` string, required
  - `content` string, required: Volltext (Markdown oder Plain)
  - `source` string, nullable: Quellen-URL oder Pfad; wird derzeit nicht gespeichert und entscheidet nicht, welches Dokument abgelöst wird
  - `sourcePath` string, nullable: Dateipfad aus dem Ordnerabgleich. Trägt ein Dokument ihn, entscheidet der Pfad: gleicher Titel mit anderem Pfad ist eine andere Datei, gleicher Pfad mit neuem Titel löst die alte Fassung ab; fehlt er bei einem der beiden, entscheidet der Titel.
  - `replace` boolean: true (Voreinstellung auf knowmind.de): das gültige Dokument mit demselben Titel im selben Wissensbereich ablösen; es bleibt über /api/memory/recall-temporal abrufbar, gelöscht wird nichts. false: ausdrücklich neu anlegen.
  - `metadata` object

## Response `202`

Akzeptiert, Indexierung läuft asynchron

- object
  - `documentId` string, uuid
  - `status` 'queued'

## Other responses

- `402`: Erinnerungs-Limit des Tarifs erreicht (plan_upgrade_required). Zählbasis: gespeicherte Dokumente/Erinnerungen des Arbeitsbereichs. Body enthält limit, used, requiredPlans und eine Klartext-message.

---

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