Docs · API reference
Every endpoint.
Core
| Endpoint | Does |
|---|---|
POST /ask | Hit → instant answer; miss → LLM → auto-distilled reflex. Fields: user_id, message, context, llm, serve_threshold, extract_structured, output_schema, explain, ttl_days. Sources: reflex | reflex+reverify | llm. |
POST /v1/chat/completions | OpenAI-compatible. Any framework via base_url; extras reflex_source/confidence/id. |
POST /v1/messages | Anthropic-compatible (Claude SDK via base_url). |
POST /remember | Store a fact: user_id, fact, confidence. |
POST /reflexes | Explicit memorize/upsert (tool-composed answers, imports). |
Inspect & govern
| Endpoint | Does |
|---|---|
GET /reflexes?user_id= | Active reflexes: confidence, hits, corrections, TTL, provenance. |
GET /activity?limit=&source= | Recent asks newest-first (LLM vs reflex split, latencies). |
GET /metrics | hit_rate, avg_latency_ms, llm_calls, cost_saved_30d_inr, calibration[]. |
POST /reflexes/{id}/feedback | {"ok": true/false} — tunes confidence live. |
PATCH /reflexes/{id} | Set your own TTL / confidence: {"ttl_days": 2} (1–365, clamped). Console Memory tab has a TTL editor. |
POST /verify/run | Re-check stale memories now. |
DELETE /reflexes/{id} | Erasure (GDPR). |
GET /health | Uptime (always open, even with API key set). |
Auth
Set MEMFLEX_API_KEY → every route but /health requires X-API-Key (or Authorization: Bearer). Empty = open local mode.