# Dokumente

Ein Dokument gehört zu genau einem Korpus und besteht wiederum aus mehreren Chunks . Grundbegriffe (Hierarchie, ignore/prefer) und die gemeinsame Pagination finden Sie im Datenimport-Überblick . Voraussetzungen für alle Anfragen (Basis-URL, Authorization- und kauz-chatbot-Header) finden Sie im Überblick .

# GET /partner/v1/documents

Listet die Dokumente eines Korpus auf, optional sortiert.

# Anfrage

Parameter Typ Pflicht Beschreibung
corpusId string ja ID des Korpus, dessen Dokumente aufgelistet werden sollen.
sortBy string nein createdAt, updatedAt, name oder numberOfWords. Standardwert createdAt.
sortOrder string nein asc oder desc. Standardwert asc.
limit number nein 1–200, Standardwert 50.
offset number nein ≥ 0, Standardwert 0.

# Antwort

Feld Typ Beschreibung
documents[] array Die Dokumente dieser Seite, siehe Felder unten.
total number Gesamtzahl der Treffer.
limit number Angewandtes limit.
offset number Angewandtes offset.

Felder je Dokument:

Feld Typ Beschreibung
id string Eindeutige ID des Dokuments.
name string Name des Dokuments.
description string Beschreibung.
ignore boolean Ob das Dokument von der Antwortgenerierung ausgeschlossen ist.
url string Quelle des Dokuments – rein informativ, wird von der API nicht abgerufen oder geprüft.
mimeType string MIME-Type des Dokuments – rein informativ.
fileSize number Dateigröße in Byte – rein informativ.
author string Urheber*in.
createdAt string Anlagezeitpunkt (ISO 8601).
updatedAt string Zeitpunkt der letzten Änderung (ISO 8601).

Zusätzlich enthält jedes Dokument aggregierte Zählwerte, jeweils als Gesamtzahl, bereits vektorisiert und aktiv (nicht ignoriert):

Kennzahl Gesamt Vektorisiert Aktiv
Chunks numberOfChunks numberOfVectorizedChunks numberOfActiveChunks
Wörter numberOfWords numberOfVectorizedWords numberOfActiveWords
Tokens numberOfTokens numberOfVectorizedTokens numberOfActiveTokens
curl --location "https://example.kauz.ai/partner/v1/documents?corpusId=b3e2c1de-5f0b-4c1e-9d33-1b8a1f0c4e77&limit=20" \
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." \
--header "kauz-chatbot: helpdesk"
{
  "documents": [
    {
      "id": "51a156da-9393-4a0a-af1e-e76d4d5dbfc7",
      "name": "Q3 Garantiebedingungen",
      "description": "",
      "ignore": false,
      "mimeType": "application/pdf",
      "fileSize": 204800,
      "numberOfChunks": 18,
      "numberOfVectorizedChunks": 18,
      "numberOfActiveChunks": 18,
      "createdAt": "2026-07-24T16:21:22.720Z",
      "updatedAt": "2026-07-24T16:21:22.720Z"
    }
  ],
  "total": 1,
  "limit": 20,
  "offset": 0
}

# POST /partner/v1/documents

Legt ein Dokument direkt an. Dabei wird nur die Metadatenzeile angelegt – es wird keine Datei heruntergeladen und kein Text extrahiert, das Dokument startet ohne Chunks. Um Dateien tatsächlich extrahieren zu lassen, verwenden Sie stattdessen URL-Datei-Import . Fügen Sie nachträglich Text über POST /chunks hinzu.

# Anfrage

Alle Felder außer corpusId sind optional.

Feld Typ Pflicht Beschreibung
corpusId string ja ID des übergeordneten Korpus.
name string nein Name des Dokuments.
description string nein Beschreibung.
author string nein Urheber*in.
precedingDocumentId string nein ID des Dokuments, hinter dem das neue Dokument einsortiert werden soll.
ignore boolean nein Standardwert false.
prefer boolean nein Standardwert false.
userGroup array<string> nein Nutzergruppen, denen das Dokument zugeordnet ist.
links array<string> nein Zusätzliche Verweise.
checksum string nein Prüfsumme der Quelldatei.
createdAt string nein ISO 8601. Standardwert ist der Anfragezeitpunkt.
updatedAt string nein ISO 8601. Standardwert ist der Anfragezeitpunkt.

Quellmetadaten – beschreiben, woher der Dokumentinhalt ursprünglich stammt. Rein informativ: Die API ruft nichts ab und prüft nichts davon.

Feld Typ Pflicht Beschreibung
url string nein Quell-URL des Dokuments.
mimeType string nein MIME-Type, z. B. application/pdf. Kein festes Enum – jeder gültige MIME-Type ist zulässig.
fileSize number nein Dateigröße in Byte.
fileCreationDate string nein Erstellungsdatum der Quelldatei (ISO 8601).
lastModified string nein Letzte Änderung der Quelldatei (ISO 8601).

# Antwort

Enthält die gesendeten Felder sowie id.

{
  "corpusId": "string",
  "name": "string",
  "description": "string",
  "author": "string",
  "url": "string",
  "mimeType": "string",
  "fileSize": 0,
  "ignore": false,
  "prefer": false
}
curl --location --request POST "https://example.kauz.ai/partner/v1/documents" \
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." \
--header "kauz-chatbot: helpdesk" \
--header "Content-Type: application/json" \
--data-raw "{
   \"corpusId\":\"b3e2c1de-5f0b-4c1e-9d33-1b8a1f0c4e77\",
   \"name\":\"Q3 Garantiebedingungen\"
}"

# GET `/partner/v1/documents/

Enthält zusätzlich zu den Listenfeldern:

Feld Typ Beschreibung
prefer boolean Ob Chunks dieses Dokuments bevorzugt herangezogen werden.
attachments[] array Anhänge des Dokuments, je name und url.
curl --location "https://example.kauz.ai/partner/v1/documents/51a156da-9393-4a0a-af1e-e76d4d5dbfc7" \
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." \
--header "kauz-chatbot: helpdesk"

# PATCH `/partner/v1/documents/

Aktualisiert einzelne Felder eines bestehenden Dokuments.

# Anfrage

Feld Typ Pflicht Beschreibung
name string nein Name des Dokuments.
prefer boolean nein Ob Chunks dieses Dokuments bevorzugt herangezogen werden.
ignore boolean nein Ob das Dokument von der Antwortgenerierung ausgeschlossen wird.
attachments array nein Anhänge, je name und url.

# Antwort

id, name, description, ignore, prefer, url, attachments.

curl --location --request PATCH "https://example.kauz.ai/partner/v1/documents/51a156da-9393-4a0a-af1e-e76d4d5dbfc7" \
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." \
--header "kauz-chatbot: helpdesk" \
--header "Content-Type: application/json" \
--data-raw "{
   \"prefer\": true,
   \"attachments\": [ { \"name\": \"Anhang A\", \"url\": \"https://example.com/anhang-a.pdf\" } ]
}"

# DELETE `/partner/v1/documents/

Löscht das Dokument mitsamt seiner Chunks unwiderruflich. Antwort: 200 ohne Inhalt.

curl --location --request DELETE "https://example.kauz.ai/partner/v1/documents/51a156da-9393-4a0a-af1e-e76d4d5dbfc7" \
--header "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..." \
--header "kauz-chatbot: helpdesk"