3.0.0 • Published 5 years ago

@datafire/nbg_gr v3.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

@datafire/nbg_gr

Client library for Account and Transaction API Specification - UK

Installation and Usage

npm install --save @datafire/nbg_gr
let nbg_gr = require('@datafire/nbg_gr').create({
  "Client-Id": ""
});

.then(data => {
  console.log(data);
});

Description

Functionality at a glance

The NBG "UK OPB - Account and Transaction v3.1.5" API follows the UK Open Banking Specification v3.1.5

This Account and Transaction API Specification describes the flows and payloads for retrieving a list of accounts and their transactions.

The API endpoints described here allow a AISP to:

  • Create the Consent with the appropriate permissions in order to be able to access the API Endpoints

  • Retrieve the list of accounts

  • Retrieve an account's details

  • Retrieve an account's balances

  • Retrieve an account's transactions

  • Retrieve an account's beneficiaries

  • Retrieve an account's standing orders

  • Retrieve an account's party

  • Retrieve an account's scheduled payments

  • Retrieve an account's statements

Quick Getting Started

  1. Login/Register to the NBG Technology HUB

  2. Go to "APPS"

  3. Select your Organization and go to step 4. If you want to create a new Organization click \"CREATE AN ORGANIZATION\" and follow the steps below:

    1. Enter the title of your Organization
    2. Enter a short description of your Organization (optional)
    3. Click "SUBMIT"
  4. Select the Organization of choice and click "ADD AN APPLICATION"

    1. Fill in the forms (title and short description)
    2. Check \"Authorization Code\" and \"Client Credentials\"
    3. Enter the OAuth Redirect and Post Logout URIs (these are the URIs that we will redirect the user upon logging in and logging out respectively)

      You can use the following redirect URL to easily test the API through the portal: https://developer.nbg.gr/oauth2/redoc-callback

    4. Click "SUBMIT"

    5. Store the APPs "Client ID" and "Client Secret"
  5. Go to "API PRODUCTS" and select the ACCOUNT INFORMATION - UK OPEN BANKING API

  6. Click \"START USING THIS API\", choose your app and click "SUBSCRIBE"

  7. Get an Access Token using the Access Token Flow and the API scopes provided in the Authentication and Authorization (OAuth2) section below

  8. Create a Sandbox

  9. Play with the API

Sandbox Flow

The Sandbox Flow matches the Production Flow. The difference lies into the Data used. Instead of live data, the Sandbox flow uses mocked data.

Production Flow

The Production Flow is described in the UK Open Banking v3.1.5 Specification

More details about the implementation specifics followed, please visit section UK OPB Implementation Specifics

Authentication and Authorization (OAuth2)

This API version uses the OAuth2 protocol for authentication and authorization, which means that a Bearer (access token) should be acquired. An access token can be retrieved using the client_id and client_secret of the APP that you created and subscribed in this API, and your own credentials (username, password) that you use to sign in the NBG Technology HUB. The scopes are defined below:

Authorization Endpoint:

  https://my.nbg.gr/identity/connect/authorize

Token Endpoint:

  https://my.nbg.gr/identity/connect/token

Authorization Code

Sandbox Scopes:

  sandbox-uk-account-info-api-v1 offline_access

Production Scopes:

  accounts offline_access

Client Credentials

Sandbox Scopes:

  sandbox-uk-account-info-api-v1

Production Scopes:

  accounts

See more here

QWAC Certificates

TPPs are required to present a QWAC certificate during API consumption. The API checks that this certificate has been provided and is valid. In sandbox mode the certificate validations are optional. To validate your certificate in sandbox implementation, please send us your QWAC certificate at developer@nbg.gr and set the HTTP Header \"x-sandbox-qwac-certificate-check\" with the value \"true\" in your requests.

SMS Challenge (One Time Password)

In order to successfully authorize an Accounts Access you will need to provide the SMS OTP (One Time Password) in the corresponding Accounts Consent UI Screen.

By default the SMS OTP will be sent to the mobile number declared upon singing up in the NBG Technology HUB.

Create your Sandbox

Create a new Sandbox application by invoking the POST /sandbox. This call will generate a new Sandbox with a unique sandbox-id.

Important! Before proceeding save the sandbox id you just created.

When you create a sandbox, users and sandbox specific data are generated as sample data.

Start Testing

Once you have your sandbox-id, you can start invoking the rest of the operations by providing the mandatory http header sandbox-id and the http headers described below.

Important notes

Request headers

The following HTTP header parameters are required for every call:

  1. Authorization. The Auth2 Token

  2. sandbox-id. Your Sandbox ID

Consent

