REST API
The daemon exposes an HTTP API at 127.0.0.1:8478. The same operations back the
MCP server and the Obsidian plugin.
Interactive reference (always in sync)
Because every Khiip install runs the daemon locally, the authoritative, always-current API reference is the one the daemon serves itself — generated from the live code, so it never drifts from the version you’re running (no auth token required for these):
| When the daemon is running | URL |
|---|---|
| Swagger UI — try requests in-browser | http://127.0.0.1:8478/docs |
| ReDoc — clean reading reference | http://127.0.0.1:8478/redoc |
| OpenAPI schema (JSON) | http://127.0.0.1:8478/openapi.json |
Endpoints
| Method & path | Purpose |
|---|---|
POST /api/v1/captures | Capture a URL |
GET /api/v1/captures | List captures (newest first) |
GET /api/v1/captures/{id}?format=… | Get a capture (format: capture JSON / payload JSON / vault markdown / legacy markdown) |
POST /api/v1/captures/{id}/refetch?dimension=… | Refetch (extraction / media / wayback) |
GET /api/v1/recall | Semantic recall (top-k) |
GET /health | Liveness |
GET /api/v1/meta | Daemon metadata |
All /api/v1 routes require the Bearer token in ~/.config/khiip/auth.toml — the CLI,
Obsidian plugin, and MCP server auto-discover it. /health, /docs, /redoc, and
/openapi.json are exempt from auth.