-
API
-
The terms `API` (Application Programming Interface) and `Endpoint` are used somewhat interchangeablyMore...
- Get API Configuration
- Get API Info (root)
- Get Adapter Info for a bank
-
-
Account
-
The thing that tokens of value (money) come in and out of. An account has one or more `owners` whichMore...
- Create Account
- Get Account by Id (Core)
- Get Account by Id (Full)
- Get Accounts Held
- Get Accounts at Bank
- Get Accounts at Bank (IDs only)
- Get Accounts at Bank (Minimal)
- Get Accounts at all Banks (private)
- Get Firehose Accounts at Bank
- Update Account Label
-
-
Bank
-
A Bank (aka Space) represents a financial institution, brand or organizational unit under which resMore...
- Create Bank
- Create Transaction Type at bank
- Get Bank
- Get Banks
- Get Transaction Types at Bank
-
-
Consumer
-
The "consumer" of the API, i.e. the web, mobile or serverside "App" that calls on the OBP API on beMore...
- Enable or Disable Consumers
- Get Consumer
- Get Consumers
- Update Consumer RedirectUrl
-
-
Counterparty Metadata
- Add Corporate Location to Counterparty
- Add Counterparty More Info
- Add Open Corporates URL to Counterparty
- Add image url to other bank account
- Add physical location to other bank account
- Add public alias to other bank account
- Add url to other bank account
- Create Other Account Private Alias
- Delete Counterparty Corporate Location
- Delete Counterparty Image URL
- Delete Counterparty Open Corporates URL
- Delete Counterparty Physical Location
- Delete Counterparty Private Alias
- Delete Counterparty Public Alias
- Delete more info of other bank account
- Delete url of other bank account
- Get Other Account Metadata
- Get Other Account Private Alias
- Get public alias of other bank account
- Update Counterparty Corporate Location
- Update Counterparty Image Url
- Update Counterparty More Info
- Update Counterparty Physical Location
- Update Counterparty Private Alias
- Update Open Corporates Url of Counterparty
- Update public alias of other bank account
- Update url of other bank account
-
Customer
-
The legal entity that has the relationship to the bank. Customers are linked to Users via `User CusMore...
- Create Customer
- Create Customer Social Media Handle
- Create User Customer Link
- Get CRM Events
- Get Customer Social Media Handles
- Get Customers for Current User
- Get Customers for current User at Bank
-
-
Role
- Add Entitlement for a User
- Create Entitlement Request for current User
- Delete Entitlement
- Delete Entitlement Request
- Get Entitlement Requests for a User
- Get Entitlement Requests for the current User
- Get Entitlements for User
- Get Entitlements for User at Bank
- Get Entitlements for the current User
- Get Roles
- Get all Entitlement Requests
- Get all Entitlements
-
Transaction
-
Transactions are records of successful movements of value into or out of an `Account`. OBP TransacMore...
- Get Firehose Transactions for Account
- Get Other Account of Transaction
- Get Transaction by Id
- Get Transactions for Account (Core)
- Get Transactions for Account (Full)
-
-
Transaction Metadata
- Add a Transaction Comment
- Add a Transaction Image
- Add a Transaction Narrative
- Add a Transaction Tag
- Add a Transaction where Tag
- Delete a Transaction Comment
- Delete a Transaction Image
- Delete a Transaction Narrative
- Delete a Transaction Tag
- Delete a Transaction Tag
- Get Transaction Comments
- Get Transaction Images
- Get Transaction Tags
- Get a Transaction Narrative
- Get a Transaction where Tag
- Update a Transaction Narrative
- Update a Transaction where Tag
-
User
-
The entity that accesses the API with a login / authorisation token and has access to zero or moreMore...
- Create User
- Get User (Current)
- Get User by USERNAME
- Get User by USER_ID
- Get Users by Email Address
- Get all Users
-
-
API
-
ATM
-
Account
- Create Account
- Get Account by Id (Core)
- Get Account by Id (Full)
- Get Accounts Held
- Get Accounts at Bank
- Get Accounts at Bank (IDs only)
- Get Accounts at Bank (Minimal)
- Get Accounts at all Banks (private)
- Get Firehose Accounts at Bank
- Update Account Label
-
Account Public
-
Bank
-
Branch
-
Card
-
Consumer
-
Counterparty
- Create Counterparty (Explicit)
- Get Counterparties (Explicit)
- Get Counterparty by Counterparty Id (Explicit)
- Get Other Account by Id
- Get Other Accounts of one Account
-
Counterparty Metadata
- Add Corporate Location to Counterparty
- Add Counterparty More Info
- Add Open Corporates URL to Counterparty
- Add image url to other bank account
- Add physical location to other bank account
- Add public alias to other bank account
- Add url to other bank account
- Create Other Account Private Alias
- Delete Counterparty Corporate Location
- Delete Counterparty Image URL
- Delete Counterparty Open Corporates URL
- Delete Counterparty Physical Location
- Delete Counterparty Private Alias
- Delete Counterparty Public Alias
- Delete more info of other bank account
- Delete url of other bank account
- Get Other Account Metadata
- Get Other Account Private Alias
- Get public alias of other bank account
- Update Counterparty Corporate Location
- Update Counterparty Image Url
- Update Counterparty More Info
- Update Counterparty Physical Location
- Update Counterparty Private Alias
- Update Open Corporates Url of Counterparty
- Update public alias of other bank account
- Update url of other bank account
-
Customer
- Create Customer
- Create Customer Social Media Handle
- Create User Customer Link
- Get CRM Events
- Get Customer Social Media Handles
- Get Customers for Current User
- Get Customers for current User at Bank
-
Customer Message
-
Data Warehouse
-
Documentation
- Get Bank Level Dynamic Resource Docs
- Get Glossary of the API
- Get Message Docs
- Get Resource Docs
- Get Resource Docs
- Get Swagger documentation
-
Dynamic Resource Doc
-
FX
-
KYC
- Add KYC Check
- Add KYC Document
- Add KYC Media
- Add KYC Status
- Get Customer KYC Checks
- Get Customer KYC Documents
- Get Customer KYC statuses
- Get KYC Media for a customer
-
Metric
-
Product
-
Role
- Add Entitlement for a User
- Create Entitlement Request for current User
- Delete Entitlement
- Delete Entitlement Request
- Get Entitlement Requests for a User
- Get Entitlement Requests for the current User
- Get Entitlements for User
- Get Entitlements for User at Bank
- Get Entitlements for the current User
- Get Roles
- Get all Entitlement Requests
- Get all Entitlements
-
Sandbox
-
Scope
-
Transaction
- Get Firehose Transactions for Account
- Get Other Account of Transaction
- Get Transaction by Id
- Get Transactions for Account (Core)
- Get Transactions for Account (Full)
-
Transaction Metadata
- Add a Transaction Comment
- Add a Transaction Image
- Add a Transaction Narrative
- Add a Transaction Tag
- Add a Transaction where Tag
- Delete a Transaction Comment
- Delete a Transaction Image
- Delete a Transaction Narrative
- Delete a Transaction Tag
- Delete a Transaction Tag
- Get Transaction Comments
- Get Transaction Images
- Get Transaction Tags
- Get a Transaction Narrative
- Get a Transaction where Tag
- Update a Transaction Narrative
- Update a Transaction where Tag
-
Transaction Request
- Answer Transaction Request Challenge
- Create Transaction Request (COUNTERPARTY)
- Create Transaction Request (FREE_FORM)
- Create Transaction Request (SANDBOX_TAN)
- Create Transaction Request (SEPA)
- Get Transaction Request Types at Bank
- Get Transaction Request Types for Account
- Get Transaction Requests
-
User
- Create User
- Get User (Current)
- Get User by USERNAME
- Get User by USER_ID
- Get Users by Email Address
- Get all Users
-
View Custom
- Create View
- Delete View
- Get Account access for User
- Get Views for Account
- Get access
- Grant User access to View
- Grant User access to a list of views
- Revoke access to all Views on Account
- Revoke access to one View
- Update View
v3.0.0 (164 APIs)
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:
ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
BANK_ID: gh.29.uk
JSON response body fields:
amount: 10.12
balance: 10
branch_id: DERBY6
currency: EUR
label: My Account
scheme: scheme value
type:
user_id: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1
{
"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"
}
}
-
CanCreateAccount
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- 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.
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:
ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
BANK_ID: gh.29.uk
JSON response body fields:
amount: 10.12
balance: 10
bank_id: gh.29.uk
currency: EUR
description: This an optional field. Maximum length is 2000. It can be any characters here.
id: d8839721-ad8f-45dd-9f78-2080414b93f9
is_public: true
label: My Account
provider: ETHEREUM
scheme: scheme value
type:
{
"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
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- 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!
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:
ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
BANK_ID: gh.29.uk
VIEW_ID: owner
JSON response body fields:
amount: 10.12
balance: 10
bank_id: gh.29.uk
currency: EUR
id: d8839721-ad8f-45dd-9f78-2080414b93f9
label: My Account
provider: ETHEREUM
scheme: scheme value
type:
value: 5987953
{
"id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"bank_id":"gh.29.uk",
"label":"My Account",
"number":"",
"owners":[{
"id":"5995d6a2-01b3-423c-a173-5481df49bdaf",
"provider":"http://127.0.0.1:8080",
"display_name":"OBP"
}],
"type":"",
"balance":{
"currency":"EUR",
"amount":"0"
},
"account_routings":[{
"scheme":"AccountNumber",
"address":"4930396"
}],
"account_rules":[{
"scheme":"OVERDRAFT",
"value":"10"
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- 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.
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:
BANK_ID: gh.29.uk
JSON response body fields:
bank_id: gh.29.uk
id: d8839721-ad8f-45dd-9f78-2080414b93f9
label: My Account
scheme: scheme value
{
"accounts":[{
"id":"12314",
"label":"My Account",
"bank_id":"123",
"number":"123",
"account_routings":[{
"scheme":"AccountNumber",
"address":"4930396"
}]
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
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:
BANK_ID: gh.29.uk
JSON response body fields:
bank_id: gh.29.uk
id: d8839721-ad8f-45dd-9f78-2080414b93f9
is_public: true
label: My Account
{
"accounts":[{
"id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
"label":"NoneLabel",
"bank_id":"gh.29.uk",
"views_available":[{
"id":"1",
"short_name":"HHH",
"is_public":true
}]
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- 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!
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:
BANK_ID: gh.29.uk
JSON response body fields:
id: d8839721-ad8f-45dd-9f78-2080414b93f9
{
"accounts":[{
"id":"5995d6a2-01b3-423c-a173-5481df49bdaf"
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- 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.
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:
BANK_ID: gh.29.uk
JSON response body fields:
account_type: AC
bank_id: gh.29.uk
description: This an optional field. Maximum length is 2000. It can be any characters here.
id: d8839721-ad8f-45dd-9f78-2080414b93f9
is_public: true
label: My Account
scheme: scheme value
{
"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
}]
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- 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.
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:
account_type: AC
bank_id: gh.29.uk
description: This an optional field. Maximum length is 2000. It can be any characters here.
id: d8839721-ad8f-45dd-9f78-2080414b93f9
is_public: true
label: My Account
scheme: scheme value
{
"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
}]
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
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:
BANK_ID: gh.29.uk
VIEW_ID: owner
JSON response body fields:
amount: 10.12
balance: 10
bank_id: gh.29.uk
currency: EUR
id: d8839721-ad8f-45dd-9f78-2080414b93f9
label: My Account
provider: ETHEREUM
scheme: scheme value
type:
value: 5987953
{
"accounts":[{
"id":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"bank_id":"gh.29.uk",
"label":"My Account",
"number":"",
"owners":[{
"id":"5995d6a2-01b3-423c-a173-5481df49bdaf",
"provider":"http://127.0.0.1:8080",
"display_name":"OBP"
}],
"type":"",
"balance":{
"currency":"EUR",
"amount":"0"
},
"account_routings":[{
"scheme":"AccountNumber",
"address":"4930396"
}],
"account_rules":[{
"scheme":"OVERDRAFT",
"value":"10"
}]
}]
}
-
CanUseAccountFirehoseAtAnyBank
- Please login to request this Role
-
CanUseAccountFirehose
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-00009: Account firehose is not allowed on this instance. Please set allow_account_firehose = true in props files.
- OBP-50000: Unknown Error.
- OBP-20006: User is missing one or more roles:
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:
ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
BANK_ID: gh.29.uk
JSON request body fields:
bank_id: gh.29.uk
id: d8839721-ad8f-45dd-9f78-2080414b93f9
label: My Account
JSON response body fields:
{
"success":"Success"
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- 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