Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel1
stylenone

1.

...

Version Control

Version

Date

Description of Changes

Bahrain OBF v1.0.0

25th Aug 2020

Initial Release

2. Overview

The supplementary account info 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.

 

...

3. 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

3.1products

supplementary-account-info

GET

GET /accounts/{AccountId}/product

Conditional

accounts

Authorization Code

No

 

 

OBReadProduct

2

products

GET

GET /productssupplementary-account-info

Optional

accounts

Authorization Authorisation Code

No

PaginationOBReadSupplementaryAccountInfoOBReadSupplementaryAccountInfo

 

...

OBReadProduct

 

...

3.1 GET /accounts/{AccountId}/

...

supplementary-account-info

An AISP may retrieve the account product information for a specific AccountId (which is retrieved in the call to GET /accounts). While this This endpoint is marked as Conditional, it will be Mandatory Optional 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

...

.

4. Data Model

The OBReadProduct OBReadSupplementaryAccountInfo OBReadSupplementaryAccountInfo object will be used for the call to:

  • GET /accounts/{AccountId}/product

  • GET /products

...

  • supplementary-account-info

4.1 UML Diagram

...

...

4.2 Permission Codes

The resource requires the ReadProducts ReadSupplementaryAccountInfo permission. The resource response payload does not differ depending on the permissions granted.

...

4.3 Data Dictionary

 

EnhancedDefinition

Name

Occurrence

XPath

Enhanced Definition

Class/ Datatype

Codes

Pattern

OBReadProductOBReadSupplementaryAccountInfo

 

OBReadProductOBReadSupplementaryAccountInfo

 

OBReadProductOBReadSupplementaryAccountInfo

 

 

Data

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data

 

OBReadProductOBReadSupplementaryAccountInfo/Data

 

 

CASAReadAccount

0..n1

OBReadProductOBReadSupplementaryAccountInfo/Data/CASAReadAccount

 

OBReadProductOBReadSupplementaryAccountInfo/Data/CASAReadAccount

 

 

AccountNumber AccountID 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CASAReadAccount/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)AccountID 

A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner

String

 

 

ProductTypeDescription DateTime 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CASAReadAccount/ProductTypeDescription 

Full description of the product

String

 

 

AccountName

1..1

OBReadProduct/Data/CASA/AccountName

Full account name

StringDateTime 

Date on which the account and related basic services are effectively operational for the account owner

DateTime

 

 

BranchName  ReadCASAInfo

10..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CASA/BranchName  

Branch Name

StringReadAccount/ReadCASAInfo

 

 

AccountStatus 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CASAReadAccount/AccountStatus 

One of ‘active’/’inactive’/'dormant'/’frozen’ (A/I/D/F)

String

ReadCASAInfo

 

 

AccountClosed LienAmount 

10..1

OBReadProductOBReadSupplementaryAccountInfo/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 

ReadAccount/ReadCASAInfo /LienAmount 

Lien amount marked

String

 

 

IBAN Rate

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CASAReadAccount/ReadCASAInfo /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.000Rate 

Rate charged for the account (where it is charged in terms of a rate rather than an amount)- In Islamic banking, this field is referred to as ‘Profit/ Charge’

String

 

 

AccountOpeningDate JointHolderName

10..1

OBReadProductOBReadSupplementaryAccountInfo/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

ReadAccount/ReadCASAInfo /JointHolderName

List of joint account holder CPRsname

String

 

 

InvestmentReadDepositInfo

0..n1

OBReadProductOBReadSupplementaryAccountInfo/Data/Investment

 

OBReadProduct/Data/InvestmentReadAccount/ReadDepositInfo

 

 

AccountNumber 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/Investment/AccountNumber 

Bank Account number

String

ReadAccount/ReadDepositInfo

 

 

AccountType Rate 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/ReadAccount/InvestmentReadDepositInfo /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

Rate 

Rate charged for the account (where it is charged in terms of a rate rather than an amount)- In Islamic banking, this field is referred to as ‘Profit/ Charge’

String

 

 

AccountName InitialDepositAmount 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/Investment/AccountName 

Full account name

String

 

 

BranchName 

1..1

OBReadProduct/Data/Investment/BranchName 

Branch NameReadAccount/ReadDepositInfo /InitialDepositAmount 

Initial deposit amount

String

 

 

AccountStatus DepositFrequency 

1..1

OBReadProductOBReadSupplementaryAccountInfo/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

 

 

ReadAccount/ReadDepositInfo /DepositFrequency

Regularity with which deposit are made/processed to the account

String

 Enum:

  • BH.OBF.Annually

  • BH.OBF.Quarterly

  • BH.OBF.StatementMonthly

  • BH.OBF.Weekly

  • BH.OBF.Daily

 

