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.
S. No. | 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 OBReadProduct object will be used for the call to:
GET /accounts/{AccountId}/product
GET /products
3.1 UML Diagram
3.2 Permission Codes
The resource requires the ReadProducts permission. The resource response payload does not differ depending on the permissions granted.
3.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 | ||
AccountID | 1..1 | OBReadProduct/Data/CASA/AccountID | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | 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 | ||
Name | 1..1 | OBReadProduct/Data/CASA/Name | Full name of the account holder | String | ||
BranchName | 1..1 | OBReadProduct/Data/CASA/BranchName | Branch Name | String | ||
AccountStatus | 1..1 | OBReadProduct/Data/CASA/AccountStatus | Specifies the status of account resource in code form. | String | ||
AccountClosed | 1..1 | OBReadProduct/Data/CASA/AccountClosed | Y or N | String | ||
Currency | 1..1 | OBReadProduct/Data/CASA/Currency | Identification of the currency in which the account is held. | 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 | 0..1 | OBReadProduct/Data/CASA/LienAmount | Lien amount marked | String | ||
ExchangeRate | 1..1 | OBReadProduct/Data/CASA/ExchangeRate | Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency). | 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 | ||
JointHoldersName | 0..1 | OBReadProduct/Data/CASA/JointHoldersName | List of joint account holder name | String | ||
Investment | 0..n | OBReadProduct/Data/Investment |
| OBReadProduct/Data/Investment | ||
AccountID | 1..1 | OBReadProduct/Data/Investment/AccountID | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | 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 | ||
Name | 1..1 | OBReadProduct/Data/Investment/Name | Full name of the account holder | String | ||
BranchName | 1..1 | OBReadProduct/Data/Investment/BranchName | Branch Name | String | ||
AccountStatus | 1..1 | OBReadProduct/Data/Investment/AccountStatus | Specifies the status of account resource in code form. | String | ||
AccountClosed | 1..1 | OBReadProduct/Data/Investment/AccountClosed | Y or N | String | ||
Currency | 1..1 | OBReadProduct/Data/Investment/Currency | Identification of the currency in which the account is held. | 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 | ||
ExchangeRate | 1..1 | OBReadProduct/Data/Investment/ExchangeRate | Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency). | 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 | ||
JointHoldersName | 0..1 | OBReadProduct/Data/Investment/JointHoldersName | List of joint account holder name | String | ||
Loans | 0..n | OBReadProduct/Data/Loans |
| OBReadProduct/Data/Loans | ||
AccountID | 1..1 | OBReadProduct/Data/Loans/AccountID | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | String | ||
LoanType | 1..1 | OBReadProduct/Data/Loans/LoanType | Type of loan as classified by the ASPSP | String | ||
ProductTypeDescription | 1..1 | OBReadProduct/Data/Loans/ProductTypeDescription | Full description of the product | String | ||
Name | 1..1 | OBReadProduct/Data/Loans/Name | Full name of the account holder | String | ||
BranchName | 1..1 | OBReadProduct/Data/Loans/BranchName | Branch Name | String | ||
AccountStatus | 1..1 | OBReadProduct/Data/Loans/AccountStatus | Specifies the status of account resource in code form. | String | ||
AccountClosed | 1..1 | OBReadProduct/Data/Loans/AccountClosed | Y or N | String | ||
Currency | 1..1 | OBReadProduct/Data/Loans/Currency | Identification of the currency in which the loan is held. | 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 | ||
ExchangeRate | 1..1 | OBReadProduct/Data/Loans/ExchangeRate | Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency). | 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 | ||
JointHoldersName | 0..1 | OBReadProduct/Data/Loans/JointHoldersName | List of joint account holder name | String | ||
CreditCards | 0..n | OBReadProduct/Data/CreditCards |
| OBReadProduct/Data//CreditCards | ||
CardNumber | 1..1 | OBReadProduct/Data/CreditCards/CardNumber | Card number (Masked card details) | String | ||
CardIssuer | 1..1 | OBReadProduct/Data/CreditCards/CardIssuer | Card issuer (e.g VISA) | String | ||
CardType | 1..1 | OBReadProduct/Data/CreditCards/CardType | Primary or Secondary | String | ||
ProductTypeDescription | 1..1 | OBReadProduct/Data/CreditCards/ProductTypeDescription | Full description of the product | String | ||
Name | 1..1 | OBReadProduct/Data/CreditCards/Name | Full Name | String | ||
BranchName | 1..1 | OBReadProduct/Data/CreditCards/BranchName | Branch Name | String | ||
CardStatus | 1..1 | OBReadProduct/Data/CreditCards/CardStatus | Specifies the status of card resource in code form. | String | ||
CardClosed | 1..1 | OBReadProduct/Data/CreditCards/CardClosed | Y or N | String | ||
Currency | 1..1 | OBReadProduct/Data/CreditCards/Currency | Identification of the currency in which the account is held. | String | ||
CardBalance | 1..1 | OBReadProduct/Data/CreditCards/CardBalance | Card Balance | String | ||
Rate | 1..1 | OBReadProduct/Data/CreditCards/Rate | Interest rate / profit rate for islamic banks | String | ||
CardLimit | 1..1 | OBReadProduct/Data/CreditCards/CardLimit | Card Limit | String | ||
MinimumDue | 1..1 | OBReadProduct/Data/CreditCards/MinimumDue | Minimum Amount payable | String | ||
TotalDue | 1..1 | OBReadProduct/Data/CreditCards/TotalDue | Total Amount payable | String | ||
PaymentDueDate | 1..1 | OBReadProduct/Data/CreditCards/PaymentDueDate | Payment Due date | DateTime | ||
AddOnCards | 1..1 | OBReadProduct/Data/CreditCards/AddOnCards | Number of add-on cards (supplementary cards) | String | ||
ExchangeRate | 1..1 | OBReadProduct/Data/CreditCards/ ExchangeRate | Factor used to convert an amount from one currency into another. This reflects the price at which one currency was bought with another currency. Usage: ExchangeRate expresses the ratio between UnitCurrency and QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency). | String | ||
CardIssueDate | 1..1 | OBReadProduct/Data/CreditCards/CardIssueDate | Card Issue date | DateTime | ||
CardClosingDate | 1..1 | OBReadProduct/Data/CreditCards/CardClosingDate | If the Card is closed then Account closed date should be available. | DateTime |
4. Usage Example
4.1 Specific Account
4.1.1 Request
|
4.1.2 Response
|
|
4.2 Bulk Account
4.2.1 Get Products Request
|
4.2.2 Get Products Response
|
|