HTTP-API-Referenz
Die komplette API-Referenz — alle Endpunkte, Anfrage-/Antwort-Schemas, Fehlercodes und ein fertiges cURL-Beispiel pro Route — steht unter /api/. Sie entsteht automatisch aus openapi.yaml im Repository und ist damit immer so aktuell wie der Code, gegen den sie geschrieben wurde.
Diese Seite ergänzt nur, was eine Schema-Referenz naturgemäß nicht zeigt: Auth, Streaming und ein durchgehendes Beispiel.
curl http://127.0.0.1:2330/v1/health \ -H "Authorization: Bearer $OLLAMA_AGENT_TOKEN"Der Header ist nur nötig, wenn api.auth_token in der config.json gesetzt ist (oder OLLAMA_AGENT_TOKEN im Docker-Container). Ohne konfigurierten Token ist die API offen — sinnvoll nur hinter 127.0.0.1 oder einem eigenen Reverse-Proxy.
Streaming (Server-Sent Events)
Abschnitt betitelt „Streaming (Server-Sent Events)“POST /v1/agent/run und POST /v1/chat liefern mit "stream": true statt einer einzelnen JSON-Antwort einen text/event-stream:
curl -N -X POST http://127.0.0.1:2330/v1/chat \ -H "Content-Type: application/json" \ -d '{"input": "Erkläre den Endpoint-Pool in zwei Sätzen.", "stream": true}'event: deltadata: {"text":"Der Endpoint-Pool"}
event: deltadata: {"text":" verteilt Anfragen über"}
event: resultdata: {"session_id":"a1b2c3","title":"Endpoint-Pool erklärt","output":"Der Endpoint-Pool verteilt Anfragen über mehrere Ollama-Server ...", ...}Null oder mehr delta-Events mit Textstücken, danach genau ein result (vollständiges Ergebnis inkl. session_id/title/context bei /v1/chat) oder error.
Ein durchgehendes Beispiel: Sitzung anlegen, fortsetzen, komprimieren
Abschnitt betitelt „Ein durchgehendes Beispiel: Sitzung anlegen, fortsetzen, komprimieren“BASE=http://127.0.0.1:2330
# 1. Erste Nachricht — legt eine neue Sitzung anSID=$(curl -s -X POST $BASE/v1/chat \ -d '{"input": "Was ist ein Endpoint-Pool?"}' | jq -r .session_id)
# 2. Folgenachricht in derselben Sitzungcurl -s -X POST $BASE/v1/chat \ -d "{\"input\": \"Und was passiert bei einem Ausfall?\", \"session_id\": \"$SID\"}" | jq .output
# 3. Kontext-Füllstand prüfencurl -s $BASE/v1/sessions/$SID | jq .context
# 4. Bei Bedarf komprimieren (Verlauf per LLM zusammenfassen)curl -s -X POST $BASE/v1/sessions/$SID/compact | jq .contextWeitere Beispiele — für jeden einzelnen Endpunkt, mit den jeweiligen Feldern und Fehlerantworten — direkt in der API-Referenz.