API DocsWissensdatenbanken

Wissensdatenbanken

Wissensdatenbanken per API erstellen, Dokumente hochladen, RAG-Suche durchführen.

Auf dieser Seite

Knowledge Base API

Erstelle vollständig verwaltete RAG-Wissensdatenbanken per API. Wir übernehmen Vektorisierung, Embedding-Modelle und Reranking — du musst dich um nichts kümmern.

Unterstützte Dateiformate

Lade verschiedene Dokumenttypen und YouTube-Videos in deine Wissensdatenbank hoch.

PDF
DOCX
PPTX
XLSX
TXT
MD
CSV
HTML
JSON
PNG
JPG
YouTube

Limits

Folgende Limits gelten für Knowledge Bases.

RessourceLimit
Dateigröße100 MB
Dateien pro KB30
KBs pro Nutzer∞
Tokens pro KB1,000,000

Credits

Nur anonymisierte Dokumente kosten Credits (1 Wort = 1 Credit). Nicht-anonymisierte Uploads und Suchen sind kostenlos.

Schnellstart

In vier Schritten zur RAG-fähigen Wissensdatenbank:

1Knowledge Base erstellen
2Dokumente hochladen
3Verarbeitung abwarten
4Wissensdatenbank durchsuchen

Erstellen

Knowledge Base erstellen

Erstelle eine neue Wissensdatenbank, um Dokumente zu organisieren und per RAG durchsuchbar zu machen.

POST/api/v1/knowledge-bases

Parameter

ParameterTypeDescription
namerequired
stringName der Wissensdatenbank
description
stringOptionale Beschreibung

Beispiel

1curl -X POST https://app.anymize.ai/api/v1/knowledge-bases \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "name": "Product Documentation",
6 "description": "All product docs"
7 }'

Antwort

Bei Erfolg wird die erstellte Wissensdatenbank mit ihrer ID zurückgegeben.

201Created
{
  "success": true,
  "knowledgeBase": {
    "id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
    "name": "Product Documentation",
    "description": "All product docs",
    "rag_status": "pending",
    "rag_progress": 0,
    "doc_count": 0,
    "created_at": "2025-01-15T10: 30: 00Z"
  }
}

Auflisten

Knowledge Bases auflisten

Listet alle Wissensdatenbanken auf, die dir gehören oder auf die du Zugriff hast.

GET/api/v1/knowledge-bases

Authentifizierung

Nutze deinen API-Key im Authorization-Header.

Hinweis

Wissensdatenbanken, die per API erstellt werden, sind auch im Chat verfügbar — und umgekehrt.

Antwort

Gibt ein Array aller Wissensdatenbanken mit Status und Statistiken zurück.

200OK
{
  "list": [
    {
      "id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
      "name": "Product Documentation",
      "description": "All product docs",
      "rag_status": "completed",
      "rag_progress": 100,
      "doc_count": 5,
      "chunk_count": 234,
      "total_tokens": 45200,
      "role": "owner",
      "created_at": "2025-01-15T10: 30: 00Z"
    }
  ],
  "total": 1
}

Antwortfelder

Jede Wissensdatenbank enthält folgende Felder.

FeldTypBeschreibung
idstringEindeutige ID der Wissensdatenbank
namestringName der Wissensdatenbank
descriptionstringBeschreibung der Wissensdatenbank
rag_statusstringVerarbeitungsstatus (pending, processing, completed, failed)
rag_progressnumberFortschritt in Prozent (0–100)
doc_countnumberAnzahl der Dokumente
chunk_countnumberAnzahl der erstellten Chunks
total_tokensnumberGesamtzahl der Tokens
rolestringDeine Rolle (owner, editor, viewer)
created_atstringErstellungszeitpunkt

Beispiel

1curl https://app.anymize.ai/api/v1/knowledge-bases \
2 -H "Authorization: Bearer YOUR_API_KEY"

Details

Knowledge Base abrufen

Ruft Details einer Wissensdatenbank ab, einschließlich Dokumentliste, Chunk-Statistiken und Gesundheitsstatus.

GET/api/v1/knowledge-bases/{id}

Parameter

ParameterTypeDescription
idrequired
stringID der Wissensdatenbank

Antwort

Gibt die Wissensdatenbank mit Dokumenten und Chunk-Statistiken zurück.

