API Explorer

v4.0.0 (266 APIs)

Bank
Accounts
Views
Counterparties
Transactions

Check Available Funds

Check Available Funds
Mandatory URL parameters:

  • amount=NUMBER
  • currency=STRING
Typical Successful Response:

								
									
{ "answer":"yes", "date":"2020-11-26T01:20:47Z", "available_funds_request_id":"c4ykz59svsr9b7fmdxk8ezs7" }
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-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-20054: Invalid amount. Please specify a valid value for amount.
  • OBP-10003: Invalid Currency Value. It should be three letters ISO Currency Code.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by checkFundsAvailable

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 - the User that has the USER_ID specified in the POST body.

If the PUT 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 PUT body USER_ID is not specified, the account will be owned by the logged in User.

The 'product_code' field SHOULD be a product_code from Product.
If the 'product_code' matches a product_code from Product, account attributes will be created that match the Product Attributes.

Note: The Amount MUST be zero.

Typical Successful Response:

								
									
{ "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "label":"My Account", "product_code":"AC", "balance":{ "currency":"EUR", "amount":"10" }, "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:
  • 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 OBPv3.1.0 by createAccount

Create Account (POST)

Create Account at bank specified by BANK_ID.

The User can create an Account for himself - or - the User that has the USER_ID specified in the POST body.

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.

The 'product_code' field SHOULD be a product_code from Product.
If the product_code matches a product_code from Product, account attributes will be created that match the Product Attributes.

Note: The Amount MUST be zero.

Typical Successful Response:

								
									
{ "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "label":"My Account", "product_code":"AC", "balance":{ "currency":"EUR", "amount":"10" }, "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:
  • CanCreateAccount - 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-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-50000: Unknown Error.
Implemented in OBPv4.0.0 by addAccount

Create Account Attribute

Create Account Attribute

Account Attributes are used to describe a financial Product with a list of typed key value pairs.

Each Account Attribute is linked to its Account by ACCOUNT_ID

Typical account 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

Typical Successful Response:

								
									
{ "product_code":"saving1", "account_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23" }
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-10001: Incorrect json format.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by createAccountAttribute

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
  • Account Attributes - A list that might include custom defined account attribute
  • Tags - A list of Tags assigned to this account

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

Authentication is Mandatory

Typical Successful Response:

								
									
{ "id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "bank_id":"GENODEM1GLS", "label":"My Account", "number":"546387432", "owners":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"http://127.0.0.1:8080", "display_name":"OBP" }], "product_code":"AC", "balance":{ "currency":"EUR", "amount":"10" }, "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 }], "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" }], "tags":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "value":"OBP", "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"http://127.0.0.1:8080", "display_name":"OBP" } }] }
Possible Errors:
  • OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by 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.

Typical Successful Response:

								
									
{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "label":"NoneLabel", "number":"123", "owners":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"http://127.0.0.1:8080", "display_name":"OBP" }], "product_code":"OBP", "balance":{ "currency":"EUR", "amount":"10" }, "views_available":[{ "id":"123", "short_name":"short_name", "description":"description", "is_public":true, "alias":"None", "hide_metadata_if_alias_used":true, "can_add_comment":true, "can_add_corporate_location":true, "can_add_image":true, "can_add_image_url":true, "can_add_more_info":true, "can_add_open_corporates_url":true, "can_add_physical_location":true, "can_add_private_alias":true, "can_add_public_alias":true, "can_add_tag":true, "can_add_url":true, "can_add_where_tag":true, "can_delete_comment":true, "can_delete_corporate_location":true, "can_delete_image":true, "can_delete_physical_location":true, "can_delete_tag":true, "can_delete_where_tag":true, "can_edit_owner_comment":true, "can_see_bank_account_balance":true, "can_see_bank_account_bank_name":true, "can_see_bank_account_currency":true, "can_see_bank_account_iban":true, "can_see_bank_account_label":true, "can_see_bank_account_national_identifier":true, "can_see_bank_account_number":true, "can_see_bank_account_owners":true, "can_see_bank_account_swift_bic":true, "can_see_bank_account_type":true, "can_see_comments":true, "can_see_corporate_location":true, "can_see_image_url":true, "can_see_images":true, "can_see_more_info":true, "can_see_open_corporates_url":true, "can_see_other_account_bank_name":true, "can_see_other_account_iban":true, "can_see_other_account_kind":true, "can_see_other_account_metadata":true, "can_see_other_account_national_identifier":true, "can_see_other_account_number":true, "can_see_other_account_swift_bic":true, "can_see_owner_comment":true, "can_see_physical_location":true, "can_see_private_alias":true, "can_see_public_alias":true, "can_see_tags":true, "can_see_transaction_amount":true, "can_see_transaction_balance":true, "can_see_transaction_currency":true, "can_see_transaction_description":true, "can_see_transaction_finish_date":true, "can_see_transaction_metadata":true, "can_see_transaction_other_bank_account":true, "can_see_transaction_start_date":true, "can_see_transaction_this_bank_account":true, "can_see_transaction_type":true, "can_see_url":true, "can_see_where_tag":true }], "bank_id":"GENODEM1GLS", "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" }], "tags":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "value":"OBP", "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"http://127.0.0.1:8080", "display_name":"OBP" } }] }
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 OBPv4.0.0 by getPrivateAccountByIdFull