In order to be able to effectively start using the Endpoints the appropriate Consent needs to be created and set to the 'Authorised' status.

In order to create the Consent you need to at least set the required permissions and the Risk sections.

Optionally you may set the

  1. ExpirationDateTime. When the Consent expires
  1. TransactionFromDateTime. Start Date to retrieve the transactions
  1. TransactionToDateTime. End Date to retrieve the transactions

Not Implemented Endpoints

The following endpoints are not implemented in the API

  1. GET /balances
  2. GET /transactions
  3. GET /beneficiaries
  4. GET /accounts/{AccountId}/direct-debits
  5. GET /direct-debits
  6. GET /standing-orders
  7. GET /accounts/{AccountId}/product
  8. GET /products
  9. GET /accounts/{AccountId}/offers
  10. GET /offers
  11. GET /scheduled-payments
  12. GET /statements

Error Codes

The error codes and their description can be found here

UK OPB Implementation Specifics

Below you may find more specific information & limitations regarding the implementation followed in the Production API.

Token Endpoint Client Authentication

At this point the supported Client Authentication method is "Client Secret Basic" - usage of "Client ID" & "Client Secret".

Consent Authorization

For a PSU to Authorize a Consent, they need to be redirected to the appropriate Consent UI.

For this redirection to take place the TPP needs to follow the Authorization Endpoint by amending the generated "Consent ID", like this: https://my.nbg.gr/identity/connect/authorize?consent_id={{consent_id}}&client_id={{client_id}}&scope={{scope}}&redirect_uri={{redirect_uri}}&response_type=code

Once the PSU is redirected to the Consent Authorization Screen, they need to enter their IBank (Production) or Developer Portal (Sandbox) Credentials and either Authorize or Reject the Consent.

At this point the Consent is binded with the PSU.

Debtor Account

Currently, only the "UK.OBIE.IBAN" scheme is supported.

Feedback and Questions

We would love to hear your feedback and answer your questions. Send us at developer@nbg.gr

Check out our Sandbox Postman Collection!


Created by NBG.

Entities

Below, the main entities are documented.

OBExternalPermissions1Code

Attributes

TypeDescriptionExampleValues
enumSpecifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.ReadAccountsBasicReadAccountsDetailReadBalancesReadBeneficiariesBasicReadBeneficiariesDetailReadDirectDebitsReadOffersReadPANReadPartyReadPartyPSUReadProductsReadScheduledPaymentsBasicReadScheduledPaymentsDetailReadStandingOrdersBasicReadStandingOrdersDetailReadStatementsBasicReadStatementsDetailReadTransactionsBasicReadTransactionsCreditsReadTransactionsDebitsReadTransactionsDetail

OBReadData1

Attributes

NameDescriptionValues
PermissionsSpecifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.array[OBExternalPermissions1Code]
ExpirationDateTimeSpecified date and time the permissions will expire. If this is not populated, the permissions will be open ended. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
TransactionFromDateTimeSpecified start date and time for the transaction query period. If this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
TransactionToDateTimeSpecified end date and time for the transaction query period. If this is not populated, the end date will be open ended, and data will be returned to the latest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string

OBRisk2

The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info.

Attributes

NameDescriptionValues

OBReadConsent1

Attributes

NameDescriptionValues
DataEntityOBReadData1Permissions [array[OBExternalPermissions1Code]] ExpirationDateTime string TransactionFromDateTime string TransactionToDateTime string
RiskEntityOBRisk2

OBExternalRequestStatus1Code

Attributes

TypeDescriptionExampleValues
enumSpecifies the status of consent resource in code form.AuthorisedAwaitingAuthorisationRejectedRevoked

OBReadDataConsentResponse1

Attributes

NameDescriptionValues
ConsentIdUnique identification as assigned to identify the account access consent resource.string
CreationDateTimeDate and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
StatusEntityOBExternalRequestStatus1Code
StatusUpdateDateTimeDate and time at which the resource status was updated. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
PermissionsSpecifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.array[OBExternalPermissions1Code]
ExpirationDateTimeSpecified date and time the permissions will expire. If this is not populated, the permissions will be open ended. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
TransactionFromDateTimeSpecified start date and time for the transaction query period. If this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
TransactionToDateTimeSpecified end date and time for the transaction query period. If this is not populated, the end date will be open ended, and data will be returned to the latest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string

Links

Links relevant to the payload

Attributes

NameDescriptionValues
Self-string
First-string
Prev-string
Next-string
Last-string

Meta

Meta Data relevant to the payload

Attributes

NameDescriptionValues
TotalPages-integer
FirstAvailableDateTimeAll dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00string
LastAvailableDateTimeAll dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00string

