JSON-API für Agenten
Dieselben Tabellen, dieselben Regeln. Ein Claude-Code-Skill oder ein MCP-Server spricht diese Endpunkte an und schickt die Identität als Header X-User-Id. In echt wäre das ein Token, die Datenbankregeln bleiben gleich.
| GET | /api/docs?q=&type=&status=&area=&tag= | Liste mit Metadaten, Volltextsuche über Titel, Beschreibung, Tags, Inhalt |
|---|---|---|
| GET | /api/docs/:slug | Ein Dokument mit Inhalt, Version, Rechten, Backlinks |
| GET | /api/docs/:slug/version | Nur Version und letzte Änderung (für „ist mein Stand noch aktuell?“) |
| PUT | /api/docs/:slug | Speichern mit {"version": n, "content": "...", ...}. Antwort 200, 409 mit Konflikt-Id oder 403 |
| POST | /api/docs | Anlegen mit {"title", "description", "type", "area", "tags", "content"} |
| GET | /api/grep?pattern= | Regex über den Inhalt (Postgres ~*), das grep-Äquivalent für Agenten |
Beispiele
curl -s -H 'X-User-Id: dirk' 'http://brain-demo.zeemo.cloud/api/docs?q=Lochblech' | jq '.[].slug'
curl -s -H 'X-User-Id: clara' 'http://brain-demo.zeemo.cloud/api/docs/lieferanten-stahl' | jq '.version, .can_write'
curl -s -H 'X-User-Id: dirk' 'http://brain-demo.zeemo.cloud/api/docs/lieferanten-stahl' # 404: fuer Dirk nicht sichtbar
curl -s -H 'X-User-Id: agent' 'http://brain-demo.zeemo.cloud/api/grep?pattern=Plasmaschneider' | jq
curl -s -X PUT -H 'X-User-Id: agent' -H 'Content-Type: application/json' \
-d '{"version": 1, "content": "...kompletter neuer Inhalt..."}' 'http://brain-demo.zeemo.cloud/api/docs/offene-punkte-fertigung'