The local runner exposes the routes below. The FastAPI deployment provides interactive Swagger documentation at this same path and its schema at /openapi.json.
GET /api/health
GET /api/config
GET /api/collections
POST /api/collections {"name":"Research"}
POST /api/sample {}
GET /api/collections/{id}
GET /api/collections/{id}/documents?q=term
POST /api/collections/{id}/documents
{"title":"Source", "text":"At least 20 characters of readable text."}
POST /api/collections/{id}/upload
{"filename":"source.txt", "data":"base64-encoded UTF-8 bytes"}
POST /api/collections/{id}/url {"url":"https://…"}
GET /api/documents/{id}POST /api/collections/{id}/analyze {"provider":"local"}
GET /api/collections/{id}/status
GET /api/collections/{id}/analysis
GET /api/collections/{id}/entities
GET /api/collections/{id}/topics
GET /api/collections/{id}/clusters
GET /api/collections/{id}/signals
GET /api/collections/{id}/briefAnalysis returns HTTP 202. Poll status until complete or failed. Unchanged successful analysis is cached. Errors return a detail message with 400, 404, 409, 413, 415, 422, 429 or 503 as appropriate. The openai provider requires server configuration.
This is a single-workspace API. Protect the production service with authentication and rate limits before exposing private sources or a paid model key.