OBReadConsentResponse1

Attributes

NameDescriptionValues
DataEntityOBReadDataConsentResponse1ConsentId string CreationDateTime string Status [OBExternalRequestStatus1Code]StatusUpdateDateTime string Permissions [array[OBExternalPermissions1Code]] ExpirationDateTime string TransactionFromDateTime string TransactionToDateTime string
RiskEntityOBRisk2
LinksEntityLinksSelf string First string Prev string Next string Last string
MetaEntityMetaTotalPages integer FirstAvailableDateTime string LastAvailableDateTime string

ErrorCode

Attributes

TypeDescriptionExampleValues
enumThis is Data Type gives a low level textual error code to help categorise an error response. The applicable HTTP response code is also given.UK.OBIE.Field.ExpectedUK.OBIE.Field.InvalidUK.OBIE.Field.InvalidDateUK.OBIE.Field.MissingUK.OBIE.Field.UnexpectedUK.OBIE.Header.InvalidUK.OBIE.Header.MissingUK.OBIE.Resource.ConsentMismatchUK.OBIE.Resource.InvalidConsentStatusUK.OBIE.Resource.InvalidFormatUK.OBIE.Resource.NotFoundUK.OBIE.Rules.AfterCutOffDateTimeUK.OBIE.Rules.DuplicateReferenceUK.OBIE.Signature.InvalidUK.OBIE.Signature.InvalidClaimUK.OBIE.Signature.MissingClaimUK.OBIE.Signature.MalformedUK.OBIE.Signature.MissingUK.OBIE.Signature.UnexpectedUK.OBIE.Unsupported.AccountIdentifierUK.OBIE.Unsupported.AccountSecondaryIdentifierUK.OBIE.Unsupported.CurrencyUK.OBIE.Unsupported.EventTypeUK.OBIE.Unsupported.FrequencyUK.OBIE.Unsupported.LocalInstrumentUK.OBIE.Unsupported.SchemeUK.OBIE.ReauthenticateUK.OBIE.Rules.ResourceAlreadyExistsUK.OBIE.UnexpectedError

OBError1

Attributes

NameDescriptionValues
ErrorCodeEntityErrorCode
MessageA description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'OBIE doesn't standardise this fieldstring
PathRecommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currencystring
UrlURL to help remediate the problem, or provide more information, or to API Reference, or help etcstring

OBErrorResponse1

An array of detail error codes, and messages, and URLs to documentation to help remediation.

Attributes

NameDescriptionValues
CodeHigh level textual error code, to help categorize the errors.string
IdA unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.string
MessageBrief Error message, e.g., 'There is something wrong with the request parameters provided'string
ErrorsGets or Sets Errorsarray[OBError1]

OBAccountStatus1Code

Attributes

TypeDescriptionExampleValues
enum-DeletedDisabledEnabledPendingProForma

OBExternalAccountType1Code

Attributes

TypeDescriptionExampleValues
enum-BusinessPersonal

OBExternalAccountSubType1Code

Attributes

TypeDescriptionExampleValues
enum-ChargeCardCreditCardCurrentAccountEMoneyLoanMortgagePrePaidCardSavings

OBCashAccount5

Attributes

NameDescriptionValues
SchemeNameName of the identification scheme, in a coded form as published in an external list.string
IdentificationIdentification assigned by an institution to identify an account. This identification is known by the account owner.string
NameThe account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.string
SecondaryIdentificationThis is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally identify accounts with a roll number(in addition to a sort code and account number combination).string

OBBranchAndFinancialInstitutionIdentification5

Attributes

NameDescriptionValues
SchemeNameName of the identification scheme, in a coded form as published in an external list.string
IdentificationUnique and unambiguous identification of the servicing institution.string

OBAccount6

Unambiguous identification of the account to which credit and debit entries are made.

Attributes

NameDescriptionValues
AccountIdA unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.string
StatusEntityOBAccountStatus1Code
StatusUpdateDateTimeDate and time at which the resource status was updated.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
CurrencyIdentification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.string
AccountTypeEntityOBExternalAccountType1Code
AccountSubTypeEntityOBExternalAccountSubType1Code
DescriptionSpecifies the description of the account type.string
NicknameThe nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.string
OpeningDateDate on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
MaturityDateMaturity date of the account.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
AccountProvides the details to identify an account.array[OBCashAccount5]
ServicerEntityOBBranchAndFinancialInstitutionIdentification5SchemeName string Identification string

OBReadDataAccount5

Attributes

NameDescriptionValues
AccountUnambiguous identification of the account to which credit and debit entries are made.array[OBAccount6]

