POST /api/chat
Haupt-Endpunkt für Chat-Antworten. Die Antwort wird als Stream zurückgegeben. Rate-Limit: 60 Nachrichten / Minute / Nutzer · max. 3 parallele Streams. Request-Body:| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
message | string | Nein* | Nachricht (*Pflicht, wenn keine Dateien) |
threadId | UUID | Nein | Thread-ID; Pflicht, wenn attachments gesendet werden |
accountSlug | string | Ja | Team-Slug (fehlt er, antwortet der Endpunkt 400) |
model | string | Nein | Anzeigename des Modells |
useRag | boolean | Nein | Wissens-Kontext aktivieren (Standard: false) |
systemPrompt | string | Nein | Eigener System-Prompt |
attachments | array | Nein | Datei-Anhänge (max. 5; je id, name, size, type) |
spaceId | UUID | Nein | Space-Kontext |
agentId | UUID | Nein | Agent-Modus |
agentName | string | Nein | Name des Agents |
generateGreeting | boolean | Nein | Begrüßung erzeugen (Standard: false) |
text/plain; charset=utf-8):
Die Antwort ist ein fortlaufender Text-Stream (keine SSE-data:-Frames). Der
Client liest UTF-8-Text-Bruchstücke nacheinander und hängt sie aneinander. Wenn
Tools im Stream sichtbar werden, erscheinen sie als Marker wie [TOOL:web_search].
| Header | Beschreibung |
|---|---|
X-Thread-ID | Thread-ID des Chats |
X-Message-ID | persistierte User-Message-ID des aktuellen Turns |
X-Provider-ID | verwendete Provider-Konfiguration |
X-Model | ModelRef im Wire-Format, z. B. managed:<deployment> oder byom:<uuid> |
X-Model-Display-Name | Anzeigename des Modells |
X-Knowledge-Sources | JSON-Array der Quellen, z. B. [{ "id": "...", "filename": "...", "pageNumber": 1, "mimeType": "application/pdf" }]; Snippets werden nicht im Header übertragen |
X-Knowledge-Degraded | 1, wenn die Knowledge-Abfrage in diesem Turn degradiert wurde |
X-Activated-Skill | Name des automatisch aktivierten Skills |
X-Agent-Skills | JSON-Array der Agent-Skill-Namen, z. B. ["Vertragsanalyse"] |
X-Chat-Dropped-Attachments | Anzahl aus Kontextgründen ausgelassener Anhänge |
X-Chat-Dropped-Messages | Anzahl ausgelassener Verlaufseinträge |
- Es werden bis zu 50 Nachrichten als Verlaufskontext berücksichtigt.
- Sicherheits-Vorprüfungen können eine Nachricht blockieren; in dem Fall enthält
die Antwort
"blocked": true. - Bildanhänge funktionieren nur mit Modellen, die Bilder verstehen.
POST /api/chat/attachments
Dateien für die Nutzung im Chat hochladen. Rate-Limit: 20 Uploads / Minute / Nutzer ·Content-Type: multipart/form-data.
Formularfelder:
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
files | File[] | Ja* | Dateien (max. 10) |
accountSlug | string | Ja | Team-Slug (fehlt er, antwortet der Endpunkt 400) |
threadId | UUID | Nein | Thread-ID (wird angelegt, falls nicht angegeben) |
spaceId | UUID | Nein | Verknüpfung mit einem Space |
| Grenze | Wert |
|---|---|
| Max. Dateigröße | 50 MB |
| Max. Dateien pro Upload | 10 |
| Max. Gesamtgröße | 100 MB |
POST /api/chat validiert die Chat-API die referenzierten Anhänge separat:
maximal 5 Anhänge pro Nachricht, jeweils bis 10 MB.
Antwort:
errors ist nur vorhanden, wenn einzelne Dateien fehlschlagen. Wenn alle Dateien
fehlschlagen, antwortet der Endpoint mit 422.