Add Bank Account
Add a bank account for a user. Supported for all jurisdictions.
| Country | Required Fields |
|---|---|
India (IND) | account_number, bank_code (IFSC format) |
UK (GBR) | account_holder_name, account_number (max 8 digits), bank_code (sort code), account_type, bank_name |
UAE (ARE) | account_holder_name, account_type, bank_name, bank_iban (23 chars, starts with AE) |
| Europe (EUR countries) | account_holder_name, bank_iban, account_type, bank_name |
Philippines (PHL) | account_number (no spaces), account_holder_name, bank_code |
For India, bank accounts go to PENDING and are validated asynchronously via penny-drop (a ₹1 deposit to confirm the account and match the account holder name against the user’s KYC legal_name). For the Philippines, accounts are approved instantly with no penny-drop step. Use Get Bank Codes for Philippines to look up valid bank_code values before calling this endpoint.
Response field values
| Field | Possible Values |
|---|---|
account_type | SAVINGS, CURRENT, JOINT, CHECKING |
validation_status | UNINITIATED, PENDING, APPROVED, DELETED, DELETED_BY_USER, REJECTED, NAME_REJECTED, VERIFICATION_REQUIRED |
routing_type | IFSC, ROUTING_NUMBER, SORT_CODE, BANK_CODE, IBAN, null |
is_nre | true if this is an Indian NRE (Non-Resident External) account — set automatically during penny-drop validation, not client-settable. See INR Payouts to NRE Bank Accounts. |
country | ISO alpha-3 country code. Omitted if not resolved. |
A user can have a limited number of APPROVED bank accounts at a time (error 304012 when exceeded) — the exact limit is configured per client/country; contact Saber to confirm yours.
Headers
Your API key (configured in credentials)
HMAC-SHA256 signature (auto-generated) To test manually: HMAC-SHA256 of apiKey + timestamp (or apiKey + timestamp + userId when X-User-Id is required), keyed with your API secret. The HMAC Generator flow computes this for you.
Unix timestamp in seconds (auto-generated) Unix seconds, e.g. Math.floor(Date.now() / 1000). Must match the timestamp used in the X-Signature computation.
Unique request identifier (auto-generated) Any unique string per request, e.g. a UUID.
User UUID (set above)
Body
ISO 3166-1 alpha-3 country code (e.g. IND, GBR, ARE).
Bank account number. Required for IND, GBR, PHL.
Full name of the account holder. Required for GBR, ARE, EUR countries, and PHL — not required for IND (matched against KYC legal_name via penny-drop instead).
Name of the bank. Required for GBR, PHL, and EUR countries.
Bank routing code — IFSC for IND, sort code for GBR, SWIFT/BIC for EUR countries.
Account type. Required for GBR, ARE, and EUR countries.
SAVINGS, CURRENT, CHECKING IBAN. Required for UAE (ARE) and European countries.
BIC / SWIFT code.
Routing type. Required for GBR (SORT_CODE) and EUR countries (IBAN).
SORT_CODE, IBAN, IFSC, ROUTING_NUMBER, BANK_CODE Related topics
User CreationGet Bank Codes for CountryFrequently Asked QuestionsUnderstanding the PlatformThrough API Endpoints