Account and Transaction API Specification - UK

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

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

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

  7. Create a Sandbox

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

  2. TransactionFromDateTime. Start Date to retrieve the transactions

  3. 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. <a name=OBExternalPermissions1Code></a>

OBExternalPermissions1Code

Attributes

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>

OBReadData1

Attributes

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>

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

Name Description Values

<a name=OBReadConsent1></a>

OBReadConsent1

Attributes

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>

ErrorCode

Attributes

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>

OBError1

Attributes

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>

OBErrorResponse1

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

Attributes

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>

OBExternalRequestStatus1Code

Attributes

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>

OBReadDataConsentResponse1

Attributes

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

Links relevant to the payload

Attributes

Name Description Values
Self - string
First - string
Prev - string
Next - string
Last - string

<a name=Meta></a>

Meta

Meta Data relevant to the payload

Attributes

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>

OBReadConsentResponse1

Attributes

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>

OBExternalAccountType1Code

Attributes

Type Description Example Values
enum - <ul style="padding-left: 0"><li>Business</li><li>Personal</li></ul>

<a name=OBExternalAccountSubType1Code></a>

OBExternalAccountSubType1Code

Attributes

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>

OBCashAccount5

Attributes

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>

OBBranchAndFinancialInstitutionIdentification5

Attributes

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>

OBAccount6

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

Attributes

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>

OBReadDataAccount5

Attributes

Name Description Values
Account Unambiguous identification of the account to which credit and debit entries are made. array[OBAccount6]

<a name=OBReadAccount5></a>

OBReadAccount5

Attributes

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>

OBCreditDebitCode

Attributes

Type Description Example Values
enum - <ul style="padding-left: 0"><li>Credit</li><li>Debit</li></ul>

<a name=OBBalanceType1Code></a>

OBBalanceType1Code

Attributes

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>

OBActiveOrHistoricCurrencyAndAmount

Attributes

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>

OBExternalLimitType1Code

Attributes

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>

OBCreditLine1

Attributes

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>

OBCashBalance1

Set of elements used to define the balance details.

Attributes

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>

OBReadDataBalance1

Attributes

Name Description Values
Balance Set of elements used to define the balance details. array[OBCashBalance1]

<a name=OBReadBalance1></a>

OBReadBalance1

Attributes

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>

OBBeneficiaryType1Code

Attributes

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>

OBBeneficiary5

Attributes

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>

OBReadDataBeneficiary5

Attributes

Name Description Values
Beneficiary - array[OBBeneficiary5]

<a name=OBReadBeneficiary5></a>

OBReadBeneficiary5

Attributes

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>

OBParty2

Attributes

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>

OBReadDataParty2

Attributes

Name Description Values
Party Entity <details><summary>OBParty2</summary><ul><li>PartyId [string]</li> <li>Name [string]</li> </ul></details>

<a name=OBReadParty2></a>

OBReadParty2

Attributes

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>

OBReadDataParty3

Attributes

Name Description Values
Party - array[OBParty2]

<a name=OBReadParty3></a>

OBReadParty3

Attributes

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>

SandboxRequest

Request to create a new sandbox

Attributes

Name Description Values
sandboxId Sandbox Id string

<a name=ErrorResponse></a>

ErrorResponse

Attributes

Name Description Values
errorMessage - string

<a name=SandboxRetryCacheEntry></a>

SandboxRetryCacheEntry

Keeps the number of calls without x-fapi-customer-ip-address header present

Attributes

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>

SandboxBankAccountInfo

General account information

Attributes

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>

SandboxParty

Connected party information

Attributes

Name Description Values
id Party id string
name Name string

<a name=SandboxBeneficiary></a>

SandboxBeneficiary

Beneficiary information

Attributes

Name Description Values
name Beneficiary name string

<a name=SandboxStandingOrder></a>

SandboxStandingOrder

Standing order information

Attributes

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>

SandboxScheduledPayment

Scheduled payment information

Attributes

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>

SandboxStatement

Statement information

Attributes

Name Description Values
number Statement number string
year Statement year integer
month Statement month integer

<a name=SandboxTransaction></a>

SandboxTransaction

Transaction information

Attributes

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>

SandboxBankAccount

Sandbox bank account

Attributes

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>

SandboxCardInfo

Sandbox card information

Attributes

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>

SandboxCard

Sandbox card

Attributes

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>

SandboxUser

User data

Attributes

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

Sandbox model

Attributes

Name Description Values
sandboxId Sandbox id string
users List of users array[SandboxUser]

<a name=OBExternalScheduleType1Code></a>

OBExternalScheduleType1Code

Attributes

Type Description Example Values
enum - <ul style="padding-left: 0"><li>Arrival</li><li>Execution</li></ul>

<a name=OBScheduledPayment3></a>

OBScheduledPayment3

Attributes

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>

OBReadDataScheduledPayment3

Attributes

Name Description Values
ScheduledPayment - array[OBScheduledPayment3]

<a name=OBReadScheduledPayment3></a>

OBReadScheduledPayment3

Attributes

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>

OBExternalStandingOrderStatus1Code

Attributes

Type Description Example Values
enum - <ul style="padding-left: 0"><li>Active</li><li>Inactive</li></ul>

<a name=OBStandingOrder5></a>

OBStandingOrder5

Attributes

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>

OBReadDataStandingOrder5

Attributes

Name Description Values
StandingOrder - array[OBStandingOrder5]

<a name=OBReadStandingOrder6></a>

OBReadStandingOrder6

Attributes

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>

OBExternalStatementType1Code

Attributes

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>

OBStatement2

Provides further details on a statement resource.

Attributes

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>

OBReadDataStatement2

Attributes

Name Description Values
Statement Provides further details on a statement resource. array[OBStatement2]

<a name=OBReadStatement2></a>

OBReadStatement2

Attributes

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>

OBEntryStatus1Code

Attributes

Type Description Example Values
enum - <ul style="padding-left: 0"><li>Booked</li><li>Pending</li></ul>

<a name=ProprietaryBankTransactionCodeStructure1></a>

ProprietaryBankTransactionCodeStructure1

Set of elements to fully identify a proprietary bank transaction code.

Attributes

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>

OBTransactionCashBalance

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.

Attributes

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>

OBCashAccount6

Unambiguous identification of the account of the creditor, in the case of a debit transaction.

Attributes

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>

OBTransaction6

Provides further details on an entry in the report.

Attributes

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>

OBReadDataTransaction6

Attributes

Name Description Values
Transaction Provides further details on an entry in the report. array[OBTransaction6]

<a name=OBReadTransaction6></a>

OBReadTransaction6

Attributes

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>

Authentication

<!-- ReDoc-Inject: <security-definitions> -->

Claim this API

Are you the operator of Account and Transaction API Specification - UK? Submit a claim to establish contact with us.

Report an Issue

Found something wrong with Account and Transaction API Specification - UK? Let us know about broken links, changed auth, deprecated endpoints, or other issues.

Screenshot:
Screenshot of Account and Transaction API Specification - UK homepage
Base URL: https://apis.nbg.gr/sandbox/uk.openbanking.accountinfo/oauth2/v3.1.5
Auth: unknown
Endpoints: 3
Reachable: unknown
CORS: unknown

Links

Homepage: https://developer.nbg.gr/
API Base: https://apis.nbg.gr/sandbox/uk.openbanking.accountinfo/oauth2/v3.1.5

Topics

MESSAGING, PAYMENTS, SECURITY

Endpoints

Method Path Summary Auth Last Status Latency
GET account-access-consents/{consentId} Get Account Access Consents
GET party Get Party
GET sandbox/{sandboxId} Export Sandbox