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
Login/Register to the NBG Technology HUB
Go to “APPS”
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:
Select the Organization of choice and click “ADD AN APPLICATION”
Fill in the forms (title and short description)
Check "Authorization Code" and "Client Credentials"
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
Click “SUBMIT”
Store the APPs “Client ID” and “Client Secret”
Go to “API PRODUCTS” and select the ACCOUNT INFORMATION - UK OPEN BANKING API
Click "START USING THIS API", choose your app and click “SUBSCRIBE”
Get an Access Token using the Access Token Flow and the API scopes provided in the Authentication and Authorization (OAuth2) section below
Create a Sandbox
Play with the API
The Sandbox Flow matches the Production Flow. The difference lies into the Data used. Instead of live data, the Sandbox flow uses mocked data.
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
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
Sandbox Scopes:
sandbox-uk-account-info-api-v1 offline_access
Production Scopes:
accounts offline_access
Sandbox Scopes:
sandbox-uk-account-info-api-v1
Production Scopes:
accounts
See more here
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.
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 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.
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.
Request headers
The following HTTP header parameters are required for every call:
Authorization. The Auth2 Token
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
ExpirationDateTime. When the Consent expires
TransactionFromDateTime. Start Date to retrieve the transactions
TransactionToDateTime. End Date to retrieve the transactions
Not Implemented Endpoints
The following endpoints are not implemented in the API
The error codes and their description can be found here
Below you may find more specific information & limitations regarding the implementation followed in the Production API.
At this point the supported Client Authentication method is “Client Secret Basic” - usage of “Client ID” & “Client Secret”.
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.
Currently, only the “UK.OBIE.IBAN” scheme is supported.
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.
Below, the main entities are documented. <a name=OBExternalPermissions1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | Specifies 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. | <ul style=“padding-left: 0”><li>ReadAccountsBasic</li><li>ReadAccountsDetail</li><li>ReadBalances</li><li>ReadBeneficiariesBasic</li><li>ReadBeneficiariesDetail</li><li>ReadDirectDebits</li><li>ReadOffers</li><li>ReadPAN</li><li>ReadParty</li><li>ReadPartyPSU</li><li>ReadProducts</li><li>ReadScheduledPaymentsBasic</li><li>ReadScheduledPaymentsDetail</li><li>ReadStandingOrdersBasic</li><li>ReadStandingOrdersDetail</li><li>ReadStatementsBasic</li><li>ReadStatementsDetail</li><li>ReadTransactionsBasic</li><li>ReadTransactionsCredits</li><li>ReadTransactionsDebits</li><li>ReadTransactionsDetail</li></ul> |
<a name=OBReadData1></a>
Name | Description | Values |
---|---|---|
Permissions | Specifies 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] |
ExpirationDateTime | Specified 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:00 | string |
TransactionFromDateTime | Specified 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:00 | string |
TransactionToDateTime | Specified 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:00 | string |
<a name=OBRisk2></a>
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.
Name | Description | Values |
---|
<a name=OBReadConsent1></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadData1</summary><ul><li>Permissions [array[OBExternalPermissions1Code]]</li> <li>ExpirationDateTime [string]</li> <li>TransactionFromDateTime [string]</li> <li>TransactionToDateTime [string]</li> </ul></details> |
Risk | Entity | <details><summary>OBRisk2</summary><ul></ul></details> |
<a name=ErrorCode></a>
Type | Description | Example | Values |
---|---|---|---|
enum | This is Data Type gives a low level textual error code to help categorise an error response. The applicable HTTP response code is also given. | <ul style=“padding-left: 0”><li>UK.OBIE.Field.Expected</li><li>UK.OBIE.Field.Invalid</li><li>UK.OBIE.Field.InvalidDate</li><li>UK.OBIE.Field.Missing</li><li>UK.OBIE.Field.Unexpected</li><li>UK.OBIE.Header.Invalid</li><li>UK.OBIE.Header.Missing</li><li>UK.OBIE.Resource.ConsentMismatch</li><li>UK.OBIE.Resource.InvalidConsentStatus</li><li>UK.OBIE.Resource.InvalidFormat</li><li>UK.OBIE.Resource.NotFound</li><li>UK.OBIE.Rules.AfterCutOffDateTime</li><li>UK.OBIE.Rules.DuplicateReference</li><li>UK.OBIE.Signature.Invalid</li><li>UK.OBIE.Signature.InvalidClaim</li><li>UK.OBIE.Signature.MissingClaim</li><li>UK.OBIE.Signature.Malformed</li><li>UK.OBIE.Signature.Missing</li><li>UK.OBIE.Signature.Unexpected</li><li>UK.OBIE.Unsupported.AccountIdentifier</li><li>UK.OBIE.Unsupported.AccountSecondaryIdentifier</li><li>UK.OBIE.Unsupported.Currency</li><li>UK.OBIE.Unsupported.EventType</li><li>UK.OBIE.Unsupported.Frequency</li><li>UK.OBIE.Unsupported.LocalInstrument</li><li>UK.OBIE.Unsupported.Scheme</li><li>UK.OBIE.Reauthenticate</li><li>UK.OBIE.Rules.ResourceAlreadyExists</li><li>UK.OBIE.UnexpectedError</li></ul> |
<a name=OBError1></a>
Name | Description | Values |
---|---|---|
ErrorCode | Entity | <details><summary>ErrorCode</summary><ul></ul></details> |
Message | A 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 field | string |
Path | Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency | string |
<a name=OBErrorResponse1></a>
An array of detail error codes, and messages, and URLs to documentation to help remediation.
Name | Description | Values |
---|---|---|
Code | High level textual error code, to help categorize the errors. | string |
Id | A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors. | string |
Message | Brief Error message, e.g., ‘There is something wrong with the request parameters provided’ | string |
Errors | Gets or Sets Errors | array[OBError1] |
<a name=OBExternalRequestStatus1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | Specifies the status of consent resource in code form. | <ul style=“padding-left: 0”><li>Authorised</li><li>AwaitingAuthorisation</li><li>Rejected</li><li>Revoked</li></ul> |
<a name=OBReadDataConsentResponse1></a>
Name | Description | Values |
---|---|---|
ConsentId | Unique identification as assigned to identify the account access consent resource. | string |
CreationDateTime | Date 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:00 | string |
Status | Entity | <details><summary>OBExternalRequestStatus1Code</summary><ul></ul></details> |
StatusUpdateDateTime | Date 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:00 | string |
Permissions | Specifies 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] |
ExpirationDateTime | Specified 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:00 | string |
TransactionFromDateTime | Specified 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:00 | string |
TransactionToDateTime | Specified 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:00 | string |
<a name=Links></a>
Links relevant to the payload
Name | Description | Values |
---|---|---|
Self | - | string |
First | - | string |
Prev | - | string |
Next | - | string |
Last | - | string |
<a name=Meta></a>
Meta Data relevant to the payload
Name | Description | Values |
---|---|---|
TotalPages | - | integer |
FirstAvailableDateTime | 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:00 | string |
LastAvailableDateTime | 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:00 | string |
<a name=OBReadConsentResponse1></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataConsentResponse1</summary><ul><li>ConsentId [string]</li> <li>CreationDateTime [string]</li> <li><details><summary>Status [OBExternalRequestStatus1Code]</summary><ul></ul></details></li><li>StatusUpdateDateTime [string]</li> <li>Permissions [array[OBExternalPermissions1Code]]</li> <li>ExpirationDateTime [string]</li> <li>TransactionFromDateTime [string]</li> <li>TransactionToDateTime [string]</li> </ul></details> |
Risk | Entity | <details><summary>OBRisk2</summary><ul></ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<a name=OBExternalAccountType1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | - | <ul style=“padding-left: 0”><li>Business</li><li>Personal</li></ul> |
<a name=OBExternalAccountSubType1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | - | <ul style=“padding-left: 0”><li>ChargeCard</li><li>CreditCard</li><li>CurrentAccount</li><li>EMoney</li><li>Loan</li><li>Mortgage</li><li>PrePaidCard</li><li>Savings</li></ul> |
<a name=OBCashAccount5></a>
Name | Description | Values |
---|---|---|
SchemeName | Name of the identification scheme, in a coded form as published in an external list. | string |
Identification | Identification assigned by an institution to identify an account. This identification is known by the account owner. | string |
Name | The 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 |
SecondaryIdentification | This 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 |
<a name=OBBranchAndFinancialInstitutionIdentification5></a>
Name | Description | Values |
---|---|---|
SchemeName | Name of the identification scheme, in a coded form as published in an external list. | string |
Identification | Unique and unambiguous identification of the servicing institution. | string |
<a name=OBAccount6></a>
Unambiguous identification of the account to which credit and debit entries are made.
Name | Description | Values |
---|---|---|
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | string |
Currency | Identification 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 |
AccountType | Entity | <details><summary>OBExternalAccountType1Code</summary><ul></ul></details> |
AccountSubType | Entity | <details><summary>OBExternalAccountSubType1Code</summary><ul></ul></details> |
Description | Specifies the description of the account type. | string |
Nickname | The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account. | string |
OpeningDate | Date 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:00 | string |
Account | Provides the details to identify an account. | array[OBCashAccount5] |
Servicer | Entity | <details><summary>OBBranchAndFinancialInstitutionIdentification5</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> </ul></details> |
<a name=OBReadDataAccount5></a>
Name | Description | Values |
---|---|---|
Account | Unambiguous identification of the account to which credit and debit entries are made. | array[OBAccount6] |
<a name=OBReadAccount5></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataAccount5</summary><ul><li>Account [array[OBAccount6]]</li> </ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<a name=OBCreditDebitCode></a>
Type | Description | Example | Values |
---|---|---|---|
enum | - | <ul style=“padding-left: 0”><li>Credit</li><li>Debit</li></ul> |
<a name=OBBalanceType1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | - | <ul style=“padding-left: 0”><li>ClosingAvailable</li><li>ClosingBooked</li><li>ClosingCleared</li><li>Expected</li><li>ForwardAvailable</li><li>Information</li><li>InterimAvailable</li><li>InterimBooked</li><li>InterimCleared</li><li>OpeningAvailable</li><li>OpeningBooked</li><li>OpeningCleared</li><li>PreviouslyClosedBooked</li></ul> |
<a name=OBActiveOrHistoricCurrencyAndAmount></a>
Name | Description | Values |
---|---|---|
Amount | A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217. | string |
Currency | A 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 |
<a name=OBExternalLimitType1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | - | <ul style=“padding-left: 0”><li>Available</li><li>Credit</li><li>Emergency</li><li>Pre-Agreed</li><li>Temporary</li></ul> |
<a name=OBCreditLine1></a>
Name | Description | Values |
---|---|---|
Included | Indicates 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 |
Type | Entity | <details><summary>OBExternalLimitType1Code</summary><ul></ul></details> |
Amount | Entity | <details><summary>OBActiveOrHistoricCurrencyAndAmount</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> |
<a name=OBCashBalance1></a>
Set of elements used to define the balance details.
Name | Description | Values |
---|---|---|
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | string |
CreditDebitIndicator | Entity | <details><summary>OBCreditDebitCode</summary><ul></ul></details> |
Type | Entity | <details><summary>OBBalanceType1Code</summary><ul></ul></details> |
DateTime | Indicates 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:00 | string |
Amount | Entity | <details><summary>OBActiveOrHistoricCurrencyAndAmount</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> |
CreditLine | Set of elements used to provide details on the credit line. | array[OBCreditLine1] |
<a name=OBReadDataBalance1></a>
Name | Description | Values |
---|---|---|
Balance | Set of elements used to define the balance details. | array[OBCashBalance1] |
<a name=OBReadBalance1></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataBalance1</summary><ul><li>Balance [array[OBCashBalance1]]</li> </ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<a name=OBBeneficiaryType1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | Specifies the Beneficiary Type. | <ul style=“padding-left: 0”><li>Trusted</li><li>Ordinary</li></ul> |
<a name=OBBeneficiary5></a>
Name | Description | Values |
---|---|---|
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | string |
BeneficiaryType | Entity | <details><summary>OBBeneficiaryType1Code</summary><ul></ul></details> |
CreditorAccount | Entity | <details><summary>OBCashAccount5</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> <li>SecondaryIdentification [string]</li> </ul></details> |
<a name=OBReadDataBeneficiary5></a>
Name | Description | Values |
---|---|---|
Beneficiary | - | array[OBBeneficiary5] |
<a name=OBReadBeneficiary5></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataBeneficiary5</summary><ul><li>Beneficiary [array[OBBeneficiary5]]</li> </ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<a name=OBParty2></a>
Name | Description | Values |
---|---|---|
PartyId | A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner. | string |
Name | Name by which a party is known and which is usually used to identify that party. | string |
<a name=OBReadDataParty2></a>
Name | Description | Values |
---|---|---|
Party | Entity | <details><summary>OBParty2</summary><ul><li>PartyId [string]</li> <li>Name [string]</li> </ul></details> |
<a name=OBReadParty2></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataParty2</summary><ul><li><details><summary>Party [OBParty2]</summary><ul><li>PartyId [string]</li> <li>Name [string]</li> </ul></details></li></ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<a name=OBReadDataParty3></a>
Name | Description | Values |
---|---|---|
Party | - | array[OBParty2] |
<a name=OBReadParty3></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataParty3</summary><ul><li>Party [array[OBParty2]]</li> </ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<a name=SandboxRequest></a>
Request to create a new sandbox
Name | Description | Values |
---|---|---|
sandboxId | Sandbox Id | string |
<a name=ErrorResponse></a>
Name | Description | Values |
---|---|---|
errorMessage | - | string |
<a name=SandboxRetryCacheEntry></a>
Keeps the number of calls without x-fapi-customer-ip-address header present
Name | Description | Values |
---|---|---|
cacheKey | Cache key | string |
count | Number of retries ( up to 4 ) | integer |
expirationTimestamp | Expiration timestamp of the entry | string |
<a name=SandboxBankAccountInfo></a>
General account information
Name | Description | Values |
---|---|---|
currency | Currency (EUR, USD …) | string |
iban | Account’s IBAN | string |
accountType | Account’s type (Business, Personal) | string |
accountSubType | Account’s sub-type (ChargeCard, CreditCard, CurrentAccount …) | string |
description | Account’s description | string |
alias | Account’s alias | string |
openingDate | Account’s opening date | string |
availableBalance | Account’s available balance | number |
ledgerBalance | Account’s ledger balance | number |
overdraftLimit | Account’s overdraft limit | number |
<a name=SandboxParty></a>
Connected party information
Name | Description | Values |
---|---|---|
id | Party id | string |
name | Name | string |
<a name=SandboxBeneficiary></a>
Beneficiary information
Name | Description | Values |
---|---|---|
name | Beneficiary name | string |
<a name=SandboxStandingOrder></a>
Standing order information
Name | Description | Values |
---|---|---|
description | Standing order short description | string |
frequency | Standing order frequency | string |
firstPaymentDate | Standing order first collection date | string |
nextPaymentDate | Standing order next collection date | string |
finalPaymentDate | Standing order final collection date | string |
lastPaymentDate | Standing order last executed payment date | string |
status | Standing order status (Active, Inactive) | string |
amount | Standing order amount | number |
<a name=SandboxScheduledPayment></a>
Scheduled payment information
Name | Description | Values |
---|---|---|
description | Scheduled payment’s short description | string |
executionDate | Scheduled payment’s execution date | string |
amount | Amount | number |
senderReference | Debtor / Sender reference | string |
<a name=SandboxStatement></a>
Statement information
Name | Description | Values |
---|---|---|
number | Statement number | string |
year | Statement year | integer |
month | Statement month | integer |
<a name=SandboxTransaction></a>
Transaction information
Name | Description | Values |
---|---|---|
reference | Transaction reference | string |
amount | Amount | number |
currency | Currency (EUR, USD …) | string |
creditDebit | Credit / Debit indicator | string |
valueDateTime | Valeur | string |
bookingDateTime | Booking date time | string |
description | Description | string |
accountingBalance | Balance | number |
relatedAccount | Related account | string |
relatedName | Related account | string |
transactionCode | Transaction code | string |
<a name=SandboxBankAccount></a>
Sandbox bank account
Name | Description | Values |
---|---|---|
info | Entity | <details><summary>SandboxBankAccountInfo</summary><ul><li>currency [string]</li> <li>iban [string]</li> <li>accountType [string]</li> <li>accountSubType [string]</li> <li>description [string]</li> <li>alias [string]</li> <li>openingDate [string]</li> <li>availableBalance [number]</li> <li>ledgerBalance [number]</li> <li>overdraftLimit [number]</li> </ul></details> |
party | Entity | <details><summary>SandboxParty</summary><ul><li>id [string]</li> <li>name [string]</li> </ul></details> |
beneficiaries | List of account’s beneficiaries | array[SandboxBeneficiary] |
standingOrders | List of account’s standing orders | array[SandboxStandingOrder] |
scheduledPayments | List of account’s scheduled payments | array[SandboxScheduledPayment] |
statements | List of account’s statements | array[SandboxStatement] |
transactions | List of account’s transactions | array[SandboxTransaction] |
<a name=SandboxCardInfo></a>
Sandbox card information
Name | Description | Values |
---|---|---|
number | Card number | string |
description | Description | string |
holderName | Holder name | string |
expiration | Expiration date (05/2022) | string |
type | Type | string |
subType | Sub type | string |
availableBalance | Available balance | number |
ledgerBalance | Ledger balance | number |
creditLimit | Credit limit ( applicable to credit cards ) | number |
<a name=SandboxCard></a>
Sandbox card
Name | Description | Values |
---|---|---|
info | Entity | <details><summary>SandboxCardInfo</summary><ul><li>number [string]</li> <li>description [string]</li> <li>holderName [string]</li> <li>expiration [string]</li> <li>type [string]</li> <li>subType [string]</li> <li>availableBalance [number]</li> <li>ledgerBalance [number]</li> <li>creditLimit [number]</li> </ul></details> |
party | Entity | <details><summary>SandboxParty</summary><ul><li>id [string]</li> <li>name [string]</li> </ul></details> |
statements | Card statements | array[SandboxStatement] |
transactions | Card transactions | array[SandboxTransaction] |
<a name=SandboxUser></a>
User data
Name | Description | Values |
---|---|---|
userId | Connected user id | string |
retryCacheEntries | Retry cache entries | array[SandboxRetryCacheEntry] |
accounts | List of accounts | array[SandboxBankAccount] |
cards | List of cards | array[SandboxCard] |
<a name=Sandbox></a>
Sandbox model
Name | Description | Values |
---|---|---|
sandboxId | Sandbox id | string |
users | List of users | array[SandboxUser] |
<a name=OBExternalScheduleType1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | - | <ul style=“padding-left: 0”><li>Arrival</li><li>Execution</li></ul> |
<a name=OBScheduledPayment3></a>
Name | Description | Values |
---|---|---|
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | string |
ScheduledPaymentId | A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner. | string |
ScheduledPaymentDateTime | The date on which the scheduled payment will be made.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:00 | string |
ScheduledType | Entity | <details><summary>OBExternalScheduleType1Code</summary><ul></ul></details> |
Reference | Unique 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 |
DebtorReference | A reference value provided by the PSU to the PISP while setting up the scheduled payment. | string |
InstructedAmount | Entity | <details><summary>OBActiveOrHistoricCurrencyAndAmount</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> |
CreditorAccount | Entity | <details><summary>OBCashAccount5</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> <li>SecondaryIdentification [string]</li> </ul></details> |
<a name=OBReadDataScheduledPayment3></a>
Name | Description | Values |
---|---|---|
ScheduledPayment | - | array[OBScheduledPayment3] |
<a name=OBReadScheduledPayment3></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataScheduledPayment3</summary><ul><li>ScheduledPayment [array[OBScheduledPayment3]]</li> </ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<a name=OBExternalStandingOrderStatus1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | - | <ul style=“padding-left: 0”><li>Active</li><li>Inactive</li></ul> |
<a name=OBStandingOrder5></a>
Name | Description | Values |
---|---|---|
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | string |
StandingOrderId | A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner. | string |
Frequency | Individual Definitions: IntrvlMnthDay - An interval specified in months(between 01, 02, 03, 04, 06, 12, 24), specifying the day within the month(01 to 31) Full Regular Expression: ^(IntrvlMnthDay:(0[1,2,3,4,6] | 12 |
Reference | Unique 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 |
FirstPaymentDateTime | The date on which the first payment for a Standing Order schedule will be made.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:00 | string |
NextPaymentDateTime | The date on which the next payment for a Standing Order schedule will be made.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:00 | string |
LastPaymentDateTime | The date on which the last (most recent) payment for a Standing Order schedule was made.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:00 | string |
FinalPaymentDateTime | The date on which the final payment for a Standing Order schedule will be made.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:00 | string |
StandingOrderStatusCode | Entity | <details><summary>OBExternalStandingOrderStatus1Code</summary><ul></ul></details> |
FirstPaymentAmount | Entity | <details><summary>OBActiveOrHistoricCurrencyAndAmount</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> |
NextPaymentAmount | Entity | <details><summary>OBActiveOrHistoricCurrencyAndAmount</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> |
LastPaymentAmount | Entity | <details><summary>OBActiveOrHistoricCurrencyAndAmount</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> |
FinalPaymentAmount | Entity | <details><summary>OBActiveOrHistoricCurrencyAndAmount</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> |
CreditorAccount | Entity | <details><summary>OBCashAccount5</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> <li>SecondaryIdentification [string]</li> </ul></details> |
<a name=OBReadDataStandingOrder5></a>
Name | Description | Values |
---|---|---|
StandingOrder | - | array[OBStandingOrder5] |
<a name=OBReadStandingOrder6></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataStandingOrder5</summary><ul><li>StandingOrder [array[OBStandingOrder5]]</li> </ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<a name=OBExternalStatementType1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | - | <ul style=“padding-left: 0”><li>AccountClosure</li><li>AccountOpening</li><li>Annual</li><li>Interim</li><li>RegularPeriodic</li></ul> |
<a name=OBStatement2></a>
Provides further details on a statement resource.
Name | Description | Values |
---|---|---|
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | string |
StatementId | Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable. | string |
StatementReference | Unique reference for the statement. This reference may be optionally populated if available. | string |
Type | Entity | <details><summary>OBExternalStatementType1Code</summary><ul></ul></details> |
StartDateTime | Date and time at which the statement period 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:00 | string |
EndDateTime | Date and time at which the statement period 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:00 | string |
CreationDateTime | Date and time at which the statement period 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:00 | string |
<a name=OBReadDataStatement2></a>
Name | Description | Values |
---|---|---|
Statement | Provides further details on a statement resource. | array[OBStatement2] |
<a name=OBReadStatement2></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataStatement2</summary><ul><li>Statement [array[OBStatement2]]</li> </ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<a name=OBEntryStatus1Code></a>
Type | Description | Example | Values |
---|---|---|---|
enum | - | <ul style=“padding-left: 0”><li>Booked</li><li>Pending</li></ul> |
<a name=ProprietaryBankTransactionCodeStructure1></a>
Set of elements to fully identify a proprietary bank transaction code.
Name | Description | Values |
---|---|---|
Code | Proprietary bank transaction code to identify the underlying transaction. | string |
Issuer | Identification of the issuer of the proprietary bank transaction code. | string |
<a name=OBTransactionCashBalance></a>
Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account.
Name | Description | Values |
---|---|---|
CreditDebitIndicator | Entity | <details><summary>OBCreditDebitCode</summary><ul></ul></details> |
Type | Entity | <details><summary>OBBalanceType1Code</summary><ul></ul></details> |
Amount | Entity | <details><summary>OBActiveOrHistoricCurrencyAndAmount</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> |
<a name=OBCashAccount6></a>
Unambiguous identification of the account of the creditor, in the case of a debit transaction.
Name | Description | Values |
---|---|---|
SchemeName | Name of the identification scheme, in a coded form as published in an external list. | string |
Identification | Identification assigned by an institution to identify an account. This identification is known by the account owner. | string |
Name | The 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 |
<a name=OBTransaction6></a>
Provides further details on an entry in the report.
Name | Description | Values |
---|---|---|
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | string |
TransactionReference | Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context. | string |
CreditDebitIndicator | Entity | <details><summary>OBCreditDebitCode</summary><ul></ul></details> |
Status | Entity | <details><summary>OBEntryStatus1Code</summary><ul></ul></details> |
BookingDateTime | Date and time when a transaction entry is posted to an account on the account servicer’s books. Usage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.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:00 | string |
ValueDateTime | Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry. Usage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date. For transaction entries subject to availability/float and for which availability information is provided, the value date must not be used.In this case the availability component identifies the number of availability days.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:00 | string |
TransactionInformation | Further details of the transaction. This is the transaction narrative, which is unstructured text. | string |
Amount | Entity | <details><summary>OBActiveOrHistoricCurrencyAndAmount</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> |
ProprietaryBankTransactionCode | Entity | <details><summary>ProprietaryBankTransactionCodeStructure1</summary><ul><li>Code [string]</li> <li>Issuer [string]</li> </ul></details> |
Balance | Entity | <details><summary>OBTransactionCashBalance</summary><ul><li><details><summary>CreditDebitIndicator [OBCreditDebitCode]</summary><ul></ul></details></li><li><details><summary>Type [OBBalanceType1Code]</summary><ul></ul></details></li><li><details><summary>Amount [OBActiveOrHistoricCurrencyAndAmount]</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details></li></ul></details> |
CreditorAccount | Entity | <details><summary>OBCashAccount6</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> </ul></details> |
DebtorAccount | Entity | <details><summary>OBCashAccount6</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> </ul></details> |
<a name=OBReadDataTransaction6></a>
Name | Description | Values |
---|---|---|
Transaction | Provides further details on an entry in the report. | array[OBTransaction6] |
<a name=OBReadTransaction6></a>
Name | Description | Values |
---|---|---|
Data | Entity | <details><summary>OBReadDataTransaction6</summary><ul><li>Transaction [array[OBTransaction6]]</li> </ul></details> |
Links | Entity | <details><summary>Links</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> |
Meta | Entity | <details><summary>Meta</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> |
<!– ReDoc-Inject: <security-definitions> –>
Use this page to mock Account and Transaction API Specification - UK in your testing and development.
Run our mock API sample using the open source WireMock library, or in the free edition of WireMock Cloud. You'll have a working API server simulating the behavior of Account and Transaction API Specification - UK, which will allow you to keep building and testing even if the actual API you isn't currently available.