{"status": "online", "service": "Kinara Backend", "api_version": "1.0", "chat": {"dashboard_threads_db_tables": ["student_chat_conversations", "student_chat_messages"], "list_teacher": "GET /api/teacher/chat/conversations/", "list_student": "GET /api/student/chat/conversations/", "send_message": "POST /api/teacher/chat/ or POST /api/student/chat/ with Bearer token", "llm_configured": true, "hint": "Threads are only committed after a successful AI reply. If HUGGINGFACE_TOKEN is unset or the model errors, expect 503/500 and no new rows. Use the same role-specific list URL as your account (teacher vs student)."}, "endpoints": ["/api/generate-lesson (POST)              \u2192 Lesson plan generation (+ JWT saves history)", "/api/teacher/generate-questions (POST)   \u2192 Teacher quiz/questions (JWT saves history)", "/api/student/generate-questions (POST)   \u2192 Student practice questions (JWT saves history)", "/api/teacher/ai-history/ (GET)           \u2192 Teacher saved generations", "/api/student/ai-history/ (GET)          \u2192 Student saved generations", "/api/teacher/chat/ (POST) & \u2026/conversations/ (GET) \u2192 Copilot chat + thread list (JWT)", "/api/student/chat/ (POST) & \u2026/conversations/ (GET) \u2192 Student chat + thread list (JWT)", "/api/auth/* (POST/GET)                   \u2192 JWT auth (signup, login, refresh, me)", "/api/schools/tanga/ (GET)               \u2192 Schools (DB) + class lists + signup hints (registration)", "/api/student/courses/catalog/ (GET)     \u2192 All course templates (optional Bearer for progress)", "/api/student/* (GET/POST/PATCH)          \u2192 Student dashboard (Bearer token)"], "note": "Use JSON for most POST bodies; student chat supports multipart for images. Send Authorization: Bearer <access_token> on generators and chat to persist per user."}