Balance Enquiry
Retrieve single or multiple bank account balances
Singleview B2B API services Balance Enquiry allows the users with the access to request and retrieve specific user bank account balances. Corporate Customers can use this B2B service to enquire their real-time account Information which includes Customer Name, Account Status, Account Number, Account Currency and Available Balance.
Mandatory information
- The user must provide the valid credentials in the header
- Encrypted and valid Signature and an active "Access Token"
- Request format as specified with all the mandatory details with appropriate request tags
🌐Domain details
- Sandbox API - https://sandboxapi.onesingleview.com
- Production/LIVE API - To be provided upon onboarding
End-point details
Endpoint | HTTP Operation | Grant type | Service validations |
---|---|---|---|
/api/v1/account/balance | POST | The header should include: 1. clientId 2. clientCode 3. Access Token 4. SVReferenceID 5. CompanyId | - Encrypted and valid Signature - IPs Whitelisting - Token Validation - Valid/Active B2B company code - Valid SABB Account Number/IBAN number |
Sample request
curl --location 'https://sandboxapi.onesingleview.com/api/v1/account/balance' \
--header 'clientsecret: Enter-Client-Secret' \
--header 'clientid: Enter-Client-Id' \
--header 'SVReferenceID: Enter-SV-Reference-Id' \
--header 'Device: Device-type' \
--header 'DateTimeStamp: YYYY-MM-DDTHH:MM:SS' \
--header 'CompanyId: Enter-Company-Id' \
--header 'BaseCurrency: SAR' \
--header 'Authorization: Bearer <Enter-Token>' \
--header 'Content-Type: application/json' \
--data '{
"Message": {
"OSVBalanceEnquiryRequest": {
"StartDate": "YYYY-MM-DDTHH:MM:SS",
"EndDate": "YYYY-MM-DDTHH:MM:SS",
"DateTimeStamp": "YYYY-MM-DDTHH:MM:SS",
"SVRefId": "Enter_Singleview_Reference_ID",
"TransactionType": "Enter_Transaction_Type",
"OSVPaymentInfoMessage": [
{
"OSVPaymentInfoRequest": {
"BankCode": "Enter_Bank_Code",
"CompanyCode": "Enter_Company_Code",
"B2BIdentifier": "Enter_B2B_Identifier",
"B2BUserId": "Enter_B2B_User_ID",
"B2BUrn": "Enter_B2B_URN",
"B2BAggrId": "Enter_B2B_Aggregator_ID",
"AccountNumbers": {
"AccountNumber": [
{
"AccNumber": "Account_Number"
}
]
}
}
}
]
},
"Signature": "Enter_Signature_String"
}
Request description:
JSON Tag | Description | Data type |
---|---|---|
Message Mandatory | Header information (client credentials) | Object & String |
OSVBalanceEnquiryRequest Mandatory | Root node | Object |
Date Mandatory | Enquiry Date | String |
TransactionType Mandatory | Always it should be “BE” | String |
OSVPaymentInfoMessage Mandatory | This tag contains multiple banks requests | Object |
OSVPaymentInfoRequest Mandatory | Element root | Object |
BankCode Mandatory | Name of the bank. Ex: “ALRAJHI”, “SABB” | String |
CompanyCode Mandatory | Sender company code/Identifier provided by the bank during on-boarding | String |
AccountNumbers Mandatory | Array of accounts | Array of Strings |
AccountNumber Mandatory | Bank account number | String |
Signature Mandatory | Encrypted string obtained by processing request body with Private Key/Certificate through SHA-256 with RSA Algorithm (Crypto : JCE Sign) | String |
Sample responses
{
"OSVBalanceEnquiryResponse": {
"BalanceEnquiryResponseMessage": [
{
"BankCode": "ANB",
"CompanyCode": "Jazeera",
"B2BAggrId": "",
"B2BUserId": "",
"B2Burn": "",
"StatusCode": "OK",
"StatusDetail": "OK",
"ResponseItemCount": "",
"TotalAvailableBalance": 0.28,
"TotalAvailableBalanceUSD": "",
"TotalAvailableBalanceAED": "",
"TotalAvailableBalanceGBP": "",
"TotalAvailableBalanceINR": "",
"TotalAvailableBalanceKWD": "",
"TotalAvailableBalanceBHD": "",
"TotalAvailableBalanceEUR": "",
"TotalOpeningBalance": "",
"TotalOpeningBalanceUSD": "",
"TotalOpeningBalanceAED": "",
"TotalOpeningBalanceGBP": "",
"TotalOpeningBalanceINR": "",
"TotalOpeningBalanceKWD": "",
"TotalOpeningBalanceBHD": "",
"TotalOpeningBalanceEUR": "",
"TotalClosingBalance": 0.28,
"TotalClosingBalanceUSD": "",
"TotalClosingBalanceAED": "",
"TotalClosingBalanceGBP": "",
"TotalClosingBalanceINR": "",
"TotalClosingBalanceKWD": "",
"TotalClosingBalanceBHD": "",
"TotalClosingBalanceEUR": "",
"BalanceEnquiryResponse": [
{
"SequenceNum": "",
"ReceiptTime": null,
"AccountNumber": "0108057386290014",
"AccountCurrency": "SAR",
"AccountStatus": "",
"AccountStatusDesc": "",
"CustomerFullName": "",
"AccountType": null,
"AuthorizedOdLimit": "",
"LastCreditDate": "",
"LastCreditAmount": "",
"AvailableBalance": 0.28,
"AvailableBalanceLCY": "",
"OpeningBalanceLCY": "",
"OpeningBalance": "",
"ClosingBalance": 0.28,
"DebitAllowed": true,
"CreditAllowed": true,
"StatusCode": "OK",
"StatusDetail": "OK"
}
]
}
]
}
}
{
"OSVBalanceEnquiryResponse": {
"BalanceEnquiryResponseMessage": [
{
"BankCode": "ANB",
"CompanyCode": "Jazeera",
"B2BAggrId": "",
"B2BUserId": "",
"B2Burn": "",
"StatusCode": "Failed",
"StatusDetail": null,
"ResponseItemCount": "",
"TotalAvailableBalance": "",
"TotalAvailableBalanceUSD": "",
"TotalAvailableBalanceAED": "",
"TotalAvailableBalanceGBP": "",
"TotalAvailableBalanceINR": "",
"TotalAvailableBalanceKWD": "",
"TotalAvailableBalanceBHD": "",
"TotalAvailableBalanceEUR": "",
"TotalOpeningBalance": "",
"TotalOpeningBalanceUSD": "",
"TotalOpeningBalanceAED": "",
"TotalOpeningBalanceGBP": "",
"TotalOpeningBalanceINR": "",
"TotalOpeningBalanceKWD": "",
"TotalOpeningBalanceBHD": "",
"TotalOpeningBalanceEUR": "",
"TotalClosingBalance": "",
"TotalClosingBalanceUSD": "",
"TotalClosingBalanceAED": "",
"TotalClosingBalanceGBP": "",
"TotalClosingBalanceINR": "",
"TotalClosingBalanceKWD": "",
"TotalClosingBalanceBHD": "",
"TotalClosingBalanceEUR": "",
"BalanceEnquiryResponse": [
{
"SequenceNum": "",
"ReceiptTime": null,
"AccountNumber": "01080573862900141",
"AccountCurrency": null,
"AccountStatus": "",
"AccountStatusDesc": "",
"CustomerFullName": "",
"AccountType": null,
"AuthorizedOdLimit": "",
"LastCreditDate": "",
"LastCreditAmount": "",
"AvailableBalance": "",
"AvailableBalanceLCY": "",
"OpeningBalanceLCY": "",
"OpeningBalance": "",
"ClosingBalance": null,
"DebitAllowed": true,
"CreditAllowed": true,
"StatusCode": "Failed",
"StatusDetail": "Invalid Account Number"
}
]
}
]
}
}
Response description
JSON Tag | Description | Data type |
---|---|---|
OSVBalanceEnquiryResponse | Root node | Object |
BalanceEnquiryResponseMessage | Element root containing response of every bank | Object |
BankCode | Name of the bank Ex: “ALRAJHI”, “SABB” | String |
CompanyCode | Sender company code/Identifier provided by the bank during on-boarding | String |
StatusCode | Success/Failed | String |
StatusDetail | Success/Failed | String |
ResponseItemCount | No of the banks in the request | String |
TotalAvailableBalance | AvailableBalance | String |
TotalOpeningBalance | OpeningBalance | String |
TotalClosingBalance | ClosingBalance | String |
BalanceEnquiryResponse | This tag contains the status of the Bank Accounts | String |
SequenceNum | Count of the accounts per the bank | String |
ReceiptTime | Receipt Time of the Enquiry | String |
AccountNumber | Account Number | String |
AccountCurrency | Account Currency. Maximum length of Currency should be 3. E.g. SAR | String |
AccountType | Account Type (Current, Saving etc.) | String |
AccountStatus | Status of the Account (ACTIVE, DORMANT, UNCLAIMED, CLOSING, CLOSED, BLOCKED, DECEASED, INVALID) | String |
AccountStatusDesc | Reason for the Corresponding Account Status | String |
CustomerFullName | Account Holder Name | String |
AvailableBalance | Available Balance in Account (i.e) (Ledger Balance + OD limit) - Booked balance | String |
AvailableBalanceLCY | Available Balance in Local Currency | String |
OpeningBalance | OpeningBalance | String |
OpeningBalanceLCY | Opening Balance in Local Currency for Requested Account | String |
ClosingBalance | Closing Balance | String |
DebitAllowed | Debit is allowed from the account or not. The value will be either true or false | String |
CreditAllowed | Credit is allowed to the account or not. The value will be either true or false | String |
StatusCode | Status Code will be “OK” for Success or Failed | String |
StatusDetail | Status Detail will be “OK” for Success or Failed | String |
Updated about 2 months ago