-
Bank
-
A Bank (aka Space) represents a financial institution, brand or organizational unit under which resMore...
- Create Bank
- Get Settlement accounts at Bank
-
-
Customer
-
The legal entity that has the relationship to the bank. Customers are linked to Users via `User CusMore...
- Create Customer
- Update the credit limit of a Customer
- Update the credit rating and source of a Customer
-
-
Dynamic Entity Manage
-
Dynamic Entities can be used to store and retrieve custom data objects (think your own tables andMore...
- Create Bank Level Dynamic Entity
-
v5.1.0 (9 APIs)
Create Account Application
Create Account Application
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
JSON request body fields:
product_code: 1234BW
customer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
user_id: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1
JSON response body fields:
amount: 10.12
bank_id: gh.29.uk
branch_id: DERBY6
currency: EUR
customer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
customer_number: 5987953
date: 2020-01-27
date_of_application: 2020-01-27
date_of_birth: 2018-03-09
dependants: 1
dob_of_dependants: [2019-09-08, 2017-07-12]
employment_status: worker
highest_education_attained: Master
kyc_status: false
last_ok_date: 2023-10-11T13:23:44.172Z
legal_name: Eveline Tripman
mobile_phone_number: +49 30 901820
name_suffix: Sr
product_code: 1234BW
provider: ETHEREUM
relationship_status: single
title: Dr.
url: http://www.example.com/id-docs/123/image.png
user:
user_id: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1
username: felixsmith
{
"account_application_id":"gc23a7e2-7dd2-4bdf-a0b4-ae31232a4763",
"product_code":"1234BW",
"user":{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"email":"felixsmith@example.com",
"provider_id":"Chris",
"provider":"http://127.0.0.1:8080",
"username":"felixsmith"
},
"customer":{
"bank_id":"gh.29.uk",
"customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"customer_number":"5987953",
"legal_name":"Eveline Tripman",
"mobile_phone_number":"+44 07972 444 876",
"email":"felixsmith@example.com",
"face_image":{
"url":"www.openbankproject",
"date":"1100-01-01T00:00:00Z"
},
"date_of_birth":"1100-01-01T00:00:00Z",
"relationship_status":"single",
"dependants":1,
"dob_of_dependants":["1100-01-01T00:00:00Z"],
"credit_rating":{
"rating":"OBP",
"source":"OBP"
},
"credit_limit":{
"currency":"EUR",
"amount":"0"
},
"highest_education_attained":"Master",
"employment_status":"worker",
"kyc_status":false,
"last_ok_date":"2023-10-11T13:23:44Z",
"title":"Dr.",
"branch_id":"DERBY6",
"name_suffix":"Sr"
},
"date_of_application":"1100-01-01T00:00:00Z",
"status":"REQUESTED"
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
- OBP-20001: User not logged in. Authentication is required!
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:
bank_code: CGHZ
scheme: scheme value
bank_routings: bank routing in form of (scheme, address)
full_name: full name string
id: d8839721-ad8f-45dd-9f78-2080414b93f9
logo: logo url
website: www.openbankproject.com
JSON response body fields:
bank_code: CGHZ
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
value: 5987953
website: www.openbankproject.com
attributes: attribute value in form of (name, value)
{
"id":"gh.29.uk",
"bank_code":"CGHZ",
"full_name":"bank fullName string",
"logo":"bank logoUrl string",
"website":"bank logoUrl string",
"bank_routings":[{
"scheme":"scheme value",
"address":""
}],
"attributes":[{
"name":"ACCOUNT_MANAGEMENT_FEE",
"value":"5987953"
}]
}
-
CanCreateBank
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- 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:
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_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
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:
value: 5987953
product_instance_code: product_instance_code
{
"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"
}]
}]
}
-
CanGetSettlementAccountAtOneBank
- 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-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.
Create Customer
The Customer resource stores the customer number (which is set by the backend), legal name, email, phone number, their date of birth, relationship status, education attained, a url for a profile image, KYC status etc.
Dates need to be in the format 2013-01-21T23:08:00Z
Note: If you need to set a specific customer number, use the Update Customer Number endpoint after this call.
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
JSON request body fields:
amount: 10.12
currency: EUR
date: 2020-01-27
legal_name: Eveline Tripman
mobile_phone_number: +49 30 901820
url: http://www.example.com/id-docs/123/image.png
branch_id: DERBY6
customer_number: 5987953
date_of_birth: 2018-03-09
dependants: 1
dob_of_dependants: [2019-09-08, 2017-07-12]
employment_status: worker
highest_education_attained: Master
kyc_status: false
last_ok_date: 2023-10-11T13:23:44.172Z
name_suffix: Sr
relationship_status: single
title: Dr.
JSON response body fields:
amount: 10.12
bank_id: gh.29.uk
branch_id: DERBY6
currency: EUR
customer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
customer_number: 5987953
date: 2020-01-27
date_of_birth: 2018-03-09
dependants: 1
dob_of_dependants: [2019-09-08, 2017-07-12]
employment_status: worker
highest_education_attained: Master
kyc_status: false
last_ok_date: 2023-10-11T13:23:44.172Z
legal_name: Eveline Tripman
mobile_phone_number: +49 30 901820
name_suffix: Sr
relationship_status: single
title: Dr.
{
"bank_id":"gh.29.uk",
"customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"customer_number":"5987953",
"legal_name":"Eveline Tripman",
"mobile_phone_number":"+44 07972 444 876",
"email":"felixsmith@example.com",
"face_image":{
"url":"www.openbankproject",
"date":"1100-01-01T00:00:00Z"
},
"date_of_birth":"1100-01-01T00:00:00Z",
"relationship_status":"single",
"dependants":1,
"dob_of_dependants":["1100-01-01T00:00:00Z"],
"credit_rating":{
"rating":"OBP",
"source":"OBP"
},
"credit_limit":{
"currency":"EUR",
"amount":"0"
},
"highest_education_attained":"Master",
"employment_status":"worker",
"kyc_status":false,
"last_ok_date":"2023-10-11T13:23:44Z",
"title":"Dr.",
"branch_id":"DERBY6",
"name_suffix":"Sr"
}
-
CanCreateCustomer
- Please login to request this Role
-
CanCreateCustomerAtAnyBank
- 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-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-10001: Incorrect json format.
- OBP-30006: Customer Number already exists. Please specify a different value for BANK_ID or CUSTOMER_NUMBER.
- OBP-20005: User not found. Please specify a valid value for USER_ID.
- OBP-30007: The User is already linked to a Customer at the bank specified by BANK_ID
- OBP-30024: Could not create Consumer
- OBP-50000: Unknown Error.
- OBP-20006: User is missing one or more roles:
Update the credit limit of a Customer
Update the credit limit of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
CUSTOMER_ID: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
JSON response body fields:
amount: 10.12
bank_id: gh.29.uk
branch_id: DERBY6
currency: EUR
customer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
customer_number: 5987953
date: 2020-01-27
date_of_birth: 2018-03-09
dependants: 1
dob_of_dependants: [2019-09-08, 2017-07-12]
employment_status: worker
highest_education_attained: Master
kyc_status: false
last_ok_date: 2023-10-11T13:23:44.172Z
legal_name: Eveline Tripman
mobile_phone_number: +49 30 901820
name_suffix: Sr
relationship_status: single
title: Dr.
{
"bank_id":"gh.29.uk",
"customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"customer_number":"5987953",
"legal_name":"Eveline Tripman",
"mobile_phone_number":"+44 07972 444 876",
"email":"felixsmith@example.com",
"face_image":{
"url":"www.openbankproject",
"date":"1100-01-01T00:00:00Z"
},
"date_of_birth":"1100-01-01T00:00:00Z",
"relationship_status":"single",
"dependants":1,
"dob_of_dependants":["1100-01-01T00:00:00Z"],
"credit_rating":{
"rating":"OBP",
"source":"OBP"
},
"credit_limit":{
"currency":"EUR",
"amount":"0"
},
"highest_education_attained":"Master",
"employment_status":"worker",
"kyc_status":false,
"last_ok_date":"2023-10-11T13:23:44Z",
"title":"Dr.",
"branch_id":"DERBY6",
"name_suffix":"Sr"
}
-
CanUpdateCustomerCreditLimit
- 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-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Update the credit rating and source of a Customer
Update the credit rating and source of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
CUSTOMER_ID: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
JSON response body fields:
amount: 10.12
bank_id: gh.29.uk
branch_id: DERBY6
currency: EUR
customer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
customer_number: 5987953
date: 2020-01-27
date_of_birth: 2018-03-09
dependants: 1
dob_of_dependants: [2019-09-08, 2017-07-12]
employment_status: worker
highest_education_attained: Master
kyc_status: false
last_ok_date: 2023-10-11T13:23:44.172Z
legal_name: Eveline Tripman
mobile_phone_number: +49 30 901820
name_suffix: Sr
relationship_status: single
title: Dr.
{
"bank_id":"gh.29.uk",
"customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"customer_number":"5987953",
"legal_name":"Eveline Tripman",
"mobile_phone_number":"+44 07972 444 876",
"email":"felixsmith@example.com",
"face_image":{
"url":"www.openbankproject",
"date":"1100-01-01T00:00:00Z"
},
"date_of_birth":"1100-01-01T00:00:00Z",
"relationship_status":"single",
"dependants":1,
"dob_of_dependants":["1100-01-01T00:00:00Z"],
"credit_rating":{
"rating":"OBP",
"source":"OBP"
},
"credit_limit":{
"currency":"EUR",
"amount":"0"
},
"highest_education_attained":"Master",
"employment_status":"worker",
"kyc_status":false,
"last_ok_date":"2023-10-11T13:23:44Z",
"title":"Dr.",
"branch_id":"DERBY6",
"name_suffix":"Sr"
}
-
CanUpdateCustomerCreditRatingAndSource
- Please login to request this Role
-
CanUpdateCustomerCreditRatingAndSourceAtAnyBank
- 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-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Create Bank Level Dynamic Entity
Create a Bank Level DynamicEntity.
Authentication is Mandatory
Create a DynamicEntity. If creation is successful, the corresponding POST, GET, PUT and DELETE (Create, Read, Update, Delete or CRUD for short) endpoints will be generated automatically
The following field types are as supported:
[number, integer, boolean, string, DATE_WITH_DAY, reference]
The DATE_WITH_DAY format is: yyyy-MM-dd
Reference types are like foreign keys and composite foreign keys are supported. The value you need to supply as the (composite) foreign key is a UUID (or several UUIDs in the case of a composite key) that match value in another Entity..
The following list shows all the possible reference types in the system with corresponding examples values so you can see how to construct each reference type value.
"someField0": {
"type": "reference:FooBar",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField1": {
"type": "reference:risk_checks",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField2": {
"type": "reference:BookMarkBankAndAccount",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField3": {
"type": "reference:risk_check",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField4": {
"type": "reference:BookMarkBankAndAccount_system",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField5": {
"type": "reference:Hospital",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField6": {
"type": "reference:Bank",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField7": {
"type": "reference:Consumer",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField8": {
"type": "reference:Customer",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField9": {
"type": "reference:MethodRouting",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField10": {
"type": "reference:DynamicEntity",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField11": {
"type": "reference:TransactionRequest",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField12": {
"type": "reference:ProductAttribute",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField13": {
"type": "reference:AccountAttribute",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField14": {
"type": "reference:TransactionAttribute",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField15": {
"type": "reference:CustomerAttribute",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField16": {
"type": "reference:AccountApplication",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField17": {
"type": "reference:CardAttribute",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField18": {
"type": "reference:Counterparty",
"example": "9cf54634-8229-4c6d-8112-501bfa8674a0"
}
"someField19": {
"type": "reference:Branch:bankId&branchId",
"example": "bankId=9cf54634-8229-4c6d-8112-501bfa8674a0&branchId=8b45c63f-828f-4779-9499-67995f6928e2"
}
"someField20": {
"type": "reference:Atm:bankId&atmId",
"example": "bankId=9cf54634-8229-4c6d-8112-501bfa8674a0&atmId=8b45c63f-828f-4779-9499-67995f6928e2"
}
"someField21": {
"type": "reference:BankAccount:bankId&accountId",
"example": "bankId=9cf54634-8229-4c6d-8112-501bfa8674a0&accountId=8b45c63f-828f-4779-9499-67995f6928e2"
}
"someField22": {
"type": "reference:Product:bankId&productCode",
"example": "bankId=9cf54634-8229-4c6d-8112-501bfa8674a0&productCode=8b45c63f-828f-4779-9499-67995f6928e2"
}
"someField23": {
"type": "reference:PhysicalCard:bankId&cardId",
"example": "bankId=9cf54634-8229-4c6d-8112-501bfa8674a0&cardId=8b45c63f-828f-4779-9499-67995f6928e2"
}
"someField24": {
"type": "reference:Transaction:bankId&accountId&transactionId",
"example": "bankId=9cf54634-8229-4c6d-8112-501bfa8674a0&accountId=8b45c63f-828f-4779-9499-67995f6928e2&transactionId=84e07617-6f85-40d3-9262-d5d25f31185e"
}
"someField25": {
"type": "reference:Counterparty:bankId&accountId&counterpartyId",
"example": "bankId=9cf54634-8229-4c6d-8112-501bfa8674a0&accountId=8b45c63f-828f-4779-9499-67995f6928e2&counterpartyId=84e07617-6f85-40d3-9262-d5d25f31185e"
}
Note: if you set hasPersonalEntity
= false, then OBP will not generate the CRUD my FooBar endpoints.
{
"bankId":"gh.29.uk",
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id",
"userId":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"hasPersonalEntity":true
}
-
CanCreateBankLevelDynamicEntity
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Add KYC Check
Add a KYC check for the customer specified by CUSTOMER_ID. KYC Checks store details of checks on a customer made by the KYC team, their comments and a satisfied status
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
CUSTOMER_ID: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
JSON response body fields:
bank_id: gh.29.uk
customer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
customer_number: 5987953
date: 2020-01-27
how:
id: d8839721-ad8f-45dd-9f78-2080414b93f9
satisfied: false
{
"bank_id":"gh.29.uk",
"customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"id":"PlaceholderString",
"customer_number":"5987953",
"date":"1100-01-01T00:00:00Z",
"how":"PlaceholderString",
"staff_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"staff_name":"PlaceholderString",
"satisfied":true,
"comments":"PlaceholderString"
}
-
CanAddKycCheck
- 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-10001: Incorrect json format.
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-30046: Customer not found. Please specify a valid value for CUSTOMER_ID.
- OBP-00004: Server error: could not add message
- OBP-50000: Unknown Error.
- OBP-20006: User is missing one or more roles:
Create Product
Create or Update Product for the Bank.
Typical Super Family values / Asset classes are:
Debt
Equity
FX
Commodity
Derivative
Product hiearchy vs Product Collections:
-
You can define a hierarchy of products - so that a child Product inherits attributes of its parent Product - using the parent_product_code in Product.
-
You can define a collection (also known as baskets or buckets) of products using Product Collections.
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
PRODUCT_CODE: 1234BW
JSON response body fields:
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
meta:
more_info_url: www.example.com/abc
name: ACCOUNT_MANAGEMENT_FEE
parent_product_code: 787LOW
product_code: 1234BW
terms_and_conditions_url: www.example.com/xyz
attributes: attribute value in form of (name, value)
fees: fees
{
"bank_id":"gh.29.uk",
"product_code":"1234BW",
"parent_product_code":"787LOW",
"name":"Deposit Account 1",
"more_info_url":"www.example.com/abc",
"terms_and_conditions_url":"www.example.com/xyz",
"description":"This an optional field. Maximum length is 2000. It can be any characters here.",
"meta":{
"license":{
"id":"ODbL-1.0",
"name":"Open Database License"
}
}
}
-
CanCreateProduct
- Please login to request this Role
-
CanCreateProductAtAnyBank
- 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-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.