{"success":true,"data":{"status":"ok","database":"connected","version":"v3.7-self-service-v26","manual_cash_engine":"finance_pipeline_v4","expense_engine":"direct_expense_v2","transfer_engine":"manual_bank_review_v2","historical_finance_engine":"backdated_ledger_v1","ledger_engine":"ledger_type_normalized_v4","reminder_engine":"manual_whatsapp_intent_v1","agenda_poll_engine":"agenda_rsvp_poll_v1","community_engine":"marketplace_business_directory_v2","carpool_engine":"disabled","bulletin_engine":"official_board_v1","notification_engine":"in_app_notification_center_v1","history_setup_required":false,"transfer_setup_required":false,"reminder_setup_required":false,"agenda_poll_setup_required":false,"community_setup_required":false,"bulletin_setup_required":false,"notification_setup_required":false,"saas_setup_required":false,"saas_engine":"multi_school_class_subscription_v2","saas_phase3":"multi_class_social_public_market_v23","public_market_engine":"class_school_city_public_v1","school_settings_setup_required":false,"auth_engine":"whatsapp_pin_multi_role_v3_org_roles","multi_role_enabled":true,"available_roles":["member","chairman","secretary","treasurer","coordinator","admin","teacher"],"auth_setup_required":false,"dashboard_engine":"direct_sql_v2","payment_engine":"manual_cash_transfer_v2","ui_engine":"role_progress_v1","student_dues_engine":"master_dues_v1","student_profile_engine":"photo_birthdate_v1","student_save_engine":"legacy_compat_v2","php_upload_max_filesize":"256M","php_post_max_size":"256M","fileinfo_available":true,"mbstring_available":true,"base_path":"https://sumatratech.id/api","schema_missing":[],"schema_diagnostic":{"students":{"table_missing":false,"missing_columns":[]},"dues":{"table_missing":false,"missing_columns":[]},"cash_transactions":{"table_missing":false,"missing_columns":[]}},"v11_missing_student_columns":[],"legacy_required_student_columns":[],"legacy_class_fk_present":false,"finance_schema_ok":true,"cash_required_legacy_columns":[],"dues_required_legacy_columns":[],"dues_status_type":"enum('unpaid','partial','paid')","routes":["GET health","GET auth/status","POST auth/setup-admin","POST auth/login","POST auth/logout","GET me","POST me/profile","POST me/change-pin","GET users?role=member","POST users","POST users/{id}/reset-pin","POST users/{id}/role (legacy)","POST users/{id}/roles","POST users/{id}/verification","GET school/settings","POST school/settings (admin)","GET saas/public/schools","POST saas/public/register-class","GET saas/context","GET saas/classes","POST saas/classes/join","POST saas/invites","GET saas/subscription","GET public/marketplace?city=Solok&province=Sumatra%20Barat","GET public/businesses?city=Solok&province=Sumatra%20Barat","GET dashboard?month=8&year=2026","GET transactions?month=8&year=2026","GET dues/unpaid?month=8&year=2026","POST expenses","POST reminders/whatsapp (legacy)","GET reminders/manual?month=8&year=2026","POST reminders/manual/opened","GET v14/agendas","POST v14/agendas","POST v14/agendas/{id}","POST v14/agendas/{id}/rsvp","GET v14/polls","POST v14/polls","POST v14/polls/{id}/vote","POST v14/polls/{id}/close","GET v15/marketplace?region=all|class|school|city|public","POST v15/marketplace","POST v15/marketplace/{id}/status","POST v15/marketplace/{id}/report","GET v17/businesses","POST v17/businesses","POST v17/businesses/{id}/status","GET v17/announcements","POST v17/announcements","POST v17/announcements/{id}/status","GET v16/notifications","POST v16/notifications/read","GET agendas?upcoming=1","POST agendas/{id}/rsvp","GET polls?active=1","POST polls/{id}/vote","GET marketplace/items","POST marketplace/items","PATCH marketplace/items/{id}/status","GET payments/config","GET payments/students?month=8&year=2026","POST payments/confirmation","GET payments/my-confirmations?month=8&year=2026","GET payments/pending","POST payments/{id}/approve","POST payments/{id}/reject","POST payments/manual-receipt","POST payments/cash-receipt (legacy)","GET finance/ledger?month=8&year=2026","GET finance/history","POST finance/history/opening-balance","POST finance/history/dues","POST finance/history/transactions","POST finance/history/{id}/correction","GET students","POST students","POST students/{id}","PATCH students/{id} (legacy)","GET dues?month=8&year=2026","GET dues/settings","POST dues/settings","POST dues/generate","GET dues/student/{id}/history"]}}