{"ok":true,"name":"BosNokos","baseUrl":"https://bosnokos.raffzdigital.biz.id","docs":"https://bosnokos.raffzdigital.biz.id/api-docs","auth":{"session":"Supabase Auth HTTP-only cookie","apiKey":"Authorization: Bearer bnk_... untuk /api/v1/*","admin":"role admin divalidasi server-side"},"policy":{"newUserStartingBalance":0,"loginBonusEnabled":false,"otpPriceStorage":"Harga OTP tidak disimpan permanen di database.","balanceMutation":"Semua mutasi saldo lewat PostgreSQL RPC atomik."},"endpoints":[{"group":"status","method":"GET","path":"/api/health/config","auth":"admin","description":"Health check khusus admin."},{"group":"status","method":"GET","path":"/api/maintenance/status","auth":"public","description":"Status maintenance untuk UI dan monitoring."},{"group":"status","method":"GET","path":"/trust","auth":"admin-page","description":"Trust Center khusus admin untuk status operasional."},{"group":"reviews","method":"GET","path":"/api/reviews","auth":"public","description":"Daftar ulasan published dari database dan seed review."},{"group":"reviews","method":"POST","path":"/api/reviews","auth":"user-session","description":"Submit ulasan user login. Langsung published, tanpa verifikasi admin."},{"group":"otp","method":"GET","path":"/api/otp/catalog/countries","auth":"user-session","description":"Daftar negara dari provider OTP aktif."},{"group":"otp","method":"GET","path":"/api/otp/catalog/services","auth":"user-session","description":"Produk OTP realtime. Harga tidak disimpan permanen."},{"group":"otp","method":"POST","path":"/api/otp/orders","auth":"user-session","description":"Order OTP dengan harga realtime dan debit saldo atomik."},{"group":"api-key","method":"GET","path":"/api/v1/me","auth":"bearer-api-key","description":"Profil, saldo, role, dan scope API key aktif."},{"group":"api-key","method":"GET","path":"/api/v1/catalog/countries","auth":"bearer-api-key","description":"Daftar negara dari provider OTP aktif."},{"group":"api-key","method":"GET","path":"/api/v1/catalog/operators","auth":"bearer-api-key","description":"Operator berdasarkan negara dari provider OTP aktif."},{"group":"api-key","method":"GET","path":"/api/v1/catalog/services","auth":"bearer-api-key","description":"Katalog OTP realtime untuk integrasi eksternal. Harga tetap dari provider."},{"group":"api-key","method":"POST","path":"/api/v1/otp/orders","auth":"bearer-api-key","description":"Buat order OTP via API key dengan debit saldo atomik."},{"group":"api-key","method":"GET","path":"/api/v1/orders","auth":"bearer-api-key","description":"Riwayat order OTP akun pemilik API key."},{"group":"api-key","method":"GET","path":"/api/v1/otp/orders/[id]/poll","auth":"bearer-api-key","description":"Cek OTP manual dan sinkron status provider."},{"group":"api-key","method":"POST","path":"/api/v1/otp/orders/[id]/cancel","auth":"bearer-api-key","description":"Batalkan order OTP aktif via API key dan refund saldo otomatis bila memenuhi syarat."},{"group":"api-key","method":"GET","path":"/api/v1/deposits","auth":"bearer-api-key","description":"Riwayat deposit akun pemilik API key."},{"group":"api-key","method":"POST","path":"/api/v1/deposits","auth":"bearer-api-key","description":"Buat deposit Pakasir via API key."},{"group":"api-key","method":"POST","path":"/api/v1/deposits/[id]/sync","auth":"bearer-api-key","description":"Sinkron status deposit Pakasir via API key."},{"group":"api-key","method":"POST","path":"/api/v1/deposits/[id]/cancel","auth":"bearer-api-key","description":"Batalkan deposit pending via API key."},{"group":"deposit","method":"POST","path":"/api/deposits","auth":"user-session","description":"Buat transaksi deposit Pakasir."},{"group":"deposit","method":"POST","path":"/api/deposits/[id]/sync","auth":"user-session","description":"Sinkron deposit pending ke Pakasir agar saldo masuk otomatis."},{"group":"deposit","method":"POST","path":"/api/deposits/[id]/cancel","auth":"user-session","description":"Batalkan deposit pending."},{"group":"developer","method":"GET","path":"/developer","auth":"public-page","description":"Dokumentasi developer dengan contoh request, API key, scopes, dan error code."},{"group":"webhook","method":"POST","path":"/api/pakasir/callback","auth":"provider-callback","description":"Callback Pakasir idempotent untuk saldo otomatis."}]}