API Explorer

v4.0.0 (353 APIs)

Bank
Accounts
Views
Counterparties
Transactions

Create Bank

Create a new bank (Authenticated access).

The user creating this will be automatically assigned the Role CanCreateEntitlementAtOneBank.
Thus the User can manage the bank they create and assign Roles to other Users.

Authentication is Mandatory

JSON request body fields:

JSON response body fields:

Typical Successful Response:

								
									
{ "id":"gh.29.uk", "short_name":"short_name ", "full_name":"full_name", "logo":"logo", "website":"www.openbankproject.com", "bank_routings":[{ "scheme":"Bank_ID", "address":"gh.29.uk" }] }
Required Roles:
  • CanCreateBank - Please login to request this Role
Possible Errors:
  • OBP-10001: Incorrect json format.
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30210: Insufficient authorisation to Create Bank. You do not have the role CanCreateBank.
  • OBP-50000: Unknown Error.
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Implemented in OBPv4.0.0 by createBank, operation_id: OBPv4.0.0-createBank

Create Settlement Account

Create a new settlement account at a bank.

The created settlement account id will be the concatenation of the payment system and the account currency.
For examples: SEPA_SETTLEMENT_ACCOUNT_EUR, CARD_SETTLEMENT_ACCOUNT_USD

By default, when you create a new bank, two settlements accounts are created automatically: OBP_DEFAULT_INCOMING_ACCOUNT_ID and OBP_DEFAULT_OUTGOING_ACCOUNT_ID
Those two accounts have EUR as default currency.

If you want to create default settlement account for a specific currency, you can fill the payment_system field with the DEFAULT value.

When a transaction is saved in OBP through the mapped connector, OBP-API look for the account to save the double-entry transaction.
If no OBP account can be found from the counterparty, the double-entry transaction will be saved on a bank settlement account.
- First, the mapped connector looks for a settlement account specific to the payment system and currency. E.g SEPA_SETTLEMENT_ACCOUNT_EUR.
- If we don't find any specific settlement account with the payment system, we look for a default settlement account for the counterparty currency. E.g DEFAULT_SETTLEMENT_ACCOUNT_EUR.
- Else, we select one of the two OBP default settlement accounts (OBP_DEFAULT_INCOMING_ACCOUNT_ID/OBP_DEFAULT_OUTGOING_ACCOUNT_ID) according to the transaction direction.

If the POST body USER_ID is specified, the logged in user must have the Role CanCreateAccount. Once created, the Account will be owned by the User specified by USER_ID.

If the POST body USER_ID is not specified, the account will be owned by the logged in User.

Note: The Amount MUST be zero.

Authentication is Mandatory

URL Parameters:

JSON request body fields:

JSON response body fields:

Typical Successful Response:

								
									
{ "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "payment_system":"SEPA", "balance":{ "currency":"EUR", "amount":"0" }, "label":"My Account", "branch_id":"DERBY6", "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "account_attributes":[{ "product_code":"saving1", "account_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23" }] }
Required Roles:
  • CanCreateSettlementAccountAtOneBank - Please login to request this Role
Possible Errors:
  • OBP-10001: Incorrect json format.
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-30112: Invalid Number. Initial balance must be a number, e.g 1000.00
  • OBP-30109: Initial Balance of Account must be Zero (0).
  • OBP-10003: Invalid Currency Value. It should be three letters ISO Currency Code.
  • OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by createSettlementAccount, operation_id: OBPv4.0.0-createSettlementAccount

Create Transaction Type at bank

Create Transaction Types for the bank specified by BANK_ID:

  • id : Unique transaction type id across the API instance. SHOULD be a UUID. MUST be unique.
  • bank_id : The bank that supports this TransactionType
  • short_code : A short code (SHOULD have no-spaces) which MUST be unique across the bank. May be stored with Transactions to link here
  • summary : A succinct summary
  • description : A longer description
  • charge : The charge to the customer for each one of these

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "id":{ "value":"123" }, "bankId":{ "value":"gh.uk.9j" }, "shortCode":"80080", "summary":"SANDBOX_TAN", "description":"This is the sandbox mode, charging litter money.", "charge":{ "currency":"EUR", "amount":"100" } }
Required Roles:
  • CanCreateTransactionType - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-10001: Incorrect json format.
  • OBP-40005: Insufficient authorisation to Create Transaction Type offered by the bank. The Request could not be created because you don't have access to CanCreateTransactionType.
  • OBP-50000: Unknown Error.
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Implemented in OBPv2.1.0 by createTransactionType, operation_id: OBPv2.1.0-createTransactionType

Get Bank

Get the bank specified by BANK_ID
Returns information about a single bank specified by BANK_ID including:

  • Short and full name of bank
  • Logo URL
  • Website

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "id":"gh.29.uk", "short_name":"short_name ", "full_name":"full_name", "logo":"logo", "website":"www.openbankproject.com", "bank_routings":[{ "scheme":"Bank_ID", "address":"gh.29.uk" }] }
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
Connector Methods:
Implemented in OBPv3.0.0 by bankById, operation_id: OBPv3.0.0-bankById

Get Banks

Get banks on this API instance
Returns a list of banks supported on this server:

  • ID used as parameter in URLs
  • Short and full name of bank
  • Logo URL
  • Website

Authentication is Optional

JSON response body fields:

Typical Successful Response:

								
									
{ "banks":[{ "id":"gh.29.uk", "short_name":"short_name ", "full_name":"full_name", "logo":"logo", "website":"www.openbankproject.com", "bank_routings":[{ "scheme":"Bank_ID", "address":"gh.29.uk" }] }] }
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by getBanks, operation_id: OBPv4.0.0-getBanks

Get Settlement accounts at Bank

Get settlement accounts on this API instance
Returns a list of settlement accounts at this Bank

Note: a settlement account is considered as a bank account.
So you can update it and add account attributes to it using the regular account endpoints

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "settlement_accounts":[{ "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "payment_system":"SEPA", "balance":{ "currency":"EUR", "amount":"0" }, "label":"My Account", "branch_id":"DERBY6", "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "account_attributes":[{ "product_code":"saving1", "account_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23" }] }] }
Required Roles:
  • CanGetSettlementAccountAtOneBank - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by getSettlementAccounts, operation_id: OBPv4.0.0-getSettlementAccounts

Get Transaction Types at Bank

Get Transaction Types for the bank specified by BANK_ID:

Lists the possible Transaction Types available at the bank (as opposed to Transaction Request Types which are the possible ways Transactions can be created by this API Server).

  • id : Unique transaction type id across the API instance. SHOULD be a UUID. MUST be unique.
  • bank_id : The bank that supports this TransactionType
  • short_code : A short code (SHOULD have no-spaces) which MUST be unique across the bank. May be stored with Transactions to link here
  • summary : A succinct summary
  • description : A longer description
  • charge : The charge to the customer for each one of these

Authentication is Optional

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "transaction_types":[{ "id":{ "value":"123" }, "bank_id":"gh.29.uk", "short_code":"PlaceholderString", "summary":"PlaceholderString", "description":"PlaceholderString", "charge":{ "currency":"EUR", "amount":"0" } }] }
Possible Errors:
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.0.0 by getTransactionTypes, operation_id: OBPv2.0.0-getTransactionTypes