Validasi Rekening
Cocokkan nomor dan nama pemilik rekening di 130+ bank Indonesia.
Base URL
https://use.api.co.id
Kirim GET /validation/bank dengan query bank_code, account_number, dan account_name, plus header x-api-co-id. Response berisi is_valid, score kecocokan nama, dan nama pemilik yang di-mask (hanya jika valid). Daftar lengkap bank tersedia di GET /validation/bank/available.
Format kode bank
Kode bank bisa dikirim dalam dua format, keduanya diproses sama:
- Format pendek:
mandiri,bca,bri(otomatis dipetakan ke format lengkap) - Format lengkap:
bank_mandiri,bank_bca,bank_bri(dipakai apa adanya)
Bank yang didukung
130+ bank Indonesia, di antaranya:
| Bank | Kode |
|---|---|
| BCA (Bank Central Asia) | bca atau bank_bca |
| BRI (Bank Rakyat Indonesia) | bri atau bank_bri |
| BNI (Bank Negara Indonesia) | bni atau bank_bni |
| BSI (Bank Syariah Indonesia) | bsi atau bank_bsm |
| Mandiri (Bank Mandiri) | mandiri atau bank_mandiri |
| SeaBank (SeaBank Indonesia) | seabank atau bank_kesejahteraan_ekonomi |
Gunakan endpoint Get Available Banks (GET /validation/bank/available) untuk melihat daftar lengkapnya.
Field response
| Field | Keterangan |
|---|---|
is_valid | Boolean, true jika validasi rekening lolos |
score | Float 0.0–10.0, tingkat keyakinan kecocokan nama |
name | Nama pemilik yang di-mask: 3 karakter pertama + **** (hanya jika valid, null jika tidak valid) |
message | Pesan status hasil validasi |
note | Catatan tambahan (string kosong jika valid, "Name was not returned" jika validasi gagal) |
Cara kerja
- Verifikasi rekening secara real-time.
- Fuzzy name matching dengan skor keyakinan.
- Retry otomatis dengan fallback.
- Masking nama untuk menjaga privasi.
Validate Bank Account
Validate a bank account number and account holder name.
### Example Request
``bash curl --location 'http://localhost:3003/validation/bank?bank_code=bank_bri&account_number=110601003647539&account_name=John%20Doe' \ --header 'x-api-co-id: your-api-key'
### Query Parameters
- bank_code (required): Bank code identifier
- Can be short format: mandiri, bca, bri, bni, bsi, seabank
- Or full format: bank_mandiri, bank_bca, bank_bri, bank_bni, bank_bsm, bank_kesejahteraan_ekonomi
- Use GET /validation/bank/available to see all 130+ supported banks
- account_number (required): Bank account number to validate - account_name (required): Account holder name to match against bank records
### Response Returns validation result with: - is_valid: Boolean indicating if validation passed - score: Name matching score (0.0 to 10.0, >= 7.0 is valid) - name: Masked account name showing first 3 chars + ** (only if valid, null if invalid) - message: Status message - note**: Additional note (empty if valid, "Name was not returned on invalid validation" if failed)
### Validation Logic 1. Validates bank account number and account holder name 2. Returns match score (0.0 to 10.0) indicating validation confidence 3. Score >= 7.0 indicates successful validation 4. Valid names are masked for privacy (e.g., "Rif** Eln**")
| Nama | Tipe | Keterangan |
|---|---|---|
bank_codeWajib | string | Bank code - can be short format (mandiri, bca, bri) or full format (bank_mandiri, bank_bca, bank_bri). Use GET /validation/bank/available to see all supported banks. Contoh: bank_bri |
account_numberWajib | string | Bank account number Contoh: 110601003647539 |
account_nameWajib | string | Account holder name to validate Contoh: John Doe |
| Nama | Tipe | Keterangan |
|---|---|---|
is_successOpsional | boolean | Contoh: true |
messageOpsional | string | Contoh: Success |
dataOpsional | object | |
data.is_validOpsional | boolean | Boolean indicating if account validation passed Contoh: true |
data.scoreOpsional | number | Name matching score (0.0 to 10.0, >= 7.0 is valid) Contoh: 8.5 |
data.nameOpsional | string | Masked account name showing first 3 chars + **** (only if valid, null if invalid) Contoh: Rif**** Eln**** |
data.messageOpsional | string | Status message describing the validation result Contoh: Validation successful |
data.noteOpsional | string | Additional note (empty string if valid, "Name was not returned" if validation failed) Contoh: |
curl -X GET "https://use.api.co.id/validation/bank?bank_code=bank_bri&account_number=110601003647539&account_name=John%20Doe" \ -H "x-api-co-id: $API_CO_ID_KEY"{ "is_success": true, "message": "Success", "data": { "is_valid": true, "score": 8.5, "name": "Rif**** Eln****", "message": "Validation successful", "note": "" }}Get Available Banks
Get the complete list of all available banks supported by the validation API.
### Response Returns a list of all supported banks with: - banks: Array of bank objects - bank_name: Full name of the bank (e.g., "MANDIRI", "BCA", "BRI") - bank_code: Bank code to use in validation requests (e.g., "bank_mandiri", "bank_bca", "bank_bri") - total: Total number of supported banks (130+)
### Usage Use this endpoint to: - Discover all supported banks - Get the correct bank code for validation requests - Build dynamic bank selection dropdowns in your application
### Bank Code Format
You can use either:
- Short format: Remove bank_ prefix (e.g., use mandiri instead of bank_mandiri)
- Full format: Use the exact bank_code from the response
Both formats work the same way in validation requests.
| Nama | Tipe | Keterangan |
|---|---|---|
is_successOpsional | boolean | Contoh: true |
messageOpsional | string | Contoh: Success |
dataOpsional | object | |
data.banksOpsional | object[] | |
data.banks[].bank_nameOpsional | string | Contoh: MANDIRI |
data.banks[].bank_codeOpsional | string | Contoh: bank_mandiri |
data.totalOpsional | integer | Total number of supported banks Contoh: 130 |
curl -X GET "https://use.api.co.id/validation/bank/available" \ -H "x-api-co-id: $API_CO_ID_KEY"{ "is_success": true, "message": "Success", "data": { "banks": [ { "bank_name": "MANDIRI", "bank_code": "bank_mandiri" }, { "bank_name": "BCA", "bank_code": "bank_bca" }, { "bank_name": "BRI", "bank_code": "bank_bri" }, { "bank_name": "BNI", "bank_code": "bank_bni" }, { "bank_name": "BSI (BANK SYARIAH INDONESIA)", "bank_code": "bank_bsm" }, { "bank_name": "SEABANK/BANK BKE", "bank_code": "bank_kesejahteraan_ekonomi" } ], "total": 130 }}Use case
Payment gateway
Verifikasi rekening untuk kebutuhan payment gateway.
Registrasi e-wallet
Validasi rekening pengguna saat registrasi e-wallet.
Onboarding layanan keuangan
Cek rekening saat onboarding layanan keuangan.
Kepatuhan KYC
Cocokkan nomor rekening dan nama pemilik untuk kepatuhan KYC (Know Your Customer).
Verifikasi kepemilikan rekening
Pastikan rekening sesuai dengan nama pemilik yang diberikan.
Pencegahan fraud
Gunakan hasil validasi rekening untuk mencegah fraud.