Zum Inhalt springen

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.

Terminal-Fenster
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.

POST /v1/agent/run und POST /v1/chat liefern mit "stream": true statt einer einzelnen JSON-Antwort einen text/event-stream:

Terminal-Fenster
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: delta
data: {"text":"Der Endpoint-Pool"}
event: delta
data: {"text":" verteilt Anfragen über"}
event: result
data: {"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“
Terminal-Fenster
BASE=http://127.0.0.1:2330
# 1. Erste Nachricht — legt eine neue Sitzung an
SID=$(curl -s -X POST $BASE/v1/chat \
-d '{"input": "Was ist ein Endpoint-Pool?"}' | jq -r .session_id)
# 2. Folgenachricht in derselben Sitzung
curl -s -X POST $BASE/v1/chat \
-d "{\"input\": \"Und was passiert bei einem Ausfall?\", \"session_id\": \"$SID\"}" | jq .output
# 3. Kontext-Füllstand prüfen
curl -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 .context

Weitere Beispiele — für jeden einzelnen Endpunkt, mit den jeweiligen Feldern und Fehlerantworten — direkt in der API-Referenz.