API Explorer

v4.0.0 (542 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.

Only SANDBOX mode
The settlement accounts are created specified by the bank in the POST body.
Name and account id are created in accordance to the next rules:
- Incoming account (name: Default incoming settlement account, Account ID: OBP_DEFAULT_INCOMING_ACCOUNT_ID, currency: EUR)
- Outgoing account (name: Default outgoing settlement account, Account ID: OBP_DEFAULT_OUTGOING_ACCOUNT_ID, currency: EUR)

Authentication is Mandatory

JSON request body fields:

address:

bank_routings: bank routing in form of (scheme, address)

full_name: full name string

id: d8839721-ad8f-45dd-9f78-2080414b93f9

logo: logo url

scheme: scheme value

short_name:

website: www.openbankproject.com

JSON response body fields:

address:

bank_routings: bank routing in form of (scheme, address)

full_name: full name string

id: d8839721-ad8f-45dd-9f78-2080414b93f9

logo: logo url

name: ACCOUNT_MANAGEMENT_FEE

scheme: scheme value

short_name:

value: 5987953

website: www.openbankproject.com

attributes: attribute value in form of (name, value)

Typical Successful Response:

								
									
{ "id":"gh.29.uk", "short_name":"short_name ", "full_name":"full_name", "logo":"logo", "website":"www.openbankproject.com", "bank_routings":[{ "scheme":"scheme value", "address":"" }], "attributes":[{ "name":"ACCOUNT_MANAGEMENT_FEE", "value":"5987953" }] }
Required Roles:
  • CanCreateBank - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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:
Version: OBPv4.0.0, function_name: by createBank, operation_id: OBPv4.0.0-createBank Tags: Bank,

Create Bank Attribute

Create Bank Attribute

Typical product attributes might be:

ISIN (for International bonds)
VKN (for German bonds)
REDCODE (markit short code for credit derivative)
LOAN_ID (e.g. used for Anacredit reporting)

ISSUE_DATE (When the bond was issued in the market)
MATURITY_DATE (End of life time of a product)
TRADABLE

See FPML for more examples.

The type field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"

Authentication is Mandatory

URL Parameters:

BANK_ID: gh.29.uk

JSON request body fields:

name: ACCOUNT_MANAGEMENT_FEE

type:

value: 5987953

is_active: false

JSON response body fields:

bank_attribute_id: bank_attribute_id

bank_id: gh.29.uk

name: ACCOUNT_MANAGEMENT_FEE

type:

value: 5987953

is_active: false

Typical Successful Response:

								
									
{ "bank_id":"gh.29.uk", "bank_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23", "is_active":true }
Required Roles:
  • CanCreateBankAttribute - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-10001: Incorrect json format.
  • OBP-50000: Unknown Error.
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv4.0.0, function_name: by createBankAttribute, operation_id: OBPv4.0.0-createBankAttribute Tags: Bank,

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:

BANK_ID: gh.29.uk

JSON request body fields:

account_routings:

address:

amount: 10.12

balance: 10

branch_id: DERBY6

currency: EUR

label: My Account

payment_system: SEPA

scheme: scheme value

user_id: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1

JSON response body fields:

account_attribute_id:

account_attributes:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

account_routings:

address:

amount: 10.12

balance: 10

branch_id: DERBY6

currency: EUR

label: My Account

name: ACCOUNT_MANAGEMENT_FEE

payment_system: SEPA

product_code: 1234BW

scheme: scheme value

type:

user_id: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1

value: 5987953

product_instance_code: product_instance_code

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":"1234BW", "account_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23", "product_instance_code":"LKJL98769F" }] }
Required Roles:
  • CanCreateSettlementAccountAtOneBank - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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.
Connector Methods:
Version: OBPv4.0.0, function_name: by createSettlementAccount, operation_id: OBPv4.0.0-createSettlementAccount Tags: Bank,

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:

BANK_ID: gh.29.uk

JSON response body fields:

amount: 10.12

bankId:

charge:

currency: EUR

description: Description of the object. Maximum length is 2000. It can be any characters here.

id: d8839721-ad8f-45dd-9f78-2080414b93f9

shortCode:

summary:

value: 5987953

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
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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:
Version: OBPv2.1.0, function_name: by createTransactionType, operation_id: OBPv2.1.0-createTransactionType Tags: Bank,

Create or Update Bank Attribute Definition

Create or Update Bank Attribute Definition

The category field must be Bank

The type field must be one of; DOUBLE, STRING, INTEGER and DATE_WITH_DAY

Authentication is Mandatory

URL Parameters:

BANK_ID: gh.29.uk

JSON response body fields:

alias:

attribute_definition_id:

bank_id: gh.29.uk

can_be_seen_on_views: false

category:

description: Description of the object. Maximum length is 2000. It can be any characters here.

is_active: false

name: ACCOUNT_MANAGEMENT_FEE

type:

Typical Successful Response:

								
									
{ "attribute_definition_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "bank_id":"gh.29.uk", "name":"SPECIAL_TAX_NUMBER", "category":"Bank", "type":"STRING", "description":"description", "alias":"STRING", "can_be_seen_on_views":["bank"], "is_active":true }
Required Roles:
  • CanCreateBankAttributeDefinitionAtOneBank - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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-50000: Unknown Error.
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv4.0.0, function_name: by createOrUpdateBankAttributeDefinition, operation_id: OBPv4.0.0-createOrUpdateBankAttributeDefinition Tags: Bank,

Delete Bank Attribute

Delete Bank Attribute

Delete a Bank Attribute by its id.

Authentication is Mandatory

URL Parameters:

BANK_ATTRIBUTE_ID: BANK_ATTRIBUTE_ID

BANK_ID: gh.29.uk

JSON response body fields:

Typical Successful Response:

								
									
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-50000: Unknown Error.
  • OBP-20001: User not logged in. Authentication is required!
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteBankAttribute, operation_id: OBPv4.0.0-deleteBankAttribute Tags: Bank,

Delete Bank Cascade

Delete a Bank Cascade specified by BANK_ID.

Authentication is Mandatory

URL Parameters:

BANK_ID: gh.29.uk

JSON response body fields:

Typical Successful Response:

								
									
Required Roles:
  • CanDeleteBankCascade - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteBankCascade, operation_id: OBPv4.0.0-deleteBankCascade Tags: Bank,

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 Optional

URL Parameters:

BANK_ID: gh.29.uk

JSON response body fields:

address:

bank_routings: bank routing in form of (scheme, address)

full_name: full name string

id: d8839721-ad8f-45dd-9f78-2080414b93f9

logo: logo url

name: ACCOUNT_MANAGEMENT_FEE

scheme: scheme value

short_name:

value: 5987953

website: www.openbankproject.com

attributes: attribute value in form of (name, value)

Typical Successful Response:

								
									
{ "id":"gh.29.uk", "short_name":"short_name ", "full_name":"full_name", "logo":"logo", "website":"www.openbankproject.com", "bank_routings":[{ "scheme":"scheme value", "address":"" }], "attributes":[{ "name":"ACCOUNT_MANAGEMENT_FEE", "value":"5987953" }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
Connector Methods:
Version: OBPv4.0.0, function_name: by getBank, operation_id: OBPv4.0.0-getBank Tags: Bank, Account Information Service (AIS), PSD2,

Get Bank Attribute By BANK_ATTRIBUTE_ID

Get Bank Attribute By BANK_ATTRIBUTE_ID

Authentication is Mandatory

URL Parameters:

BANK_ATTRIBUTE_ID: BANK_ATTRIBUTE_ID

BANK_ID: gh.29.uk

JSON response body fields:

bank_attribute_id: bank_attribute_id

bank_id: gh.29.uk

name: ACCOUNT_MANAGEMENT_FEE

type:

value: 5987953

is_active: false

Typical Successful Response:

								
									
{ "bank_id":"gh.29.uk", "bank_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23", "is_active":true }
Required Roles:
  • CanGetBankAttribute - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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-50000: Unknown Error.
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv4.0.0, function_name: by getBankAttribute, operation_id: OBPv4.0.0-getBankAttribute Tags: Bank,

Get Bank Attributes

Get Bank Attributes

Authentication is Mandatory

URL Parameters:

BANK_ID: gh.29.uk

JSON response body fields:

bank_attribute_id: bank_attribute_id

bank_attributes: bank_attributes

bank_id: gh.29.uk

name: ACCOUNT_MANAGEMENT_FEE

type:

value: 5987953

is_active: false

Typical Successful Response:

								
									
{ "bank_attributes":[{ "bank_id":"gh.29.uk", "bank_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23", "is_active":true }] }
Required Roles:
  • CanGetBankAttribute - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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-50000: Unknown Error.
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv4.0.0, function_name: by getBankAttributes, operation_id: OBPv4.0.0-getBankAttributes Tags: Bank,

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:

BANK_ID: gh.29.uk

JSON response body fields:

account_attribute_id:

account_attributes:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

account_routings:

address:

amount: 10.12

balance: 10

branch_id: DERBY6

currency: EUR

label: My Account

name: ACCOUNT_MANAGEMENT_FEE

payment_system: SEPA

product_code: 1234BW

scheme: scheme value

settlement_accounts:

type:

value: 5987953

product_instance_code: product_instance_code

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":"1234BW", "account_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23", "product_instance_code":"LKJL98769F" }] }] }
Required Roles:
  • CanGetSettlementAccountAtOneBank - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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.
Connector Methods:
Version: OBPv4.0.0, function_name: by getSettlementAccounts, operation_id: OBPv4.0.0-getSettlementAccounts Tags: Bank, PSD2,

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:

BANK_ID: gh.29.uk

JSON response body fields:

amount: 10.12

bank_id: gh.29.uk

charge:

currency: EUR

description: Description of the object. Maximum length is 2000. It can be any characters here.

id: d8839721-ad8f-45dd-9f78-2080414b93f9

short_code:

summary:

transaction_types:

value: 5987953

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" } }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv2.0.0, function_name: by getTransactionTypes, operation_id: OBPv2.0.0-getTransactionTypes Tags: Bank, Account Information Service (AIS), PSD2,

Update Bank Attribute

Update Bank Attribute.

Update one Bak Attribute by its id.

Authentication is Mandatory

URL Parameters:

BANK_ATTRIBUTE_ID: BANK_ATTRIBUTE_ID

BANK_ID: gh.29.uk

JSON response body fields:

alias:

can_be_seen_on_views: false

category:

description: Description of the object. Maximum length is 2000. It can be any characters here.

is_active: false

name: ACCOUNT_MANAGEMENT_FEE

type:

Typical Successful Response:

								
									
{ "name":"SPECIAL_TAX_NUMBER", "category":"Bank", "type":"STRING", "description":"description", "alias":"STRING", "can_be_seen_on_views":["bank"], "is_active":true }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
  • OBP-20001: User not logged in. Authentication is required!
Connector Methods:
Version: OBPv4.0.0, function_name: by updateBankAttribute, operation_id: OBPv4.0.0-updateBankAttribute Tags: Bank,