Get Accounts Balances

Get the Balances for the Accounts of the current User at one bank.

Typical Successful Response:

								
									
{ "accounts":[{ "id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "label":"My Account", "bank_id":"GENODEM1GLS", "account_routings":[{ "scheme":"accountNumber", "address":"123456" }], "balance":{ "currency":"EUR", "amount":"100" } }], "overall_balance":{ "currency":"EUR", "amount":"100" }, "overall_balance_date":"2017-09-19T00:00:00Z" }
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getBankAccountsBalances

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

Typical Successful Response:

								
									
{ "accounts":[{ "id":"12314", "bank_id":"123", "number":"123", "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }] }] }
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getAccountsHeld

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

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

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

Typical Successful Response:

								
									
{ "accounts":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "label":"String", "bank_id":"GENODEM1GLS", "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

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.

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_type_filter=330,CURRENT+PLUS&account_type_filter_operation=INCLUDE

Authentication is Mandatory

Typical Successful Response:

								
									
{ "accounts":[{ "id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0", "label":"NoneLabel", "bank_id":"GENODEM1GLS", "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.
Implemented in OBPv2.0.0 by getPrivateAccountsAtOneBank

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

Typical Successful Response:

								
									
{ "accounts":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "label":"String", "bank_id":"GENODEM1GLS", "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

Get Checkbook orders

NOTE: This endpoint currently only returns example data.

  Get all checkbook orders
Typical Successful Response:

								
									
{ "account":{ "bank_id":"GENODEM1GLS", "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "account_type":"330", "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "branch_routings":[{ "scheme":"BranchNumber", "address":"678" }] }, "orders":[{ "order":{ "order_id":"xjksajfkj", "order_date":"07082013", "number_of_checkbooks":"4", "distribution_channel":"1201", "status":"2", "first_check_number":"5165276", "shipping_code":"1" } }] }
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-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-50211: Connector did not return the set of check book.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getCheckbookOrders

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'

Authentication is Mandatory

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":"10" }, "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "account_rules":[{ "scheme":"OVERDRAFT", "value":"10" }] }] }
Required Roles:
  • CanUseFirehoseAtAnyBank - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getFirehoseAccountsAtOneBank

Update Account Attribute

Update Account Attribute

Account Attributes are used to describe a financial Product with a list of typed key value pairs.

Each Account Attribute is linked to its Account by ACCOUNT_ID

Typical account 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.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "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:
  • CanUpdateAccountAttribute - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-10001: Incorrect json format.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by updateAccountAttribute

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

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

Update Account.

Update the account.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "bank_id":"GENODEM1GLS", "account_id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0", "label":"Label", "type":"CURRENT", "branch_id":"1234", "account_routing":{ "scheme":"AccountNumber", "address":"4930396" } }
Required Roles:
  • CanUpdateAccount - Please login to request this Role
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.
Implemented in OBPv3.1.0 by updateAccount