MaturityAmount 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/ReadAccount/InvestmentReadDepositInfo /MaturityAmount 

Maturity Amount

String

 

 

MaturityDate 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/InvestmentReadAccount/ReadDepositInfo /MaturityDate 

Maturity Date

DateTime

 

 

IBAN JointHolderName

10..1

OBReadProductOBReadSupplementaryAccountInfo/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/JointHoldersCPRsReadAccount/ReadDepositInfo /JointHolderName

List of joint account holder CPRsname

String

 

 

LoansReadLoanMortgageInfo

0..n

OBReadProduct/Data/Loans

 

OBReadProduct/Data/Loans

 

 

AccountNumber 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/LoansReadAccount/ 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

StringReadLoanMortgageInfo

In Islamic banking, this field is referred to as ‘Financing/ Property Finance'

OBReadSupplementaryAccountInfo/Data/ReadAccount/ ReadLoanMortgageInfo

 

 

AccountCurrency Rate 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/Loans/AccountCurrency 

Currency code

String

 

 

Rate 

1..1

OBReadProduct/Data/Loans/Rate 

Interest rate / profit rate for islamic banksReadAccount/ ReadLoanMortgageInfo /Rate 

Rate charged for the account (where it is charged in terms of a rate rather than an amount)- In Islamic banking, this field is referred to as ‘Profit/ Charge’

String

 

 

LoanAmount 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/ReadAccount/ LoansReadLoanMortgageInfo /LoanAmount 

Initial Loan Amount issued to the account- In Islamic banking, this field is referred to as ‘Finance Amount’

String

 

 

DisbursedAmount 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/LoansReadAccount/ ReadLoanMortgageInfo /DisbursedAmount 

Disbursed Amount till date to the account

String

 

 

OutstandingLoanAmount 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/ReadAccount/ LoansReadLoanMortgageInfo /OutstandingLoanAmount 

Outstanding Loan Amount- In Islamic banking, this field is referred to as ‘Outstanding Finance Amount’

String

 

 

Numberofinstallments 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/ReadAccount/ LoansReadLoanMortgageInfo /Numberofinstallments 

Number of installments

String

 

 

LoanTerms - Months LoanFrequency

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/ReadAccount/ LoansReadLoanMortgageInfo /LoanTerms - Months Deposit terms in months (in case of years convert to months)LoanFrequency 

Regularity with which the installment is applied to the Account

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 Enum:

  • BH.OBF.Annually

  • BH.OBF.Quarterly

  • BH.OBF.StatementMonthly

  • BH.OBF.Weekly

  • BH.OBF.Daily

 

JointHolderName

0..1

OBReadSupplementaryAccountInfo/Data/ReadAccount/ ReadLoanMortgageInfo /JointHolderName

List of joint account holder CPRsname

String

 

 

CreditCardsReadCreditCardInfo

0..n1

OBReadProductOBReadSupplementaryAccountInfo/Data/CreditCardsReadAccount/ ReadCreditCardInfo

 

OBReadProductOBReadSupplementaryAccountInfo/Data/ReadAccount/ CreditCardsReadCreditCardInfo

 

 

CardNumber Rate 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/ReadAccount/ CreditCardsReadCreditCardInfo /CardNumber Card NumberRate 

Rate charged for the account (where it is charged in terms of a rate rather than an amount)- In Islamic banking, this field is referred to as ‘Profit/ Charge’

String

 

 

CardIssuer CardLimit 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CreditCards/CardIssuer 

Card Issuer

String

 

 

CardType 

1..1

OBReadProduct/Data/CreditCards/CardType 

Card TypeReadAccount/ ReadCreditCardInfo /CardLimit 

Credit Limit applied to the account

String

 

 

ProductTypeDescription GracePeriod

10..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CreditCards/ProductTypeDescription 

Product type description

String

 

 

CardName 

1..1

OBReadProduct/Data/CreditCards/CardName 

Card NameReadAccount/ ReadCreditCardInfo/ GracePeriod

The duration after the due date during which the payment can be received without penalty

String

 

 

BranchName URL

10..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CreditCards/BranchName 

Branch Name

String

 

 

CardStatus 

1..1

OBReadProduct/Data/CreditCards/CardStatus 

Card statusReadAccount/ ReadCreditCardInfo/URL

Uniform resource locator of the specified product

String

 

 

CardClosed ReadEWalletInfo

10..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CreditCards/CardClosed 

Card Closed

StringReadAccount/ ReadEWalletInfo

 

 

CardCurrency 

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CreditCardsReadAccount/ CardCurrency ReadEWalletInfo

Card currency

String

 

 

CardBalance Charge

1..1

OBReadProductOBReadSupplementaryAccountInfo/Data/CreditCards/CardBalance 

