Account Aggregation
Connect multiple accounts and get real-time information
Introduction
Account Aggregation API services offer a secure and convenient way to access and manage financial information from various institutions through a centralized platform. This process is underpinned by rigorous security measures, user consent, and compliance with relevant regulations, ensuring the protection and privacy of the user's financial data.
Account aggregation lets you fetch real-time account information, balances, transactions, etc.
Consent
User consent is the primary requirement to access any services in Open Banking. The user or account holder grants explicit consent to a Third-Party to access their financial data. This consent is given through a secure, multi-factor authentication process to verify the user's identity.
The consent request must include the following details:
Endpoint | useCaseType Value | permissions Value |
---|---|---|
/v1/api/observice/connect | ACCOUNTAGGREGATION | ReadAccountsBasic ReadAccountsDetail ReadBalances ReadBeneficiariesBasic ReadBeneficiariesDetail ReadDirectDebits ReadTransactionsBasic ReadTransactionsCredits ReadTransactionsDebits ReadTransactionsDetail ReadProducts ReadStandingOrdersDetail ReadStandingOrdersDetail ReadStatementsDetail ReadParty ReadPartyPSU ReadPartyPSUIdentity |
Check Consent Management for more details to create, view, and revoke consents.
How it works?
The image below represents data usage within an App from account aggregation services using SingleView APIs.
Get Account Aggregation Services
Endpoint details
Endpoint URL | Method | Authentication requirements |
---|---|---|
/v1/api/observice/accountAggregation | POST | 1. clientId 2. clientCode 3. signature 4. Authorization Bearer: Token |
Sample request
{
"dateTimeStamp": "YYYY-MM-DDTHH:MM:SS",
"requestID": "Enter_Request_Id",
"merchantId": "Enter_Merchant_Id",
"fromDate": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"toDate": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"accountAggregation" : true,
"banks": [
{
"code": "Enter_Bank_Code",
"consentId":"Enter_Consent_Id"
}
]
}
Request description
JSON Tag | Description | Data type |
---|---|---|
DateTimeStamp Mandatory | Stamp denoting the date and time of the request | String |
RequestID Mandatory | Unique request identification | String |
merchantId Mandatory | Unique merchant identification | String |
fromDate Mandatory | Initial date of transaction period | String |
toDate Mandatory | Final date of transaction period | String |
accountAggregation Mandatory | Account aggregation service tag to be denoted as true | Boolean |
banks Mandatory | Array of banks and consents | Object |
code Mandatory | Unique bank identification code | String |
consentId Mandatory | Unique consent identification | String |
Sample response
{
"success": true,
"payload": [
{
"code": "Bank_Code",
"data": {
"account": [
{
"accountId": "Account_Id",
"accountHolderName": "Account_Holder_Name",
"accountHolderShortName": "Account_Holder_Short_Name",
"status": "Account_Status",
"currency": "Currency",
"nickname": "Account_Nickname",
"accountType": "Account_Type",
"accountSubType": "Account_Sub_Type",
"accountIdentifiers": [
{
"identificationType": "Identification_Type",
"identification": "Identification_Details",
"name": "Name"
},
{
"identificationType": "Identification_Type",
"identification": "Identification_Details",
"name": "Name"
}
],
"servicer": {
"identificationType": "Servicer_Identification_Type",
"identification": "Servicer_Identification"
},
"statusUpdateDateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"description": "Account_Description",
"openingDate": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"maturityDate": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"balance": [
{
"amount": {
"amount": "0000.00",
"currency": "Currency"
},
"creditDebitIndicator": "Credit_or_Debit",
"type": "Type_Indicator",
"dateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"creditLine": [
{
"included": true,
"type": "Credit_Line_Type",
"amount": {
"amount": "0000.00",
"currency": "Currency"
}
}
]
}
],
"creditData": {
"transactions": [
{
"transactionId": "Transaction_Id",
"transactionDateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"transactionReference": "Transaction_Reference",
"transactionType": "Transaction_Type",
"subTransactionType": "Transaction_Sub_Type",
"paymentModes": "Payment_Modes",
"creditDebitIndicator": "Credit_Debit_Indicator",
"status": "Status",
"transactionMutability": "Transaction_Mutability",
"bookingDateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"valueDateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"amount": {
"amount": "0.00",
"currency": "Currency"
},
"chargeAmount": {
"amount": "0.00",
"currency": "Currency",
"chargeIncluded": true, "or": false
},
"balance": {
"creditDebitIndicator": "Credit_Debit_Indicator",
"type": "Type",
"amount": {
"amount": "00.00",
"currency": "Currency"
}
},
"merchantDetails": {
"merchantName": "Merchant_Name",
"merchantCategoryCode": "Merchant_Category_Code",
"merchantId": "Merchant_Id\r\n "},
"localTimeZone": "XXX+HH:MM",
"terminalId": "terminal_Id",
"chargeAmountVat": {
"amount": "00.0000",
"currency": "Currency"
},
"flags": [
"Flag_Details"
],
"cardInstrument": {
"cardSchemeName": "Card_Scheme_Name",
"instrumentType": "Instrument_Type",
"name": "Name",
"identification": "Identification_Details"
},
"creditorAccount": [
{}
],
"debtorAccount": {
"identificationType": "Debit_Account",
"identification": "Identification_Details",
"name": "Name"
},
"transactionInformation": "Transaction_Info",
"bankTransactionCode": {
"domain": "Domain",
"domainCode": "Domain_Code",
"family": "Family",
"familyCode": "Family_Code",
"subFamily": "Sub_Family",
"subFamilyCode": "Sub_Family_Code"
},
"proprietaryBankTransactionCode": {
"code": "Code",
"issuer": "Issuer"
},
"creditorAgent": {
"identificationType": "Identification_Type",
"identification": "Identification",
"postalAddress": {
"addressType": "Address_Type",
"streetName": "Street_Name",
"buildingNumber": "Building_Number",
"postalCode": "Postal_Code",
"city": "City_Name",
"country": "Country",
"shortAddress": "Short_Address",
"unitNumber": "Unit_Number",
"secondaryNumber": "Secondary_Number",
"district": "District"
},
"name": "Name"
},
"debtorAgent": {
"identificationType": "Identification_Type",
"identification": "Identification",
"postalAddress": {
"addressType": "Address_Type",
"streetName": "Street_Name",
"buildingNumber": "Building_Number",
"postalCode": "Postal_Code",
"city": "City_Name",
"country": "Country",
"shortAddress": "Short_Address",
"unitNumber": "Unit_Number",
"secondaryNumber": "Secondary_Number",
"district": "District"
},
"name": "Name"
},
"billDetails": {
"billerId": "Biller_Id",
"billNumber": "Bill_Number",
"billPaymentType": "Bill_Payment_Type"
},
"merchantCategoryCode": "Merchant_Category_Code"
},
{
"transactionId": "Transaction_Id",
"transactionDateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"transactionReference": "Transaction_Reference",
"transactionType": "Transaction_Type",
"subTransactionType": "Transaction_Sub_Type",
"paymentModes": "Payment_Modes",
"creditDebitIndicator": "Credit_Debit_Indicator",
"status": "Status",
"transactionMutability": "Transaction_Mutability",
"bookingDateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"valueDateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"amount": {
"amount": "0.00",
"currency": "Currency"
},
"chargeAmount": {
"amount": "0.00",
"currency": "Currency",
"chargeIncluded": true, "or": false
},
"balance": {
"creditDebitIndicator": "Credit_Debit_Indicator",
"type": "Type",
"amount": {
"amount": "00.00",
"currency": "Currency"
}
},
"merchantDetails": {
"merchantName": "Merchant_Name",
"merchantCategoryCode": "Merchant_Category_Code",
"merchantId": "Merchant_Id\r\n "},
"localTimeZone": "XXX+HH:MM",
"terminalId": "terminal_Id",
"chargeAmountVat": {
"amount": "00.0000",
"currency": "Currency"
},
"flags": [
"Flag_Details"
],
"cardInstrument": {
"cardSchemeName": "Card_Scheme_Name",
"instrumentType": "Instrument_Type",
"name": "Name",
"identification": "Identification_Details"
},
"creditorAccount": [
{}
],
"debtorAccount": {
"identificationType": "Debit_Account",
"identification": "Identification_Details",
"name": "Name"
},
"transactionInformation": "Transaction_Info",
"bankTransactionCode": {
"domain": "Domain",
"domainCode": "Domain_Code",
"family": "Family",
"familyCode": "Family_Code",
"subFamily": "Sub_Family",
"subFamilyCode": "Sub_Family_Code"
},
"proprietaryBankTransactionCode": {
"code": "Code",
"issuer": "Issuer"
},
"creditorAgent": {
"identificationType": "Identification_Type",
"identification": "Identification",
"postalAddress": {
"addressType": "Address_Type",
"streetName": "Street_Name",
"buildingNumber": "Building_Number",
"postalCode": "Postal_Code",
"city": "City_Name",
"country": "Country",
"shortAddress": "Short_Address",
"unitNumber": "Unit_Number",
"secondaryNumber": "Secondary_Number",
"district": "District"
},
"name": "Name"
},
"debtorAgent": {
"identificationType": "Identification_Type",
"identification": "Identification",
"postalAddress": {
"addressType": "Address_Type",
"streetName": "Street_Name",
"buildingNumber": "Building_Number",
"postalCode": "Postal_Code",
"city": "City_Name",
"country": "Country",
"shortAddress": "Short_Address",
"unitNumber": "Unit_Number",
"secondaryNumber": "Secondary_Number",
"district": "District"
},
"name": "Name"
},
"billDetails": {
"billerId": "Biller_Id",
"billNumber": "Bill_Number",
"billPaymentType": "Bill_Payment_Type"
},
"merchantCategoryCode": "Merchant_Category_Code"
}
],
"count": "00",
"totalAmount": "0000.00",
"merchantCodeList": [
{
"code": "Merchant_Code",
"count": "00",
"amount": "0000.00",
"avgAmount": "000.00"
}
]
}
},
{
"accountId": "Account_Id",
"accountHolderName": "Account_Holder_Name",
"accountHolderShortName": "Account_Holder_Short_Name",
"status": "Account_Status",
"currency": "Currency",
"nickname": "Account_Nickname",
"accountType": "Account_Type",
"accountSubType": "Account_Sub_Type",
"accountIdentifiers": [
{
"identificationType": "Identification_Type",
"identification": "Identification_Details",
"name": "Name"
},
{
"identificationType": "Identification_Type",
"identification": "Identification_Details",
"name": "Name"
}
],
"servicer": {
"identificationType": "Servicer_Identification_Type",
"identification": "Servicer_Identification"
},
"statusUpdateDateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"description": "Account_Description",
"openingDate": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"maturityDate": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"balance": [
{
"amount": {
"amount": "0000.00",
"currency": "Currency"
},
"creditDebitIndicator": "Credit_or_Debit",
"type": "Type_Indicator",
"dateTime": "YYYY-MM-DDTHH:MM:SS.SSSZ",
"creditLine": [
{
"included": true,
"type": "Credit_Line_Type",
"amount": {
"amount": "0000.00",
"currency": "Currency"
}
}
]
}
]
}
],
"totalOpeningBalance": "0000",
"totalAvailableBalance": "0000",
"totalClosingAvailable": "0000",
"currency": "Currency"
},
"links": {
"self": "https://"
},
"meta": {
"totalPages": 0
}
}
],
"overAllBalance": {
"totalOpeningBalance": "0000",
"totalAvailableBalance": "0000",
"totalClosingAvailable": "0000",
"currency": "Currency"
},
"overAllTxns": {
"totalCredit": "0000.00",
"totalCreditCount": "00",
"totalDebit": 0,
"totalDebitCount": 0
}
}
Response description
JSON Tag | Description |
---|---|
success | Process success status represented as true or false |
payload | Tag carrying the response information |
code | Unique bank identification code |
data | Tag carrying the response data of the accounts |
account | Tag carrying a specific account information |
accountId | Unique bank account identification code |
accountHolderName | Full name of the account holder |
accountHolderShortName | Short name of the account holder |
status | Current status of the account as active or inactive |
currency | Default currency of the account |
nickname | Nickname of the account holder |
accountType | Type of the account |
accountSubType | Sub-type of the account |
accountIdentifiers | Account identifiers information tag |
identificationType | Type of account identification |
identification | Unique identification details |
name | Name of the account as per identification |
servicer | Account servicer details tag |
identificationType | Type of servicer account identification |
identification | Unique servicer identification details |
statusUpdateDateTime | Effective date and time of the last update of account information |
description | Description of the account information |
openingDate | Date of opening of the bank account |
maturityDate | Date of maturity of the bank account |
balance | Tag carrying account balance information |
amount | Tag carrying cash balance information |
amount | Cash balance amount |
currency | Default currency of the account in which the balance is indicated |
creditDebitIndicator | Indicates whether the balance is a credit or a debit balance |
type | Indicator type details |
dateTime | Date and time information of the indicator |
creditLine | Tag carrying credit line information |
included | Status of credit line as included or excluded |
type | Type of credit line details |
amount | Tag carrying amount information of credit line |
amount | Available amount in credit line |
currency | Currency in which the credit line balance is indicated |
creditData | Tag carrying information on credit data |
transactions | Tag carrying account transactions information |
transactionId | Unique transaction identification |
transactionDateTime | Time and date of the transaction executed |
transactionReference | Unique transaction reference details |
transactionType | Type of transaction |
subTransactionType | Sub-type of the transaction |
paymentModes | Mode of the payment |
creditDebitIndicator | Credit or debit indicator for the transaction |
status | Status of the transaction |
transactionMutability | Mutability factor of the transaction |
bookingDateTime | Date and time of booking the transaction |
valueDateTime | Date and time of transaction value |
amount | Tag carrying transaction amount information |
amount | Transaction amount |
currency | Default currency of the account in which the transaction amount is indicated |
chargeAmount | Tag carrying transaction charges information |
amount | Total amount charged for the transaction |
currency | Default currency of account in which the transaction charge amount is indicated |
chargeIncluded | Indicates if the charge amount is included in transaction amount as true or false |
balance | Balance info after the transaction |
creditDebitIndicator | Indicates whether the balance is a credit or a debit balance |
type | Indicator type details |
amount | Tag carrying balance amount information |
amount | Available amount balance |
currency | Currency in which the balance is indicated |
merchantDetails | Tag carrying merchant details |
merchantName | Name of the merchant |
merchantCategoryCode | Assigned merchant category code |
merchantId | Unique merchant identification |
localTimeZone | Local time zone information |
terminalId | Unique terminal identification |
chargeAmountVat | Tag carrying VAT amount charges and details |
amount | VAT amount charged |
currency | Currency of VAT amount charged indicated |
flags | Tag carrying flags as array of strings |
cardInstrument | Tag carrying card details |
cardSchemeName | Scheme name description of the card |
instrumentType | Type of instrument used for the card payment |
name | Name on the card |
identification | Unique card identification |
creditorAccount | Tag carrying creditor account information |
debtorAccount | Tag carrying debtor account information |
identificationType | Type of identification of the account |
identification | Account identification details |
name | Name of the account holder |
transactionInformation | Details of the transaction information |
bankTransactionCode | Tag carrying transaction bank codes |
domain | Domain details |
domainCode | Domain code |
family | Domain family details |
familyCode | Domain family code |
subFamily | Domain sub-family details |
subFamilyCode | Domain sub-family code |
proprietaryBankTransactionCode | Tag representing proprietary bank transaction code and details |
code | Unique proprietary transaction code |
issuer | Name of the issuer of the code |
creditorAgent | Tag carrying creditor agent information |
debtorAgent | Tag carrying debtor agent information |
identificationType | Type of identification of the creditor/debtor account |
identification | Unique identification details of the creditor/debtor account |
postalAddress | Postal address of the creditor/debtor account |
addressType | Address type on the creditor/debtor account |
streetName | Street name on the creditor/debtor account |
buildingNumber | Building number of the creditor/debtor account |
postalCode | Postal code on the creditor/debtor |
city | City of the creditor/debtor |
country | Country of the creditor/debtor |
shortAddress | Short address of the creditor/debtor |
unitNumber | Unit number of the creditor/debtor |
secondaryNumber | Secondary number of the creditor/debtor |
district | District of the creditor/debtor |
name | Name of the creditor/debtor |
billDetails | Tag carrying bill details |
billerId | Unique biller identification |
billNumber | Bill number |
billPaymentType | Payment type for the bill |
merchantCategoryCode | Merchant Category Code |
overallBalance | Tag carrying information on overall balances |
totalOpeningBalance | Total opening balance |
totalAvailableBalance | Total available balance |
totalClosingBalance | Total closing balance |
currency | Currency of the overall balance indicated |
links | Redirect link |
self | Own link/URL details |
meta | Meta tag |
totalPages | Information displayed in terms of pages |
overAllTxns | Tag carrying information on the overall transactions included in the response |
totalCredit | Total credit amount found in the response |
totalCreditCount | Total number of crediting transactions in the response |
totalDebit | Total debit amount found in the response |
totalDebitCount | Total number of debiting transactions in the response |
Updated 6 months ago