200OK
{
  "knowledgeBase": {
    "id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
    "name": "Product Documentation",
    "description": "All product docs",
    "summary": "Contains product guides, API references, and FAQ documents.",
    "rag_status": "completed",
    "health": "healthy",
    "documents": [
      {
        "id": "dddddddd-dddd-4ddd-8ddd-dddddddddddd",
        "name": "getting-started.pdf",
        "status": "processed",
        "chunk_count": 42,
        "token_count": 8500,
        "created_at": "2025-01-15T10: 35: 00Z"
      }
    ],
    "chunkStats": {
      "total_chunks": 234,
      "total_tokens": 45200,
      "avg_tokens_per_chunk": 193
    },
    "created_at": "2025-01-15T10: 30: 00Z",
    "updated_at": "2025-01-16T14: 20: 00Z"
  }
}

Beispiel

1curl https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa \
2 -H "Authorization: Bearer YOUR_API_KEY"

Knowledge Base aktualisieren

Aktualisiere Name oder Beschreibung einer Wissensdatenbank.

PATCH/api/v1/knowledge-bases/{id}

Parameter

ParameterTypeDescription
idrequired
stringID der Wissensdatenbank
name
stringNeuer Name
description
stringNeue Beschreibung

Antwort

200OK
{
  "knowledgeBase": {
    "id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
    "name": "Updated Documentation",
    "description": "Revised product docs",
    "rag_status": "completed",
    "updated_at": "2025-01-17T09: 15: 00Z"
  }
}

Beispiel

1curl -X PATCH https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "name": "Updated Documentation",
6 "description": "Revised product docs"
7 }'

Knowledge Base löschen

Löscht eine Wissensdatenbank und alle zugehörigen Embeddings. Nur der Eigentümer kann löschen.

DELETE/api/v1/knowledge-bases/{id}

Achtung

Das Löschen entfernt alle Embeddings und Chunks. Die originalen Dokumente bleiben erhalten.

Parameter

ParameterTypeDescription
idrequired
stringID der Wissensdatenbank

Antwort

200OK
{
  "success": true
}

Beispiel

1curl -X DELETE https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa \
2 -H "Authorization: Bearer YOUR_API_KEY"

Dokumente hochladen

Dokumente hochladen

Lade Dateien oder YouTube-Videos in eine Wissensdatenbank hoch. Unterstützt multipart/form-data für Dateien und application/json für YouTube-URLs.

POST/api/v1/knowledge-bases/:id/upload

Upload-Modi

Der Endpoint unterstützt zwei Modi: Datei-Upload (multipart/form-data) und YouTube-URL (application/json).

Unterstützte Dateitypen

PDF, DOCX, PPTX, XLSX, TXT, MD, CSV, HTML, JSON, PNG, JPG und weitere Bildformate.

Datei-Upload Parameter

Sende die Datei als multipart/form-data mit folgenden Feldern.

ParameterTypeDescription
filerequired
FileDie hochzuladende Datei (max. 100 MB)
with_anonymization
stringDatei vor dem Hinzufügen zur KB anonymisieren. Kostet Credits.
auto_process
stringRAG-Verarbeitung automatisch starten, wenn alle Dokumente bereit sind.

Credits

Anonymisierte Uploads kosten Credits (1 Wort = 1 Credit). Nicht-anonymisierte Uploads sind kostenlos.

Datei-Upload Beispiel

1curl -X POST https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa/upload \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -F "file=@product-guide.pdf" \
4 -F "with_anonymization=false" \
5 -F "auto_process=true"

.NET / C#

MultipartFormDataContent.Add reicht. Keinen eigenen Boundary-String setzen. Feldnamen ohne Anführungszeichen sind in Ordnung.

Datei-Upload Antwort

Gibt die Job-ID und den Status zurück. Nutze den Status-Endpoint, um den Fortschritt zu prüfen.

201Created
{
  "job_id": "11111111-1111-4111-8111-111111111111",
  "status": "pending",
  "filename": "product-guide.pdf",
  "with_anonymization": false,
  "message": "File uploaded to knowledge base"
}

YouTube-URL Parameter

Sende die YouTube-URL als JSON-Body.

ParameterTypeDescription
youtube_urlrequired
stringVollständige YouTube-URL (youtube.com/watch?v=..., youtu.be/...)
auto_process
booleanRAG-Verarbeitung automatisch starten

Tipp

YouTube-Transkripte werden automatisch extrahiert. Bei längeren Videos kann die Verarbeitung einen Moment dauern.

YouTube-Upload Beispiel

