{
  "service": "chatalyze-api",
  "ofapi": "deferred",
  "docs": "https://chatalyze.co",
  "routes": {
    "GET /api/health": "Worker health + bindings",
    "GET /api/overview": "D1 session/message aggregates for dashboard",
    "GET /api/sessions": "List sessions (?limit=)",
    "GET /api/messages": "List messages (?chatId=&limit=)",
    "GET /api/chats?chatId=": "Sessions + messages for one chat",
    "GET /api/stats": "Lightweight live analytics",
    "GET /api/accounts": "Distinct account_ids from sessions",
    "POST /api/demo/ingest": "Signed fixture ingest (no OFAPI)",
    "POST /webhooks/onlyfans": "Same as demo ingest (OF later)",
    "POST /api/admin/replay": "Bearer secret — rebuild rm_*",
    "POST /api/admin/close-session": "Bearer secret — force SessionClosed",
    "POST /api/admin/seed-demo": "Bearer secret — embedded fixtures (no OFAPI)"
  }
}