OBReadAccount5

Attributes

NameDescriptionValues
DataEntityOBReadDataAccount5Account [array[OBAccount6]]
LinksEntityLinksSelf string First string Prev string Next string Last string
MetaEntityMetaTotalPages integer FirstAvailableDateTime string LastAvailableDateTime string

OBCreditDebitCode

Attributes

TypeDescriptionExampleValues
enum-CreditDebit

OBBalanceType1Code

Attributes

TypeDescriptionExampleValues
enum-ClosingAvailableClosingBookedClosingClearedExpectedForwardAvailableInformationInterimAvailableInterimBookedInterimClearedOpeningAvailableOpeningBookedOpeningClearedPreviouslyClosedBooked

OBActiveOrHistoricCurrencyAndAmount

Attributes

NameDescriptionValues
AmountA number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.string
CurrencyA code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".string

OBExternalLimitType1Code

Attributes

TypeDescriptionExampleValues
enum-AvailableCreditEmergencyPre-AgreedTemporary

OBCreditLine1

Attributes

NameDescriptionValues
IncludedIndicates whether or not the credit line is included in the balance of the account. Usage: If not present, credit line is not included in the balance amount of the account.boolean
TypeEntityOBExternalLimitType1Code
AmountEntityOBActiveOrHistoricCurrencyAndAmountAmount string Currency string

OBCashBalance1

Set of elements used to define the balance details.

Attributes

NameDescriptionValues
AccountIdA unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.string
CreditDebitIndicatorEntityOBCreditDebitCode
TypeEntityOBBalanceType1Code
DateTimeIndicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
AmountEntityOBActiveOrHistoricCurrencyAndAmountAmount string Currency string
CreditLineSet of elements used to provide details on the credit line.array[OBCreditLine1]

OBReadDataBalance1

Attributes

NameDescriptionValues
BalanceSet of elements used to define the balance details.array[OBCashBalance1]

OBReadBalance1

Attributes

NameDescriptionValues
DataEntityOBReadDataBalance1Balance [array[OBCashBalance1]]
LinksEntityLinksSelf string First string Prev string Next string Last string
MetaEntityMetaTotalPages integer FirstAvailableDateTime string LastAvailableDateTime string

OBBeneficiaryType1Code

Attributes

TypeDescriptionExampleValues
enumSpecifies the Beneficiary Type.TrustedOrdinary

OBSupplementaryData1

Additional information that can not be captured in the structured fields and/or any other specific block.

Attributes

NameDescriptionValues

OBAddressTypeCode

Attributes

TypeDescriptionExampleValues
enumIdentifies the nature of the postal address.BusinessCorrespondenceDeliveryToMailToPOBoxPostalResidentialStatement

OBPostalAddress6

Information that locates and identifies a specific address, as defined by postal services.

Attributes

NameDescriptionValues
AddressTypeEntityOBAddressTypeCode
DepartmentIdentification of a division of a large organisation or building.string
SubDepartmentIdentification of a sub-division of a large organisation or building.string
StreetNameName of a street or thoroughfare.string
BuildingNumberNumber that identifies the position of a building on a street.string
PostCodeIdentifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.string
TownNameName of a built-up area, with defined boundaries, and a local government.string
CountrySubDivisionIdentifies a subdivision of a country such as state, region, county.string
CountryNation with its own government.string
AddressLineInformation that locates and identifies a specific address, as defined by postal services, presented in free format text.array

OBBranchAndFinancialInstitutionIdentification6

Attributes

NameDescriptionValues
SchemeNameName of the identification scheme, in a coded form as published in an external list.string
IdentificationUnique and unambiguous identification of the servicing institution.string
NameName by which an agent is known and which is usually used to identify that agent.string
PostalAddressEntityOBPostalAddress6AddressType [OBAddressTypeCode]Department string SubDepartment string StreetName string BuildingNumber string PostCode string TownName string CountrySubDivision string Country string AddressLine array

OBBeneficiary5

Attributes

NameDescriptionValues
AccountIdA unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.string
BeneficiaryIdA unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.string
BeneficiaryTypeEntityOBBeneficiaryType1Code
ReferenceUnique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.string
SupplementaryDataEntityOBSupplementaryData1
CreditorAgentEntityOBBranchAndFinancialInstitutionIdentification6SchemeName string Identification string Name string PostalAddress [OBPostalAddress6]AddressType [OBAddressTypeCode]Department string SubDepartment string StreetName string BuildingNumber string PostCode string TownName string CountrySubDivision string Country string AddressLine array
CreditorAccountEntityOBCashAccount5SchemeName string Identification string Name string SecondaryIdentification string