1curl -X POST https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa/upload \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "youtube_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
6 "auto_process": true
7 }'

YouTube-Upload Antwort

Gibt die Job-ID, den Titel des Videos und den Status zurück.

201Created
{
  "job_id": "22222222-2222-4222-8222-222222222222",
  "status": "completed",
  "title": "Product Overview Video",
  "message": "YouTube video added to knowledge base"
}

Dokumente verwalten

Dokumente auflisten

Listet alle Dokumente einer Wissensdatenbank mit Chunk-Zählung und Anonymisierungsstatus auf.

GET/api/v1/knowledge-bases/:id/documents

Antwort

Gibt ein Array der Dokumente mit Metadaten zurück.

200OK
{
  "documents": [
    {
      "id": "11111111-1111-4111-8111-111111111111",
      "filename": "product-guide.pdf",
      "status": "completed",
      "is_anonymized": false,
      "chunk_count": 45,
      "added_at": "2025-01-15T10: 30: 00Z"
    }
  ],
  "total": 1
}

Dokumentfelder

Jedes Dokument enthält folgende Felder.

FeldTypBeschreibung
idstringEindeutige Dokument-ID
filenamestringDateiname des Dokuments
statusstringVerarbeitungsstatus (pending, completed, failed)
is_anonymizedbooleanOb das Dokument anonymisiert wurde
chunk_countnumberAnzahl der erstellten Chunks
added_atstringZeitpunkt des Hinzufügens zur KB

Beispiel

1curl https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa/documents \
2 -H "Authorization: Bearer YOUR_API_KEY"

Dokumente entfernen

Entfernt Dokumente aus einer Wissensdatenbank und löscht die zugehörigen Embeddings.

DELETE/api/v1/knowledge-bases/:id/documents

Parameter

ParameterTypeDescription
jobIdsrequired
string[]Array von Dokument-IDs, die entfernt werden sollen

Achtung

Entfernte Dokumente verlieren ihre Embeddings und Chunks in dieser Wissensdatenbank.

Beispiel

1curl -X DELETE https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa/documents \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "jobIds": ["11111111-1111-4111-8111-111111111111", "22222222-2222-4222-8222-222222222222"]
6 }'

Antwort

Gibt die Anzahl entfernter und verbleibender Dokumente zurück.

200OK
{
  "success": true,
  "removed": 1,
  "remaining": 4
}

Verarbeitung

Verarbeitung starten

Startet die RAG-Verarbeitung für eine Wissensdatenbank. Erstellt Chunks, Embeddings und die Hierarchie.

POST/api/v1/knowledge-bases/:id/process

Parameter

ParameterTypeDescription
buildHierarchy
booleanMehrstufige Chunk-Hierarchie erstellen (Level 1/2/3)
generateSummary
booleanKI-generierte Zusammenfassung der KB erstellen

Antwort

Gibt den Verarbeitungsstatus zurück. Nutze GET, um den Fortschritt zu prüfen.

202Processing Started
{
  "success": true,
  "status": "processing",
  "message": "Processing started. Use GET to poll status."
}

Hinweis

Die Verarbeitung läuft asynchron. Nutze den GET-Endpoint, um den Fortschritt abzurufen. Statuswerte: pending, processing, completed, failed.

Beispiel

1curl -X POST https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa/process \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "buildHierarchy": true,
6 "generateSummary": true
7 }'

Verarbeitungsstatus abfragen

Ruft den aktuellen Verarbeitungsstatus einer Wissensdatenbank ab.

GET/api/v1/knowledge-bases/:id/process

Antwort

Gibt Fortschritt, Token-Anzahl und Chunk-Statistiken zurück.

200Processing Status
{
  "status": "completed",
  "progress": 100,
  "total_docs": 5,
  "processed_docs": 5,
  "total_tokens": 45200,
  "chunk_count": 234,
  "has_summary": true,
  "error": null
}

Beispiel

1curl https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa/process \
2 -H "Authorization: Bearer YOUR_API_KEY"

Tipp

Füge ?force=true hinzu, um eine KB erneut zu verarbeiten, auch wenn sie bereits abgeschlossen ist.

MCP-Server

Binde deine Wissensdatenbanken direkt in MCP-fähige Clients ein (Claude, Cursor, Windsurf, eigene Agents): Der gehostete MCP-Server exponiert genau dieselbe Retrieval-Pipeline wie der anymize-Chat — Vektor-Suche, Reranking, erweiterter Kontext und Zitat-Metadaten. Transport ist MCP Streamable HTTP; jede Anfrage wird als einzelne JSON-Antwort beantwortet.

