{"openapi":"3.0.3","info":{"title":"LOTTO TOBANGA API","description":"REST API Lotto/Togel — coin, keagenan, betting 24 jenis game, settlement otomatis. Satu endpoint untuk semua perintah: POST /api/v1 dengan field \"method\". Autentikasi: agent_code + agent_token (body, query, atau header X-Agent-Code/X-API-Token).","version":"2.0.0"},"servers":[{"url":"https://api.lottobanga.online"}],"paths":{"/api/v1":{"post":{"summary":"Semua perintah API (RPC-style)","description":"Kirim {\"method\": \"...\", \"agent_code\": \"...\", \"agent_token\": \"...\", ...parameter}. Yang menentukan pekerjaannya adalah field method, bukan alamatnya. Dasar & saldo: ping, money_info (coin agent sendiri), get_balance (coin player). Player: create_player, player_detail, player_list, update_player, reset_player_password. Mutasi coin: deposit, withdraw, transaction_list. Betting: bet, bet_history, bet_detail, void_bet, manual_win (khusus head agent / super admin). Pasaran & hasil: pasaran_list, result_list, result_latest, launch_game. Untuk deposit/withdraw/bet/manual_win, sertakan ref_id sebagai kunci idempotensi supaya permintaan yang terkirim ulang tidak terhitung dua kali. Topup agent tidak lewat API: agent meminta penambahan coin langsung ke head agent-nya di dalam panel, sehingga jalur setoran, log panggilan, aturan permainan, dan input result sengaja tidak dibuka di sini.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["method"],"properties":{"method":{"type":"string","enum":["agent_balance","balance","bet","bet_detail","bet_history","bet_list","create_player","deposit","deposit_history","get_balance","get_balance_agent","get_balance_player","get_player_history","launch_game","manual_win","money_info","pasaran_list","ping","player_detail","player_list","report_pl","reset_player_password","result_latest","result_list","transaction_list","update_player","void_bet","win","winner_list","withdraw","withdraw_history"],"description":"Method yang dipanggil. Contoh request/response untuk tiap method ada di /panel/#apidocs."},"agent_code":{"type":"string","description":"Boleh lewat header X-Agent-Code."},"agent_token":{"type":"string","description":"Boleh lewat header X-API-Token."},"ref_id":{"type":"string","description":"Idempotency key untuk deposit/withdraw/bet/manual_win."}}}}}},"responses":{"200":{"description":"Sukses — {status: \"success\", success: true, msg: \"SUCCESS\", ...}"},"400":{"description":"INVALID_PARAMETER / GGR_NOT_SET"},"401":{"description":"INVALID_CREDENTIALS"},"403":{"description":"ACCESS_DENIED — kredensial benar, tetapi data atau method itu bukan hak Anda."},"404":{"description":"PLAYER_NOT_FOUND / BET_NOT_FOUND / PASARAN_NOT_FOUND / METHOD_NOT_FOUND (balasannya memuat daftar method yang tersedia)"},"409":{"description":"DUPLICATE_TRANSACTION / PLAYER_ALREADY_EXISTS"},"422":{"description":"INSUFFICIENT_FUNDS / BET_REJECTED (field failures memuat baris yang gagal)"},"429":{"description":"RATE_LIMITED — 180 permintaan per menit per IP."},"500":{"description":"INTERNAL_ERROR"}}}},"/api/togel/balance":{"get":{"summary":"Saldo coin agent (padanan money_info)"}},"/api/togel/balance/agent":{"get":{"summary":"Sama dengan /api/togel/balance"}},"/api/togel/balance/player":{"get":{"summary":"Saldo coin player (padanan get_balance)"}},"/api/togel/bet":{"post":{"summary":"Pasang bet"}},"/api/togel/win":{"post":{"summary":"Kredit kemenangan manual — head agent / super admin"}},"/api/togel/deposit":{"post":{"summary":"Deposit ke player"}},"/api/togel/withdraw":{"post":{"summary":"Withdraw dari player"}}},"components":{"securitySchemes":{"AgentToken":{"type":"apiKey","in":"header","name":"X-API-Token","description":"Dikombinasikan dengan header X-Agent-Code."}}},"tags":[{"name":"Lotto","description":"API Togel & Toto"}]}