OBReadDataBeneficiary5

Attributes

NameDescriptionValues
Beneficiary-array[OBBeneficiary5]

OBReadBeneficiary5

Attributes

NameDescriptionValues
DataEntityOBReadDataBeneficiary5Beneficiary [array[OBBeneficiary5]]
LinksEntityLinksSelf string First string Prev string Next string Last string
MetaEntityMetaTotalPages integer FirstAvailableDateTime string LastAvailableDateTime string

OBExternalDirectDebitStatus1Code

Attributes

TypeDescriptionExampleValues
enum-ActiveInactive

OBDirectDebit2

Account to or from which a cash entry is made.

Attributes

NameDescriptionValues
AccountIdA unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.string
DirectDebitIdA unique and immutable identifier used to identify the direct debit resource. This identifier has no meaning to the account owner.string
MandateIdentificationDirect Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference.string
DirectDebitStatusCodeEntityOBExternalDirectDebitStatus1Code
NameName of Service User.string
PreviousPaymentDateTimeDate of most recent direct debit collection.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00string
FrequencyRegularity with which direct debit instructions are to be created and processed.string
PreviousPaymentAmountEntityOBActiveOrHistoricCurrencyAndAmountAmount string Currency string

OBReadDataDirectDebit2

Attributes

NameDescriptionValues
DirectDebitAccount to or from which a cash entry is made.array[OBDirectDebit2]

OBReadDirectDebit2

Attributes

NameDescriptionValues
DataEntityOBReadDataDirectDebit2DirectDebit [array[OBDirectDebit2]]
LinksEntityLinksSelf string First string Prev string Next string Last string
MetaEntityMetaTotalPages integer FirstAvailableDateTime string LastAvailableDateTime string

OBExternalOfferType1Code

Attributes

TypeDescriptionExampleValues
enum-BalanceTransferLimitIncreaseMoneyTransferOtherPromotionalRate

OBOffer1

Attributes

NameDescriptionValues
AccountIdA unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.string
OfferIdA unique and immutable identifier used to identify the offer resource. This identifier has no meaning to the account owner.string
OfferTypeEntityOBExternalOfferType1Code
DescriptionFurther details of the offer.string
StartDateTimeDate and time at which the offer starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
EndDateTimeDate and time at which the offer ends.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00string
RateRate associated with the offer type.string
ValueValue associated with the offer type.integer
TermFurther details of the term of the offer.string
URLURL (Uniform Resource Locator) where documentation on the offer can be foundstring
AmountEntityOBActiveOrHistoricCurrencyAndAmountAmount string Currency string
FeeEntityOBActiveOrHistoricCurrencyAndAmountAmount string Currency string

OBReadDataOffer1

Attributes

NameDescriptionValues
Offer-array[OBOffer1]

OBReadOffer1

Attributes

NameDescriptionValues
DataEntityOBReadDataOffer1Offer [array[OBOffer1]]
LinksEntityLinksSelf string First string Prev string Next string Last string
MetaEntityMetaTotalPages integer FirstAvailableDateTime string LastAvailableDateTime string

OBExternalPartyType1Code

Attributes

TypeDescriptionExampleValues
enum-DelegateJointSole

OBRelationship1

Attributes

NameDescriptionValues
RelatedAbsolute URI to the related resource.string
IdUnique identification as assigned by the ASPSP to uniquely identify the related resource.string

OBPartyRelationships1

Attributes

NameDescriptionValues
AccountEntityOBRelationship1Related string Id string

OBPostalAddress8

Attributes

NameDescriptionValues
AddressTypeEntityOBAddressTypeCode
AddressLineInformation that locates and identifies a specific address, as defined by postal services, that is presented in free format text.array
StreetNameName of a street or thoroughfare.string
BuildingNumberNumber that identifies the position of a building on a street.string
PostCodeIdentifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.string
TownNameName of a built-up area, with defined boundaries, and a local government.string
CountrySubDivisionIdentifies a subdivision of a country eg, state, region, county.string
CountryNation with its own government, occupying a particular territory.string

OBParty2

Attributes

NameDescriptionValues
PartyIdA unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner.string
PartyNumberNumber assigned by an agent to identify its customer.string
PartyTypeEntityOBExternalPartyType1Code
NameName by which a party is known and which is usually used to identify that party.string
FullLegalNameSpecifies a character string with a maximum length of 350 characters.string
LegalStructureLegal standing of the party.string
BeneficialOwnershipA flag to indicate a party's beneficial ownership of the related account.boolean
AccountRoleA party’s role with respect to the related account.string
EmailAddressAddress for electronic mail (e-mail).string
PhoneCollection of information that identifies a phone number, as defined by telecom services.string
MobileCollection of information that identifies a mobile phone number, as defined by telecom services.string
RelationshipsEntityOBPartyRelationships1Account [OBRelationship1]Related string Id string
AddressPostal address of a party.array[OBPostalAddress8]