Card Balance

String

 

 

Rate 

1..1

OBReadProduct/Data/CreditCards/Rate 

Rate

String

 

 

CardLimit 

1..1

OBReadProduct/Data/CreditCards/CardLimit 

Card LimitReadAccount/ ReadEWalletInfo/Charge

Fee charged for the account (where it is charged in terms of an amount)

 

String

 

 

MinimumDue ChargeFrequency

1..1

OBReadProductOBReadSupplementaryAccountInfo/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

4.1 Specific Account

...

ReadAccount/ ReadEWalletInfo/ChargeFrequency

Regularity with which the fee is applied to the Account

String

Enum:

  • BH.OBF.Annually

  • BH.OBF.Quarterly

  • BH.OBF.StatementMonthly

  • BH.OBF.Weekly

  • BH.OBF.Daily

 

 

5. Usage Example

5.1 Get Supplementary Account Info

5.1.1 Request

GET /accounts/22289/productsupplementary-account-info
Authorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL
x-fapi-auth-date: Tue, 22 Apr 2020 19:43:31 GMT+03:00
x-fapi-customer-ip-address: 204.35.213.15
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Accept: application/json

...

5.1.2 Response

200 OK
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Content-Type: application/json

Get Product Response

{

  "Data": {

                "CASAReadAccount": [      {

                                "AccountNumberAccountId": "22289",

                                "AccountType": "Savings Account",

        "ProductTypeDescription": "A financial account held by the individuals for carrying out transaction on a regular basis",

        "AccountName": "Asif Khan",

        "BranchName": "Manama",

        "AccountStatus": "A",

        "AccountClosed": "N",

        "AccountCurrency": "BHD",

        "AvailableBalance": "190000 BHD",

        "EffectiveAvailableBalance": "150000 BHD",

        "LienAmount": "1000 BHD",

        "IBAN": "BH10BBKU00100000008876",

        "ExchangeRate": "1",

        "AccountOpeningDate": "2019-04-22T07:07:54.469+03:00",

        "AccountClosingDate": "2032-04-22T07:07:54.469+03:00",

        "JointHoldersCPRs": "NA"

      }

    ]

  }

}

4.2 Bulk Account

4.2.1 Get Products Request

GET /products
Authoriszation: Bearer 4ZopnFZFKjr5zDsicSQpLL
x-fapi-auth-date: Tue, 22 Apr 2020 19:43:31 GMT+03:00
x-fapi-customer-ip-address: 204.35.213.15
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Accept: application/json

4.2.2 Get Products Response

200 OK
x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f
Content-Type: application/json

{
  "Data": {
    "CASA": [
      {
        "AccountNumber": "22289",
        "AccountType": "Savings Account",
        "ProductTypeDescription": "A financial account held by the individuals for carrying out transaction on a regular basis",
        "AccountName": "Asif Khan",
        "BranchName": "Manama",
        "AccountStatus": "A",
        "AccountClosed": "N",
        "AccountCurrency": "BHD",
        "AvailableBalance": "190000 BHD",
        "EffectiveAvailableBalance": "150000 BHD",
        "DateTime": "2015-04-22”

                        "ReadCASAInfo": [

                          {

                                    "LienAmount": "1000 BHD",

                                            "IBANRate": "BH10BBKU00100000008876",
        "ExchangeRate": "1",
        "AccountOpeningDate": "2019-04-22T07:07:54.469+03:00",
        "AccountClosingDate": "2032-04-22T07:07:54.469+03:00",
        "JointHoldersCPRs": "NA"
      }
    ],

 "Investment": [
      {
        "AccountNumber": "38980",
        "AccountType": "Current Account",
        "ProductTypeDescription": "A financial account held by the individuals that contains products related to short term and long term investments such as deposit of funds, securities, etc.",
        "AccountName": "Infra Limited",
        "BranchName": "Manama",
      "AccountStatus": "A",
        "AccountClosed": "N",
        "AccountCurrency": "BHD",
        "Rate": "8.00%",
        "InitialDepositAmount": "100000 BHD",
        "DepositTerms-Months": "12",
        "DepositTerms-Days": "0",
        "MaturityAmount": "108000 BHD",
        "MaturityDate": "2020-10-22T07:07:54.469+03:00",
        "IBAN": "BH10CBBU00100000001356",
        "ExchangeRate": "1",
        "AccountOpeningDate": "2019-04-22T07:07:54.469+03:00",
        "AccountClosingDate": "2032-04-22T07:07:54.469+03:00",
        "JointHoldersCPRs": "NA"
      }
    ]
  }

}5.00%",

                          }

                        ],

              }

                        ],

            }         

  }

}

CENTRAL BANK OF BAHRAIN © 2020