{"cors":"enabled (all origins)","endpoints":{"debug":"/debug/<query>","invoices":"/invoices/<query>?strict=1&status=Paid&year=2026&limit=12&payments=1","user":"/user/<query>?from=YYYY-MM-DD&to=YYYY-MM-DD&strict=1&with_invoices=0"},"examples":{"exact_ac_no":"/user/2151090","exact_mobile":"/user/01408948270","full_username":"/user/NVSCC2163437","invoices_by_mobile":"/invoices/01825008143","invoices_by_number_only":"/invoices/2152842  (matches NVSGT2152842)","invoices_by_username":"/invoices/NVSGT2152842","paid_last_6":"/invoices/21612683?status=Paid&limit=6","suffix":"/user/215295  (matches NVSNP@215295)"},"service":"Novus Smart User API","workflow":["1. Search Novus user list (username -> A/C No -> mobile)","2. Strict exact match (A/C No > username > mobile > suffix)","3. Ambiguous hole 300 + candidate list return","4. /user: fetch /user/details?id=<ac_no> + usage + OLT","5. /invoices: fetch /user/pro_invoice?id=<ac_no> + parse"]}