POST/api/mcp

Authentifizierung

Der MCP-Server akzeptiert ausschließlich API-Keys (Authorization: Bearer) — keine Session-Cookies. Deinen Key erstellst du in der App unter Einstellungen → API.

Client einrichten

Trage den Server mit URL und Authorization-Header in deinem MCP-Client ein:

1{
2 "mcpServers": {
3 "anymize-knowledge": {
4 "url": "https://app.anymize.ai/api/mcp",
5 "headers": {
6 "Authorization": "Bearer YOUR_API_KEY"
7 }
8 }
9 }
10}

Direkt per cURL testen

Der Endpunkt spricht JSON-RPC 2.0 — du kannst ihn ohne MCP-Client direkt mit cURL ausprobieren. Jeder Request ist ein POST mit deinem API-Key im Authorization-Header.

1# 1) Handshake (optional bei stateless Clients)
2curl -X POST https://app.anymize.ai/api/mcp \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -H "Content-Type: application/json" \
5 -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'
6
7# 2) Tools auflisten
8curl -X POST https://app.anymize.ai/api/mcp \
9 -H "Authorization: Bearer YOUR_API_KEY" \
10 -H "Content-Type: application/json" \
11 -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
12
13# 3) Wissensdatenbanken auflisten
14curl -X POST https://app.anymize.ai/api/mcp \
15 -H "Authorization: Bearer YOUR_API_KEY" \
16 -H "Content-Type: application/json" \
17 -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_knowledge_bases","arguments":{}}}'
18
19# 4) In mehreren ausgewählten Datenbanken suchen
20curl -X POST https://app.anymize.ai/api/mcp \
21 -H "Authorization: Bearer YOUR_API_KEY" \
22 -H "Content-Type: application/json" \
23 -d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"search_knowledge_base","arguments":{"query":"Wie funktioniert die Authentifizierung?","knowledge_base_ids":["aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa","bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb"],"top_k":5}}}'

Verfügbare Tools

Der Server stellt drei Tools bereit. Typischer Ablauf: erst list_knowledge_bases, dann search_knowledge_base.

ParameterTypeDescription
list_knowledge_bases
toolListet zugängliche Wissensdatenbanken seitenweise mit Verarbeitungsstatus. Nutze offset weiter, solange has_more true ist.
get_knowledge_base
toolLädt eine Wissensdatenbank mit ihrer Dokumentliste (Dateinamen + Status).
search_knowledge_base
toolSemantische Suche. Parameter: query (Pflicht), knowledge_base_id oder knowledge_base_ids (optional, maximal 8), top_k (1-20, Standard 5). Liefert bewertete Textstellen mit klickbarer citation_url.

Zitate

Jede Textstelle enthält chunk_id, citation_url, citation_id, source, chunk_index und score. citation_url öffnet die exakte Passage mit Markierung in anymize. citation_id bleibt für bestehende Integrationen erhalten.

200search_knowledge_base
{
  "status": "success",
  "query": "How does authentication work?",
  "results": [
    {
      "index": 1,
      "content": "Authentication is handled via OAuth 2.0...",
      "score": 0.92,
      "source": "auth-guide.pdf",
      "chunk_index": 3,
      "chunk_id": "cccccccc-cccc-4ccc-8ccc-cccccccccccc",
      "citation_id": "550e8400-e29b-41d4-a716-446655440000",
      "job_id": "550e8400-e29b-41d4-a716-446655440000",
      "citation_url": "https://app.anymize.ai/chunk/cccccccc-cccc-4ccc-8ccc-cccccccccccc",
      "knowledge_base_id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa"
    }
  ],
  "total": 1,
  "searched_knowledge_bases": 2,
  "citation_instruction": "Cite sourced statements with metadata.citation_url."
}

Sicherheit

  • Nur API-Key-Auth (Bearer). Session-Cookies werden bewusst nicht akzeptiert — damit ist der Endpunkt nicht per CSRF angreifbar.
  • Jedes Tool erzwingt dieselben Zugriffsrechte wie die REST-API: Nur Datenbanken, die dir gehören oder aktiv mit dir geteilt wurden. Suchen erfordert zusätzlich Status 'completed'.
  • Es gelten dieselben Rate-Limits wie für die REST-Endpunkte der Wissensdatenbanken.
Knowledge Bases API Dokumentation | anymize