1. Overview
The product resource is used by an AISP to retrieve the account product information for a specific AccountId.
The products resource is used by an AISP to retrieve the products for all authorised accounts linked to a specific account-request.
This resource description should be read in conjunction with a compatible Account Information Services API Profile.
2. Endpoints
Endpoints for the resource - and available methods.
Resource | HTTP Operation | Endpoint | Mandatory? | Scope | Grant Type | Idempotency Key | Parameters | Request Object | Response Object |
1 | products | GET/GET /accounts/{AccountId}/product | Conditional | accounts | Authorization Code | No |
|
| OBReadProduct |
2 | products | GET/GET /products | Optional | accounts | Authorization Code | No | Pagination |
| OBReadProduct |
2.1 GET /accounts/{AccountId}/product
An AISP may retrieve the account product information for a specific AccountId (which is retrieved in the call to GET /accounts). While this endpoint is marked as Conditional, it will be Mandatory for ASPSPs and account types covered in the CMA Order.
2.2 GET /products
If an ASPSP has implemented the bulk retrieval endpoints for products an AISP may optionally retrieve the products information in bulk. This endpoint will retrieve the products resources for all authorised accounts linked to a specific account-request
3. Data Model
The OBReadProduct2 object will be used for the call to:
GET /accounts/{AccountId}/product
GET /products
2.1 UML DIAGRAM
2.2 Permission Codes
The resource requires the ReadProducts permission. The resource response payload does not differ depending on the permissions granted.
2.3 Data Dictionary
Name | Occurrence | XPath | EnhancedDefinition | Class | Codes | Pattern |
OBReadProduct |
| OBReadProduct |
| OBReadProduct |
|
|
Data | 1..1 | OBReadProduct/Data |
| OBReadProduct/Data |
|
|
CASA | 0..n | OBReadProduct/Data/CASA |
| OBReadProduct/Data/CASA |
|
|
AccountNumber | 1..1 | OBReadProduct/Data/CASA/AccountNumber | Bank Account number | String |
|
|
AccountType | 1..1 | OBReadProduct/Data/CASA/AccountType | Type of account as classified by the ASPSP (eg. Savings Account, Current account) | String |
|
|
ProductTypeDescription | 1..1 | OBReadProduct/Data/CASA/ProductTypeDescription | Full description of the product | String |
|
|
AccountName | 1..1 | OBReadProduct/Data/CASA/AccountName | Full account name | String |
|
|
BranchName | 1..1 | OBReadProduct/Data/CASA/BranchName | Branch Name | String |
|
|
AccountStatus | 1..1 | OBReadProduct/Data/CASA/AccountStatus | One of ‘active’/’inactive’/'dormant'/’frozen’ (A/I/D/F) | String |
|
|
AccountClosed | 1..1 | OBReadProduct/Data/CASA/AccountClosed | Y or N | String |
|
|
AccountCurrency | 1..1 | OBReadProduct/Data/CASA/AccountCurrency | Currency code | String |
|
|
AvailableBalance | 1..1 | OBReadProduct/Data/CASA/AvailableBalance | Withdrawable balance + funds in clearing | String |
|
|
EffectiveAvailableBalance | 1..1 | OBReadProduct/Data/CASA/EffectiveAvailableBalance | Withdrawable balance | String |
|
|
LienAmount | 1..1 | OBReadProduct/Data/CASA/LienAmount | Lien amount marked | String |
|
|
IBAN | 1..1 | OBReadProduct/Data/CASA/IBAN | IBAN account number | String |
|
|
ExchangeRate | 1..1 | OBReadProduct/Data/CASA/ExchangeRate | Conversion rate in case of foreign currency (to BHD). In case the currency of the account is BHD, value will be 1.000 | String |
|
|
AccountOpeningDate | 1..1 | OBReadProduct/Data/CASA/AccountOpeningDate | Account opening date | DateTime |
|
|
AccountClosingDate | 1..1 | OBReadProduct/Data/CASA/AccountClosingDate | If the account is closed then Account closed date should be available. | DateTime |
|
|
JointHoldersCPRs | 0..1 | OBReadProduct/Data/CASA/JointHoldersCPRs | List of joint account holder CPRs | String |
|
|
Investment | 0..n | OBReadProduct/Data/Investment |
| OBReadProduct/Data/Investment |
|
|
AccountNumber | 1..1 | OBReadProduct/Data/Investment/AccountNumber | Bank Account number | String |
|
|
AccountType | 1..1 | OBReadProduct/Data/Investment/AccountType | Type of account as classified by the ASPSP (eg. Savings Account, Current account) | String |
|
|
ProductTypeDescription | 1..1 | OBReadProduct/Data/Investment/ProductTypeDescription | Full description of the product | String |
|
|
AccountName | 1..1 | OBReadProduct/Data/Investment/AccountName | Full account name | String |
|
|
BranchName | 1..1 | OBReadProduct/Data/Investment/BranchName | Branch Name | String |
|
|
AccountStatus | 1..1 | OBReadProduct/Data/Investment/AccountStatus | One of ‘active’/’inactive’/'dormant'/’frozen’ (A/I/D/F) | String |
|
|
AccountClosed | 1..1 | OBReadProduct/Data/Investment/AccountClosed | Y or N | String |
|
|
AccountCurrency | 1..1 | OBReadProduct/Data/Investment/AccountCurrency | Currency code | String |
|
|
Rate | 1..1 | OBReadProduct/Data/Investment/Rate | Interest rate / profit rate for islamic banks | String |
|
|
InitialDepositAmount | 1..1 | OBReadProduct/Data/Investment/InitialDepositAmount | Initial deposit amount | String |
|
|
DepositTerms- Months | 1..1 | OBReadProduct/Data/Investment/DepositTerms- Months | Deposit terms in months (in case of years convert to months) | String |
|
|
DepositTerms - Days | 1..1 | OBReadProduct/Data/Investment/DepositTerms - Days | Deposit term in days | String |
|
|
MaturityAmount | 1..1 | OBReadProduct/Data/Investment/MaturityAmount | Maturity Amount | String |
|
|
MaturityDate | 1..1 | OBReadProduct/Data/Investment/MaturityDate | Maturity Date | DateTime |
|
|
IBAN | 1..1 | OBReadProduct/Data/Investment/IBAN | IBAN account number | String |
|
|
ExchangeRate | 1..1 | OBReadProduct/Data/Investment/ExchangeRate | Conversion rate in case of foreign currency (to BHD). In case the currency of the account is BHD, value will be 1.000 | String |
|
|
AccountOpeningDate | 1..1 | OBReadProduct/Data/Investment/AccountOpeningDate | Account opening date | DateTime |
|
|
AccountClosingDate | 1..1 | OBReadProduct/Data/Investment/AccountClosingDate | If the account is closed then Account closed date should be available. | DateTime |
|
|
JointHoldersCPRs | 0..1 | OBReadProduct/Data/Investment/JointHoldersCPRs | List of joint account holder CPRs | String |
|
|
Loans | 0..n | OBReadProduct/Data/Loans |
| OBReadProduct/Data/Loans |
|
|
AccountNumber | 1..1 | OBReadProduct/Data/Loans/AccountNumber | Bank Account number | String |
|
|
LoanType | 1..1 | OBReadProduct/Data/Loans/LoanType | Type of account as classified by the ASPSP (eg. Savings Account, Current account) | String |
|
|
ProductTypeDescription | 1..1 | OBReadProduct/Data/Loans/ProductTypeDescription | Full description of the product | String |
|
|
AccountName | 1..1 | OBReadProduct/Data/Loans/AccountName | Full account name | String |
|
|
BranchName | 1..1 | OBReadProduct/Data/Loans/BranchName | Branch Name | String |
|
|
AccountStatus | 1..1 | OBReadProduct/Data/Loans/AccountStatus | One of ‘active’/’inactive’/'dormant'/’frozen’ (A/I/D/F) | String |
|
|
AccountClosed | 1..1 | OBReadProduct/Data/Loans/AccountClosed | Y or N | String |
|
|
AccountCurrency | 1..1 | OBReadProduct/Data/Loans/AccountCurrency | Currency code | String |
|
|
Rate | 1..1 | OBReadProduct/Data/Loans/Rate | Interest rate / profit rate for islamic banks | String |
|
|
LoanAmount | 1..1 | OBReadProduct/Data/Loans/LoanAmount | Initial Loan Amount | String |
|
|
DisbursedAmount | 1..1 | OBReadProduct/Data/Loans/DisbursedAmount | Disbursed Amount till date | String |
|
|
OutstandingLoanAmount | 1..1 | OBReadProduct/Data/Loans/OutstandingLoanAmount | Outstanding Loan Amount | String |
|
|
Numberofinstallments | 1..1 | OBReadProduct/Data/Loans/Numberofinstallments | Number of installments | String |
|
|
LoanTerms - Months | 1..1 | OBReadProduct/Data/Loans/LoanTerms - Months | Deposit terms in months (in case of years convert to months) | String |
|
|
DepositTerms - Days | 1..1 | OBReadProduct/Data/Loans/DepositTerms - Days | Deposit term in days | String |
|
|
IBAN | 1..1 | OBReadProduct/Data/Loans/IBAN | IBAN account number | String |
|
|
ExchangeRate | 1..1 | OBReadProduct/Data/Loans/ExchangeRate | Conversion rate in case of foreign currency (to BHD). In case the currency of the account is BHD, value will be 1.000 | String |
|
|
AccountOpeningDate | 1..1 | OBReadProduct/Data/Loans/AccountOpeningDate | Account opening date | DateTime |
|
|
AccountClosingDate | 1..1 | OBReadProduct/Data/Loans/AccountClosingDate | If the account is closed then Account closed date should be available. | DateTime |
|
|
JointHoldersCPRs | 0..1 | OBReadProduct/Data/Loans/JointHoldersCPRs | List of joint account holder CPRs | String |
|
|
CreditCards | 0..n | OBReadProduct/Data/CreditCards |
| OBReadProduct/Data//CreditCards |
|
|
CardNumber | 1..1 | OBReadProduct/Data/CreditCards/CardNumber | Card Number | String |
|
|
CardIssuer | 1..1 | OBReadProduct/Data/CreditCards/CardIssuer | Card Issuer | String |
|
|
CardType | 1..1 | OBReadProduct/Data/CreditCards/CardType | Card Type | String |
|
|
ProductTypeDescription | 1..1 | OBReadProduct/Data/CreditCards/ProductTypeDescription | Product type description | String |
|
|
CardName | 1..1 | OBReadProduct/Data/CreditCards/CardName | Card Name | String |
|
|
BranchName | 1..1 | OBReadProduct/Data/CreditCards/BranchName | Branch Name | String |
|
|
CardStatus | 1..1 | OBReadProduct/Data/CreditCards/CardStatus | Card status | String |
|
|
CardClosed | 1..1 | OBReadProduct/Data/CreditCards/CardClosed | Card Closed | String |
|
|
CardCurrency | 1..1 | OBReadProduct/Data/CreditCards/CardCurrency | Card currency | String |
|
|
CardBalance | 1..1 | OBReadProduct/Data/CreditCards/CardBalance | Card Balance | String |
|
|
Rate | 1..1 | OBReadProduct/Data/CreditCards/Rate | Rate | String |
|
|
CardLimit | 1..1 | OBReadProduct/Data/CreditCards/CardLimit | Card Limit | String |
|
|
MinimumDue | 1..1 | OBReadProduct/Data/CreditCards/MinimumDue | Minimum Due | String |
|
|
TotalDue | 1..1 | OBReadProduct/Data/CreditCards/TotalDue | Total Due | String |
|
|
PaymentDueDate | 1..1 | OBReadProduct/Data/CreditCards/PaymentDueDate | Payment Due date | DateTime |
|
|
AddOnCards | 1..1 | OBReadProduct/Data/CreditCards/AddOnCards | Add on cards | String |
|
|
ExchangeRate | 1..1 | OBReadProduct/Data/CreditCards/ ExchangeRate | ExchangeRate | String |
|
|
CardIssueDate | 1..1 | OBReadProduct/Data/CreditCards/CardIssueDate | Card Issue date | DateTime |
|
|
CardClosingDate | 1..1 | OBReadProduct/Data/CreditCards/CardClosingDate | Card closing date | DateTime |
|
|
4. Usage Example
A. Specific Account
|
Get Product Response
|
|
B. Bulk Account
Get Products Request
|
Get Products Response
|
|
} |