API Explorer

v3.0.0 (164 APIs)

Bank
Accounts
Views
Counterparties
Transactions

Create Account

Create Account at bank specified by BANK_ID with Id specified by ACCOUNT_ID.

The User can create an Account for themself or an Account for another User if they have CanCreateAccount role.

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

The type field should be a product_code from Product.

Note: The Amount must be zero.

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "label":"Label", "type":"CURRENT", "balance":{ "currency":"EUR", "amount":"0" }, "branch_id":"1234", "account_routing":{ "scheme":"OBP", "address":"UK123456" } }
Required Roles:
  • CanCreateAccount - Please login to request this Role
Possible Errors:
  • OBP-10001: Incorrect json format.
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30107: Invalid User Id.
  • OBP-30110: Invalid Account Id. The ACCOUNT_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.
  • OBP-30111: Invalid Bank Id. The BANK_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.
  • OBP-20005: User not found. Please specify a valid value for USER_ID.
  • OBP-20006: User is missing one or more roles:
  • OBP-30106: Invalid Balance Amount.
  • 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-30105: Invalid Balance Currency.
  • OBP-30208: Account_ID already exists at the Bank.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.2.0 by createAccount, operation_id: OBPv2.2.0-createAccount

Get Account by Id (Core)

Information returned about the account specified by ACCOUNT_ID:

  • Number - The human readable account number given by the bank that identifies the account.
  • Label - A label given by the owner of the account
  • Owners - Users that own this account
  • Type - The type of account
  • Balance - Currency and Value
  • Account Routings - A list that might include IBAN or national account identifiers
  • Account Rules - A list that might include Overdraft and other bank specific rules

This call returns the owner view and requires access to that view.

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "bank_id":"gh.29.uk", "label":"My Account", "number":"546387432", "owners":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"http://127.0.0.1:8080", "display_name":"OBP" }], "type":"AC", "balance":{ "currency":"EUR", "amount":"0" }, "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "views_basic":[{ "id":"owner", "short_name":"Owner", "description":"This view is for the owner for the account.", "is_public":false }] }
Possible Errors:
  • OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-50000: Unknown Error.
  • OBP-20001: User not logged in. Authentication is required!
Implemented in OBPv3.0.0 by getCoreAccountById, operation_id: OBPv3.0.0-getCoreAccountById

Get Account by Id (Full)

Information returned about an account specified by ACCOUNT_ID as moderated by the view (VIEW_ID):

  • Number
  • Owners
  • Type
  • Balance
  • IBAN
  • Available views (sorted by short_name)

More details about the data moderation by the view here.

PSD2 Context: PSD2 requires customers to have access to their account information via third party applications.
This call provides balance and other account information via delegated authentication using OAuth.

Authentication is required if the 'is_public' field in view (VIEW_ID) is not set to true.

Authentication is Optional

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "bank_id":"String", "label":"String", "number":"String", "owners":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"http://127.0.0.1:8080", "display_name":"OBP" }], "type":"String", "balance":{ "currency":"EUR", "amount":"0" }, "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "account_rules":[{ "scheme":"OVERDRAFT", "value":"10" }] }
Possible Errors:
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-30003: Account not found. Please specify a valid value for ACCOUNT_ID.
  • OBP-30005: View not found for Account. Please specify a valid value for VIEW_ID
  • OBP-20017: Current user does not have access to the view. Please specify a valid value for VIEW_ID.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getPrivateAccountById, operation_id: OBPv3.0.0-getPrivateAccountById

Get Accounts Held

Get Accounts held by the current User if even the User has not been assigned the owner View yet.

Can be used to onboard the account to the API - since all other account and transaction endpoints require views to be assigned.

optional request parameters:

  • account_type_filter: one or many accountType value, split by comma
  • account_type_filter_operation: the filter type of account_type_filter, value must be INCLUDE or EXCLUDE