OBReadDataParty2

Attributes

NameDescriptionValues
PartyEntityOBParty2PartyId string PartyNumber string PartyType [OBExternalPartyType1Code]Name string FullLegalName string LegalStructure string BeneficialOwnership boolean AccountRole string EmailAddress string Phone string Mobile string Relationships [OBPartyRelationships1]Account [OBRelationship1]Related string Id string Address [array[OBPostalAddress8]]

OBReadParty2

Attributes

NameDescriptionValues
DataEntityOBReadDataParty2Party [OBParty2]PartyId string PartyNumber string PartyType [OBExternalPartyType1Code]Name string FullLegalName string LegalStructure string BeneficialOwnership boolean AccountRole string EmailAddress string Phone string Mobile string Relationships [OBPartyRelationships1]Account [OBRelationship1]Related string Id string Address [array[OBPostalAddress8]]
LinksEntityLinksSelf string First string Prev string Next string Last string
MetaEntityMetaTotalPages integer FirstAvailableDateTime string LastAvailableDateTime string

OBReadDataParty3

Attributes

NameDescriptionValues
Party-array[OBParty2]

OBReadParty3

Attributes

NameDescriptionValues
DataEntityOBReadDataParty3Party [array[OBParty2]]
LinksEntityLinksSelf string First string Prev string Next string Last string
MetaEntityMetaTotalPages integer FirstAvailableDateTime string LastAvailableDateTime string

OBExternalProductType1Code

Attributes

TypeDescriptionExampleValues
enumProduct type : Personal Current Account, Business Current AccountBusinessCurrentAccountCommercialCreditCardOtherPersonalCurrentAccountSMELoan

OBOtherProductSegment1Code

Attributes

TypeDescriptionExampleValues
enum-GEASGEBAGEBRGEBUGECIGECSGEFBGEFGGEGGEGRGEGSGEOTGEOVGEPAGEPRGEREGESTGEYAGEYOPSCAPSESPSNCPSNPPSRGPSSSPSSTPSSW

OBPeriod1Code

Attributes

TypeDescriptionExampleValues
enumThe unit of period (days, weeks, months etc.) of the promotional lengthPACTPDAYPHYRPMTHPQTRPWEKPYER

OBOtherCodeType1

Attributes

NameDescriptionValues
CodeThe four letter Mnemonic used within an XML file to identify a codestring
NameLong name associated with the codestring
DescriptionDescription to describe the purpose of the codestring

OBOtherProductDetails1

Attributes

NameDescriptionValues
SegmentMarket segmentation is a marketing term referring to the aggregating of prospective buyers into groups, or segments, that have common needs and respond similarly to a marketing action. Market segmentation enables companies to target different categories of consumers who perceive the full value of certain products and services differently from one another. Read more: Market Segmentation http://www.investopedia.com/terms/m/marketsegmentation.asp#ixzz4gfEEalTdarray[OBOtherProductSegment1Code]
FeeFreeLengthThe length/duration of the fee free periodinteger
FeeFreeLengthPeriodEntityOBPeriod1Code
MonthlyMaximumChargeThe maximum relevant charges that could accrue as defined fully in Part 7 of the CMA orderstring
NotesOptional additional notes to supplement the Core product detailsarray
OtherSegmentEntityOBOtherCodeType1Code string Name string Description string

OBTierBandType1Code

Attributes

TypeDescriptionExampleValues
enumThe methodology of how credit interest is paid/applied. It can be:- 1. Banded Interest rates are banded. i.e. Increasing rate on whole balance as balance increases. 2. Tiered Interest rates are tiered. i.e. increasing rate for each tier as balance increases, but interest paid on tier fixed for that tier and not on whole balance. 3. Whole The same interest rate is applied irrespective of the product holder's account balanceINBAINTIINWH

OBInterestCalculationMethod1Code

Attributes

TypeDescriptionExampleValues
enum-ITCOITOTITSI

OBInterestDestination1Code

Attributes

TypeDescriptionExampleValues
enumDescribes whether accrued interest is payable only to the BCA or to another bank accountINOTINPAINSC

OBFrequency1Code

Attributes

TypeDescriptionExampleValues
enumHow often is credit interest calculated for the account.FQATFQDYFQHYFQMYFQOTFQQYFQSDFQWYFQYY

