1 API
chinux edited this page 2026-05-30 18:31:16 +00:00

API

Basis-Pfad: /api. Alle Endpunkte (außer /api/health) erfordern einen gültigen OIDC-Bearer-Token im Authorization-Header.

GET /api/health

Healthcheck. Antwort: {"status":"ok"}.

POST /api/process

Audio hochladen, transkribieren und parsen. Schreibt nichts.

  • Body: multipart/form-data mit Feld file (Audio: webm/ogg/mp4/mp3/wav).
  • Antwort: { "transcript": "...", "parsed": { ...Item } }

POST /api/parse

Getippten Text parsen (ohne Whisper). Schreibt nichts.

  • Body: { "text": "Freitag 9 Uhr Backup-Check" }
  • Antwort: { "transcript": "...", "parsed": { ...Item } }

POST /api/confirm

Bestätigtes Item in die Nextcloud schreiben.

  • Body: { "item": { ...Item } }
  • Antwort: { "uid": "...", "href": "..." }

GET /api/settings

Aktives LLM-Modell. Antwort: { "model": "...", "default": "..." }

PUT /api/settings

Modell setzen. Body: { "model": "meta-llama/llama-3.1-8b-instruct" }. Antwort wie GET.

Item-Struktur

{
  "kind": "event | task",
  "title": "string",
  "description": "string",
  "location": "string",
  "all_day": true,
  "start": "YYYY-MM-DDTHH:MM:SS | null",
  "end":   "YYYY-MM-DDTHH:MM:SS | null"
}
  • kind=event → wird als VEVENT geschrieben, kind=task → als VTODO.
  • Bei Aufgaben ist start die Fälligkeit (optional).