Ein Upload über
POST /v1/data/upload befüllt beide Layer gleichzeitig: Die Rohdatei wird gespeichert und ein durchsuchbares Document angelegt. Sie müssen nicht separat hochladen.https://v3-api.localmind.dev/v1 — ersetzen Sie ihn durch den Host Ihrer Instanz (https://<ihre-instanz>-api.localmind.ai/v1). Jeder Request trägt den Header Authorization: Bearer sk-…. Die geltenden Konventionen zu Base-URL, Paginierung und Statuscodes beschreibt Konventionen und Fehler.
Documents verwalten
Die folgenden Endpunkte decken den Lebenszyklus eines Dokuments in der Knowledge-Base ab — vom Upload über die Inspektion bis zum Neuverarbeiten.| Methode & Pfad | Zweck |
|---|---|
POST /v1/data/upload | Datei (multipart) hochladen → 201 + processing_state; triggert die Pipeline automatisch. |
GET /v1/data/{document_id} | Metadaten und processing_state lesen. Unbekannte ID → 404. |
PATCH /v1/data/{document_id} | Metadaten schreiben (doc_metadata) — kein Reprocess. |
DELETE /v1/data/{document_id} | 204 — entfernt den Knowledge-Base-Record samt Chunks; das Dokument verschwindet binnen Sekunden aus der Suche. |
GET /v1/data/{document_id}/text | Extrahierte Content-Units (markdown-aware) abrufen. |
GET /v1/data/{document_id}/chunks | Chunks samt Embedding-Metadaten abrufen. |
GET /v1/data/{document_id}/versions | Reprocess-Historie eines Dokuments. |
POST /v1/data/{document_id}/reprocess | 202 + pipeline_run_id; verarbeitet die bestehende Originaldatei neu. |
POST /v1/data/batch-reprocess | Mehrere Dokumente in einem Aufruf neu verarbeiten. |
Dokument hochladen
Senden Sie die Datei und die Ziel-space_id als multipart/form-data. Die Pipeline (parse → chunk → embed) startet automatisch im Hintergrund.
Die hochzuladende Datei. Maximale Größe: 50 MB pro Datei (größere Dateien →
400).UUID des Ziel-Space. Sie benötigen Schreibrechte in diesem Space — andernfalls antwortet die API mit
403. Fehlt das Feld, ist die Antwort 422.processing_state-Flags auf false — die Pipeline läuft noch. Wie Sie auf den Abschluss warten, zeigt der nächste Abschnitt.
Auf den Pipeline-Abschluss warten
Der Upload ist asynchron. Fragen SieGET /v1/data/{document_id} ab, bis die Verarbeitung abgeschlossen ist. Maßgeblich ist das Feld processing_state:
Status der Verarbeitungs-Pipeline.
Dokumente neu verarbeiten
Wenn sich die Parser- oder Chunker-Konfiguration geändert hat, verarbeiten Sie ein bestehendes Dokument neu. Die Originaldatei bleibt dabei erhalten.POST /v1/data/{document_id}/reprocess antwortet mit 202 und einer pipeline_run_id, über die Sie den neuen Lauf verfolgen können. Für mehrere Dokumente nutzen Sie POST /v1/data/batch-reprocess mit einem Objekt, das die IDs unter dem Schlüssel document_ids enthält:
Semantische Suche
POST /v1/data/hybrid-search durchsucht die Documents eines Space mit Hybrid Search — einer Kombination aus dichter Vektor-Suche und sparsamer BM25-Keyword-Suche. Das Ergebnis ist eine nach score sortierte Liste relevanter Chunks mit Quellenangabe. Dieselbe Suche nutzen Agenten intern für RAG-Retrieval.
Die Suchanfrage in natürlicher Sprache.
UUID des zu durchsuchenden Space. Die Suche ist space-scoped.
Optionale Liste von Document-UUIDs, auf die der Suchraum eingegrenzt wird.
results mit den Treffern:
Nach
score absteigend sortierte Treffer.Ein in
document_ids oder über Folder-Pfade gesetzter Filter wird mit der für Ihren Key erreichbaren Menge geschnitten, nie erweitert. Ein Filter auf ein Dokument außerhalb Ihres Zugriffs liefert keine Treffer statt eines Fehlers — siehe Authentifizierung und Rollen.End-to-End: eigenes Dokument hochladen und abfragen
Das folgende Beispiel ist real durchgespielt (RC1 1.0.0, role-aware QA). Es zeigt den vollständigen RAG-Ablauf: vom Auffinden des eigenen Private Space über den Upload bis zur semantischen Suche.Private Space finden
Jeder Nutzer ist Owner seines Private Space und darf dort per Key hochladen. Listen Sie Ihre Spaces auf und wählen Sie den Eintrag mit
"is_private": true.Antwort (gekürzt)
Sie haben die
id des Private Space — das ist Ihr {space_id} für die nächsten Schritte.Dokument hochladen
Laden Sie die Datei per multipart hoch. Die Antwort ist Notieren Sie die
201; die Pipeline läuft asynchron an.id aus der Antwort — das ist Ihr {document_id}. Alle processing_state-Flags stehen zunächst auf false.Auf den Abschluss pollen
Fragen Sie das Dokument ab, bis
pipeline_status den Wert "completed" hat.processing_state.parsed, chunked und embedded sind alle true, pipeline_status ist "completed" — das Dokument ist durchsuchbar.Als Alternative zum direkten
hybrid-search-Aufruf können Sie einen Agent mit Daten-Tool ansprechen — dann genügt POST /v1/chat/completions, und der Agent zieht die Belege selbst aus seinem Space. Der direkte hybrid-search-Aufruf oben ist der explizit verifizierte Weg.IDs finden (Discovery)
Integrationen finden alle IDs über Such-Endpunkte — es gibt keine UI für den API-Zugriff. Alle drei Endpunkte sind paginiert und auto-narrowing: Sie liefern nur, was Ihr Key erreicht.| Methode & Pfad | Zweck |
|---|---|
POST /v1/spaces/search | Spaces auflisten (Body {} für alle erreichbaren). is_private markiert den Private Space. |
POST /v1/data/search | Documents eines Space auflisten — mit filters und order_by im Body, page/limit als Query. |
items, total_items, total_pages, page, page_size); jedes Element enthält die Document-Metadaten samt processing_state. Das Envelope-Format und die Filter-DSL beschreibt Konventionen und Fehler.
Verwandte Seiten
Dateien und Ordner
Der Raw-File-Layer und die Resource-Ordner unter
/v1/folders.Use Cases
RAG, Chatbot und n8n als fertige Rezepte.
Konventionen und Fehler
Base-URL, Paginierung, Filter-DSL und Statuscodes.
Dokumente (Plattform)
Dieselbe Knowledge-Base aus der UI-Perspektive.
