{"ok":true,"data":{"endpoints":[{"method":"GET","path":"/api/health","desc":"Health check + version + counts"},{"method":"GET","path":"/api/meta","desc":"App metadata (professions, cert types, districts, helplines)"},{"method":"GET","path":"/api/_docs","desc":"This API docs listing"},{"method":"GET","path":"/api/captcha","desc":"Fresh math CAPTCHA for OTP send"},{"method":"POST","path":"/api/auth/register","desc":"Register user (mobile OTP → user)"},{"method":"POST","path":"/api/auth/otp/send","desc":"Send OTP (SMS/WhatsApp/voice)"},{"method":"POST","path":"/api/auth/otp/verify","desc":"Verify OTP → issue JWT"},{"method":"POST","path":"/api/auth/login","desc":"Username/password login"},{"method":"GET","path":"/api/auth/me","desc":"Current session user"},{"method":"POST","path":"/api/auth/logout","desc":"End session"},{"method":"GET","path":"/api/me/export","desc":"DPDP: full JSON export of user data"},{"method":"DELETE","path":"/api/me","desc":"DPDP: right-to-erasure (soft-delete cascading)"},{"method":"GET/PUT","path":"/api/profile","desc":"User profile (aggregate + update)"},{"method":"POST","path":"/api/profile/assess","desc":"Run AI profiling → learning path"},{"method":"GET","path":"/api/lessons","desc":"List lessons (?profession=...&category=...)"},{"method":"GET","path":"/api/lessons/:id","desc":"Lesson detail + steps + progress"},{"method":"POST","path":"/api/lessons/:id/start|attempt|complete","desc":"Track lesson progress"},{"method":"GET","path":"/api/learn/categories|vocabulary|grammar|revision","desc":"Learn menus"},{"method":"POST","path":"/api/learn/vocabulary/mark|revision/clear|simulate","desc":"Interactive learn actions"},{"method":"GET","path":"/api/phrases","desc":"Smart phrases (?category=...)"},{"method":"POST","path":"/api/phrases/favorite|share","desc":"Save/share phrases"},{"method":"POST","path":"/api/translate","desc":"Translate text (from→to, dict-backed stub)"},{"method":"POST","path":"/api/voice/transcribe|pronounce","desc":"STT + pronunciation scoring (multipart)"},{"method":"POST","path":"/api/live/session|utterance|end","desc":"Real-time captions session"},{"method":"POST","path":"/api/ocr/scan","desc":"Camera OCR + translation"},{"method":"GET/POST","path":"/api/chat/threads|messages|send","desc":"Marathi Mitra AI chatbot"},{"method":"GET/POST","path":"/api/call/ivr|start|keypress|end|history","desc":"AI Call Center IVR"},{"method":"GET/POST","path":"/api/certificates","desc":"List/apply/submit certificate assessments"},{"method":"GET","path":"/api/certificates/:id/cert/download","desc":"Download certificate SVG"},{"method":"GET/POST","path":"/api/emergency/phrases|helplines|alert|history","desc":"Emergency system"},{"method":"GET/POST","path":"/api/geo/alert|district-heatmap","desc":"Geo SOS + district activity"},{"method":"GET","path":"/api/recommend","desc":"Personal recommendations"},{"method":"GET/POST","path":"/api/offline/packs|download","desc":"Offline pack downloads"},{"method":"GET","path":"/api/achievements","desc":"User achievement grid"},{"method":"POST","path":"/api/achievements/check","desc":"Re-evaluate + award"},{"method":"GET","path":"/api/badges","desc":"Badge grid"},{"method":"GET/POST","path":"/api/rewards|rewards/claim","desc":"Rewards catalog + claim"},{"method":"GET","path":"/api/leaderboard","desc":"Ranked leaderboard (?scope=all|district|profession)"},{"method":"GET/POST","path":"/api/grammar|grammar/exercises|grammar/attempt","desc":"Grammar practice"},{"method":"GET/POST","path":"/api/cultural|cultural/view","desc":"Cultural knowledge"},{"method":"GET/POST","path":"/api/simulations|simulations/run|simulations/turn","desc":"Dialog simulations"},{"method":"GET/POST","path":"/api/org|org/invite|org/join|org/dashboard","desc":"Organization portal"},{"method":"GET/POST","path":"/api/devices|devices/add|devices/revoke","desc":"Trusted device mgmt"},{"method":"GET/PUT","path":"/api/prefs|settings","desc":"Notification prefs + UI settings"},{"method":"POST","path":"/api/analytics/event","desc":"Client analytics event"},{"method":"GET","path":"/api/i18n","desc":"UI strings (10 languages)"},{"method":"GET","path":"/api/notifications","desc":"User's notifications"},{"method":"POST","path":"/api/notifications/read","desc":"Mark notification read"},{"method":"POST","path":"/api/feedback|feedback/grievance","desc":"Feedback + grievance"},{"method":"POST","path":"/api/upload","desc":"Generic file upload (SHA256, 8MB max)"},{"method":"GET","path":"/api/files/:filename","desc":"Serve uploaded file"},{"method":"GET","path":"/api/admin/overview|district|profession|certificates|users|insights|audit","desc":"Admin dashboard"},{"method":"GET","path":"/api/admin/export?table=...","desc":"CSV export"},{"method":"GET","path":"/api/pub/i18n|leaderboard|cultural|achievements|stats|phrases|helplines","desc":"Public endpoints (no auth)"},{"method":"GET","path":"/api/pub/certificate/verify/:code","desc":"Public QR verify"},{"method":"POST","path":"/api/pub/employer/verify","desc":"Employer verification with audit log"},{"method":"POST","path":"/api/auth/reset/{request,verify,confirm}","desc":"Password reset flow"},{"method":"GET/POST","path":"/api/sessions","desc":"List + revoke sessions"},{"method":"GET/POST","path":"/api/referrals","desc":"Referral code + redeem"},{"method":"GET/POST","path":"/api/push/{vapid,subscribe}","desc":"Web push subscribe"},{"method":"GET","path":"/api/stream/notifications","desc":"SSE real-time notifications"},{"method":"POST","path":"/api/pub/contact","desc":"Anonymous contact form"},{"method":"POST","path":"/api/bulk/cert-issue","desc":"Bulk cert issuance (admin/officer)"},{"method":"GET","path":"/api/plans","desc":"Subscription plans + user's active"},{"method":"GET","path":"/api/pub/plans","desc":"Public plans preview"},{"method":"POST","path":"/api/subscribe","desc":"Start subscription (creates payment intent if paid)"},{"method":"POST","path":"/api/pay/:id/mock-{success,fail}","desc":"Payment webhook (Razorpay-style)"},{"method":"POST","path":"/api/coupons/validate","desc":"Validate coupon against a plan"},{"method":"GET/POST","path":"/api/my/subscription[/cancel]","desc":"View + cancel subscription"},{"method":"GET","path":"/api/invoices[/:id]","desc":"GST invoices"},{"method":"GET","path":"/api/cert-fees","desc":"Certificate fee schedule"},{"method":"GET","path":"/api/motivation/today","desc":"Daily rotating motivational quote (Shivaji/saints/poets)"},{"method":"GET","path":"/api/pub/motivation/today","desc":"Public preview of today's quote"},{"method":"GET/POST","path":"/api/daily/{challenge,complete}","desc":"3 daily challenges + completion tracking"},{"method":"GET","path":"/api/pub/daily/challenge","desc":"Public preview of daily challenges"},{"method":"GET/POST","path":"/api/appreciation/{certs,check}","desc":"Free auto-issued appreciation certs"},{"method":"GET","path":"/api/appreciation/cert/:id/download","desc":"Appreciation cert SVG (QR-signed)"}]}}