whole url example:
/banks/BANK_ID/accounts-held?account_type_filter=330,CURRENT+PLUS&account_type_filter_operation=INCLUDE

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "accounts":[{ "id":"12314", "label":"My Account", "bank_id":"123", "number":"123", "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }] }] }
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getAccountsHeld, operation_id: OBPv3.0.0-getAccountsHeld

Get Accounts at Bank

Returns the list of accounts at BANK_ID that the user has access to.
For each account the API returns the account ID and the views available to the user..
Each account must have at least one private View.

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "accounts":[{ "id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0", "label":"NoneLabel", "bank_id":"gh.29.uk", "views_available":[{ "id":"1", "short_name":"HHH", "is_public":true }] }] }
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!
Implemented in OBPv2.0.0 by getPrivateAccountsAtOneBank, operation_id: OBPv2.0.0-getPrivateAccountsAtOneBank

Get Accounts at Bank (IDs only)

Returns only the list of accounts ids at BANK_ID that the user has access to.

Each account must have at least one private View.

For each account the API returns its account ID.

If you want to see more information on the Views, use the Account Detail call.

optional request parameters:

  • account_type_filter: one or many accountType value, split by comma
  • account_type_filter_operation: the filter type of account_type_filter, value must be INCLUDE or EXCLUDE

whole url example:
/banks/BANK_ID/accounts/account_ids/private?account_type_filter=330,CURRENT+PLUS&account_type_filter_operation=INCLUDE

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "accounts":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf" }] }
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-50000: Unknown Error.
Implemented in OBPv3.0.0 by getPrivateAccountIdsbyBankId, operation_id: OBPv3.0.0-getPrivateAccountIdsbyBankId

Get Accounts at Bank (Minimal)

Returns the minimal list of private accounts at BANK_ID that the user has access to.
For each account, the API returns the ID, routing addresses and the views available to the current user.

If you want to see more information on the Views, use the Account Detail call.

optional request parameters:

  • account_type_filter: one or many accountType value, split by comma
  • account_type_filter_operation: the filter type of account_type_filter, value must be INCLUDE or EXCLUDE

whole url example:
/banks/BANK_ID/accounts/private?account_type_filter=330,CURRENT+PLUS&account_type_filter_operation=INCLUDE

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "accounts":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "label":"String", "bank_id":"gh.29.uk", "account_type":"330", "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "views":[{ "id":"owner", "short_name":"Owner", "description":"This view is for the owner for the account.", "is_public":false }] }] }
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-50000: Unknown Error.
Implemented in OBPv3.0.0 by privateAccountsAtOneBank, operation_id: OBPv3.0.0-privateAccountsAtOneBank

Get Accounts at all Banks (private)

Returns the list of accounts containing private views for the user.
Each account lists the views available to the user.

optional request parameters:

  • account_type_filter: one or many accountType value, split by comma
  • account_type_filter_operation: the filter type of account_type_filter, value must be INCLUDE or EXCLUDE

whole url example:
/my/accounts?account_type_filter=330,CURRENT+PLUS&account_type_filter_operation=INCLUDE

Authentication is Mandatory

JSON response body fields:

Typical Successful Response:

								
									
{ "accounts":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "label":"String", "bank_id":"gh.29.uk", "account_type":"330", "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "views":[{ "id":"owner", "short_name":"Owner", "description":"This view is for the owner for the account.", "is_public":false }] }] }
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by corePrivateAccountsAllBanks, operation_id: OBPv3.0.0-corePrivateAccountsAllBanks

Get Firehose Accounts at Bank

Get Accounts which have a firehose view assigned to them.

This endpoint allows bulk access to accounts.

Requires the CanUseFirehoseAtAnyBank Role

To be shown on the list, each Account must have a firehose View linked to it.

A firehose view has is_firehose = true

For VIEW_ID try 'owner'

optional request parameters for filter with attributes
URL params example:
/banks/some-bank-id/firehose/accounts/views/owner?manager=John&count=8

to invalid Browser cache, add timestamp query parameter as follow, the parameter name must be _timestamp_
URL params example:
/banks/some-bank-id/firehose/accounts/views/owner?manager=John&count=8&_timestamp_=1596762180358

Authentication is Mandatory

URL Parameters:

JSON response body fields:

Typical Successful Response:

								
									
{ "accounts":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "bank_id":"String", "label":"String", "number":"String", "owners":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"http://127.0.0.1:8080", "display_name":"OBP" }], "type":"String", "balance":{ "currency":"EUR", "amount":"0" }, "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "account_rules":[{ "scheme":"OVERDRAFT", "value":"10" }] }] }
Required Roles:
  • CanUseAccountFirehoseAtAnyBank - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
  • OBP-20006: User is missing one or more roles:
Implemented in OBPv3.0.0 by getFirehoseAccountsAtOneBank, operation_id: OBPv3.0.0-getFirehoseAccountsAtOneBank

Update Account Label

Update the label for the account. The label is how the account is known to the account owner e.g. 'My savings account'

Authentication is Mandatory

URL Parameters:

JSON request body fields:

JSON response body fields:

Typical Successful Response:

								
									
{ "success":"Success" }
Possible Errors:
  • OBP-10001: Incorrect json format.
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
  • OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • user does not have access to owner view on account
Implemented in OBPv1.2.1 by updateAccountLabel, operation_id: OBPv1.2.1-updateAccountLabel