OBInterestFixedVariableType1Code

Attributes

TypeDescriptionExampleValues
enumType of interest rate, Fixed or VariableINFIINVA

OBInterestRateType1Code

Attributes

TypeDescriptionExampleValues
enumInterest rate types, other than AER, which financial institutions may use to describe the annual interest rate payable to the account holder's account.INBBINFRINGRINLRINNEINOT

OBTierBand1

Tier Band Details

Attributes

NameDescriptionValues
IdentificationUnique and unambiguous identification of a Tier Band for the Product.string
TierValueMinimumMinimum deposit value for which the credit interest tier applies.string
TierValueMaximumMaximum deposit value for which the credit interest tier applies.string
CalculationFrequencyEntityOBFrequency1Code
ApplicationFrequencyEntityOBFrequency1Code
DepositInterestAppliedCoverageEntityOBTierBandType1Code
FixedVariableInterestRateTypeEntityOBInterestFixedVariableType1Code
AERThe annual equivalent rate (AER) is interest that is calculated under the assumption that any interest paid is combined with the original balance and the next interest payment will be based on the slightly higher account balance. Overall, this means that interest can be compounded several times in a year depending on the number of times that interest payments are made. Read more: Annual Equivalent Rate (AER) http://www.investopedia.com/terms/a/aer.asp#ixzz4gfR7IO1Astring
BankInterestRateTypeEntityOBInterestRateType1Code
BankInterestRateBank Interest for the productstring
NotesOptional additional notes to supplement the Tier Band detailsarray
OtherBankInterestTypeEntityOBOtherCodeType1Code string Name string Description string
OtherApplicationFrequencyEntityOBOtherCodeType1Code string Name string Description string
OtherCalculationFrequencyEntityOBOtherCodeType1Code string Name string Description string

OBTierBandSet1

The group of tiers or bands for which credit interest can be applied.

Attributes

NameDescriptionValues
TierBandMethodEntityOBTierBandType1Code
CalculationMethodEntityOBInterestCalculationMethod1Code
DestinationEntityOBInterestDestination1Code
NotesOptional additional notes to supplement the Tier Band Set detailsarray
OtherCalculationMethodEntityOBOtherCodeType1Code string Name string Description string
OtherDestinationEntityOBOtherCodeType1Code string Name string Description string
TierBandTier Band Detailsarray[OBTierBand1]

OBCreditInterest1

Details about the interest that may be payable to the Account holders

Attributes

NameDescriptionValues
TierBandSet-array[OBTierBandSet1]

OBOverdraftType1Code

Attributes

TypeDescriptionExampleValues
enumAn overdraft can either be 'committed' which means that the facility cannot be withdrawn without reasonable notification before it's agreed end date, or 'on demand' which means that the financial institution can demand repayment at any point in time.OVCOOVODOVOT

OBOverdraftFeeType1Code

Attributes

TypeDescriptionExampleValues
enumFee/charge type which is being cappedFBAOFBARFBEBFBITFBORFBOSFBSCFBTOFBUBFBUTFTOTFTUT

OBMinMaxType1Code

Attributes

TypeDescriptionExampleValues
enumMin Max typeFMMNFMMX

OBOverdraftFeeChargeCap1

Details about any caps (maximum charges) that apply to a particular fee/charge. Capping can either be based on an amount (in gbp), an amount (in items) or a rate.

Attributes

NameDescriptionValues
FeeType-array[OBOverdraftFeeType1Code]
MinMaxTypeEntityOBMinMaxType1Code
FeeCapOccurrenceIndicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it's part of a government scheme, or whether the rate may vary dependent on the applicant's circumstances.integer
FeeCapAmountCap amount charged for a fee/chargestring
CappingPeriodEntityOBPeriod1Code
NotesNotes related to Overdraft fee charge caparray
OtherFeeType-array[OBOtherCodeType1]

OBFeeFrequency1Code

Attributes

TypeDescriptionExampleValues
enumFrequency at which the overdraft charge is applied to the accountFEACFEAOFECPFEDAFEHOFEIFEMOFEOAFEOTFEPCFEPHFEPOFEPSFEPTFEPTAFEPTPFEQUFESMFESTFEWEFEYE

OBOverdraftFeesChargeDetails1

Details about the fees/charges

Attributes

NameDescriptionValues
FeeTypeEntityOBOverdraftFeeType1Code
NegotiableIndicatorIndicates whether fee and charges are negotiableboolean
OverdraftControlIndicatorIndicates if the fee/charge is already covered by an 'Overdraft Control' fee or not.boolean
IncrementalBorrowingAmountEvery additional tranche of an overdraft balance to which an overdraft fee is appliedstring
FeeAmountAmount charged for an overdraft fee/charge (where it is charged in terms of an amount rather than a rate)string
FeeRateRate charged for overdraft fee/charge (where it is charged in terms of a rate rather than an amount)string
FeeRateTypeEntityOBInterestRateType1Code
ApplicationFrequencyEntityOBFeeFrequency1Code
CalculationFrequencyEntityOBFeeFrequency1Code
NotesFree text for capturing any other info related to Overdraft Fees Charge Detailsarray
OverdraftFeeChargeCap-array[OBOverdraftFeeChargeCap1]
OtherFeeTypeEntityOBOtherCodeType1Code string Name string Description string
OtherFeeRateTypeEntityOBOtherCodeType1Code string Name string Description string
OtherApplicationFrequencyEntityOBOtherCodeType1Code string Name string Description string
OtherCalculationFrequencyEntityOBOtherCodeType1Code string Name string Description string

OBOverdraftFeesCharges1

Overdraft fees and charges

Attributes

NameDescriptionValues
OverdraftFeeChargeCap-array[OBOverdraftFeeChargeCap1]
OverdraftFeeChargeDetail-array[OBOverdraftFeesChargeDetails1]

OBOverdraftTierBand1

Provides overdraft details for a specific tier or band

Attributes

NameDescriptionValues
IdentificationUnique and unambiguous identification of a Tier Band for a overdraft.string
TierValueMinMinimum value of Overdraft Tier/Bandstring
TierValueMaxMaximum value of Overdraft Tier/Bandstring
EAREAR means Effective Annual Rate and/or Equivalent Annual Rate (frequently used interchangeably), being the actual annual interest rate of an Overdraft.string
AgreementLengthMinSpecifies the minimum length of a band for a fixed overdraft agreementinteger
AgreementLengthMaxSpecifies the maximum length of a band for a fixed overdraft agreementinteger
AgreementPeriodEntityOBPeriod1Code
OverdraftInterestChargingCoverageEntityOBTierBandType1Code
BankGuaranteedIndicatorIndicates whether the advertised overdraft rate is guaranteed to be offered to a borrower by the bank e.g. if it�s part of a government scheme, or whether the rate may vary dependent on the applicant�s circumstances.boolean
NotesOptional additional notes to supplement the Tier/band detailsarray
OverdraftFeesCharges-array[OBOverdraftFeesCharges1]

OBOverdraftTierbandSet1

Tier band set details

Attributes

NameDescriptionValues
TierBandMethodEntityOBTierBandType1Code
OverdraftTypeEntityOBOverdraftType1Code
IdentificationUnique and unambiguous identification of a Tier Band for a overdraft product.string
AuthorisedIndicatorIndicates if the Overdraft is authorised (Y) or unauthorised (N)boolean
BufferAmountWhen a customer exceeds their credit limit, a financial institution will not charge the customer unauthorised overdraft charges if they do not exceed by more than the buffer amount. Note: Authorised overdraft charges may still apply.string
NotesOptional additional notes to supplement the overdraft Tier Band Set detailsarray
OverdraftTierBand-array[OBOverdraftTierBand1]
OverdraftFeesCharges-array[OBOverdraftFeesCharges1]

OBOverdraft1

Borrowing details

Attributes

NameDescriptionValues
NotesAssociated Notes about the overdraft ratesarray
OverdraftTierBandSetTier band set detailsarray[OBOverdraftTierbandSet1]

OBFeeType1Code

Attributes

TypeDescriptionExampleValues
enumFee/Charge TypeFEPFFTOTFYAFFYAMFYAQFYCPFYDBFYMIFYXX

OBFeeCategory1Code

Attributes

TypeDescriptionExampleValues
enumCategorisation of fees and charges into standard categories.FCOTFCREFCSV

OBOtherFeeChargeDetailType

Other Fee/charge type which is not available in the standard code set

Attributes

NameDescriptionValues
CodeThe four letter Mnemonic used within an XML file to identify a codestring
FeeCategoryEntityOBFeeCategory1Code
NameLong name associated with the codestring
DescriptionDescription to describe the purpose of the codestring

OBLoanInterestFeesChargeDetail1

Other fees/charges details

Attributes

NameDescriptionValues
FeeTypeEntityOBFeeType1Code
NegotiableIndicatorFee/charge which is usually negotiable rather than a fixed amountboolean
FeeAmountFee Amount charged for a fee/charge (where it is charged in terms of an amount rather than a rate)string
FeeRateRate charged for Fee/Charge (where it is charged in terms of a rate rather than an amount)string

|