API Explorer

OBP v4.0.0 filtered by tag: KYC, Onboarding (21 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 - 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_routing":{ "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" }] }
Headers:

								
									
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_routing":{ "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" }] }
Headers:

								
									
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

Add Tax Residence to Customer

Add a Tax Residence to the Customer specified by CUSTOMER_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "domain":"Enter some domain", "tax_number":"Enter some number", "tax_residence_id":"902ba3bb-dedd-45e7-9319-2fd3f2cd98a1" }
Headers:

								
									
Required Roles:
  • CanCreateTaxResidence - Please login to request this Role
Possible Errors:
  • 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.
Implemented in OBPv3.1.0 by createTaxResidence

Delete Customer Address

Delete an Address of the Customer specified by CUSTOMER_ADDRESS_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "jsonString":"{}" }
Headers:

								
									
Required Roles:
  • CanDeleteCustomerAddress - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by deleteCustomerAddress

Delete Tax Residence

Delete a Tax Residence of the Customer specified by TAX_RESIDENCE_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "jsonString":"{}" }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by deleteTaxResidence

Get Customer Addresses

Get the Addresses of the Customer specified by CUSTOMER_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "addresses":[{ "customer_address_id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "line_1":"No 1 the Road", "line_2":"The Place", "line_3":"The Hill", "city":"Berlin", "county":"", "state":"Brandenburg", "postcode":"13359", "country_code":"DE", "tags":["mailing","home"], "status":"OK", "insert_date":"2017-09-19T00:00:00Z" }] }
Headers:

								
									
Required Roles:
  • CanGetCustomerAddress - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getCustomerAddresses

Get Customer by CUSTOMER_NUMBER

Gets the Customer specified by CUSTOMER_NUMBER.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "bank_id":"GENODEM1GLS", "customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "customer_number":"5987953", "legal_name":"Eveline Tripman", "mobile_phone_number":"+44 07972 444 876", "email":"eveline@example.com", "face_image":{ "url":"www.openbankproject", "date":"2017-09-19T00:00:00Z" }, "date_of_birth":"2017-09-19T00:00:00Z", "relationship_status":"single", "dependants":10, "dob_of_dependants":["2017-09-19T00:00:00Z"], "credit_rating":{ "rating":"OBP", "source":"OBP" }, "credit_limit":{ "currency":"EUR", "amount":"10" }, "highest_education_attained":"Master", "employment_status":"worker", "kyc_status":true, "last_ok_date":"2017-09-19T00:00:00Z", "title":"Dr.", "branch_id":"DERBY6", "name_suffix":"Sr" }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30008: User Customer Link not found by USER_ID
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getCustomerByCustomerNumber

Get Customers by MOBILE_PHONE_NUMBER

Gets the Customers specified by MOBILE_PHONE_NUMBER.

There are two wildcards often used in conjunction with the LIKE operator:
% - The percent sign represents zero, one, or multiple characters
_ - The underscore represents a single character
For example {"customer_phone_number":"%381%"} lists all numbers which contain 381 sequence

Authentication is Mandatory

Typical Successful Response:

								
									
{ "bank_id":"GENODEM1GLS", "customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "customer_number":"5987953", "legal_name":"Eveline Tripman", "mobile_phone_number":"+44 07972 444 876", "email":"eveline@example.com", "face_image":{ "url":"www.openbankproject", "date":"2017-09-19T00:00:00Z" }, "date_of_birth":"2017-09-19T00:00:00Z", "relationship_status":"single", "dependants":10, "dob_of_dependants":["2017-09-19T00:00:00Z"], "credit_rating":{ "rating":"OBP", "source":"OBP" }, "credit_limit":{ "currency":"EUR", "amount":"10" }, "highest_education_attained":"Master", "employment_status":"worker", "kyc_status":true, "last_ok_date":"2017-09-19T00:00:00Z", "title":"Dr.", "branch_id":"DERBY6", "name_suffix":"Sr" }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30008: User Customer Link not found by USER_ID
  • OBP-50000: Unknown Error.
Implemented in OBPv4.0.0 by getCustomersByCustomerPhoneNumber

Get Tax Residences of Customer

Get the Tax Residences of the Customer specified by CUSTOMER_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "tax_residence":[{ "domain":"Enter some domain", "tax_number":"Enter some number", "tax_residence_id":"902ba3bb-dedd-45e7-9319-2fd3f2cd98a1" }] }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getTaxResidence

Create Meeting (video conference/call)

Create Meeting: Initiate a video conference/call with the bank.

The Meetings resource contains meta data about video/other conference sessions

provider_id determines the provider of the meeting / video chat service. MUST be url friendly (no spaces).

purpose_id explains the purpose of the chat. onboarding | mortgage | complaint etc. MUST be url friendly (no spaces).

Login is required.

This call is experimental. Currently staff_user_id is not set. Further calls will be needed to correctly set this.

Typical Successful Response:

								
									
{ "meeting_id":"UUID-String", "provider_id":"Chris", "purpose_id":"String, eg: onboarding", "bank_id":"GENODEM1GLS", "present":{ "staff_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "customer_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1" }, "keys":{ "session_id":"String", "staff_token":"String", "customer_token":"String" }, "when":"2017-09-19T00:00:00Z", "creator":{ "name":"Simon ", "mobile_phone":"+44 07972 444 876", "email_address":"eveline@example.com" }, "invitees":[{ "contact_details":{ "name":"Simon ", "mobile_phone":"+44 07972 444 876", "email_address":"eveline@example.com" }, "status":"String, eg: Good" }] }
Headers:

								
									
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.
Implemented in OBPv3.1.0 by createMeeting

Get Meeting

Get Meeting specified by BANK_ID / MEETING_ID
Meetings contain meta data about, and are used to facilitate, video conferences / chats etc.

The actual conference/chats are handled by external services.

Login is required.

This call is experimental and will require further authorisation in the future.

Typical Successful Response:

								
									
{ "meeting_id":"UUID-String", "provider_id":"Chris", "purpose_id":"String, eg: onboarding", "bank_id":"GENODEM1GLS", "present":{ "staff_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "customer_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1" }, "keys":{ "session_id":"String", "staff_token":"String", "customer_token":"String" }, "when":"2017-09-19T00:00:00Z", "creator":{ "name":"Simon ", "mobile_phone":"+44 07972 444 876", "email_address":"eveline@example.com" }, "invitees":[{ "contact_details":{ "name":"Simon ", "mobile_phone":"+44 07972 444 876", "email_address":"eveline@example.com" }, "status":"String, eg: Good" }] }
Headers:

								
									
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-30104: Meeting not found.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getMeeting

Get Meetings

Meetings contain meta data about, and are used to facilitate, video conferences / chats etc.

The actual conference/chats are handled by external services.

Login is required.

This call is experimental and will require further authorisation in the future.

Typical Successful Response:

								
									
{ "meetings":[{ "meeting_id":"UUID-String", "provider_id":"Chris", "purpose_id":"String, eg: onboarding", "bank_id":"GENODEM1GLS", "present":{ "staff_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "customer_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1" }, "keys":{ "session_id":"String", "staff_token":"String", "customer_token":"String" }, "when":"2017-09-19T00:00:00Z", "creator":{ "name":"Simon ", "mobile_phone":"+44 07972 444 876", "email_address":"eveline@example.com" }, "invitees":[{ "contact_details":{ "name":"Simon ", "mobile_phone":"+44 07972 444 876", "email_address":"eveline@example.com" }, "status":"String, eg: Good" }] }] }
Headers:

								
									
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.1.0 by getMeetings

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.

Typical Successful Response:

								
									
{ "bank_id":"GENODEM1GLS", "customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "id":"PlaceholderString", "customer_number":"5987953", "date":"2017-09-19T00:00:00Z", "how":"PlaceholderString", "staff_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "staff_name":"PlaceholderString", "satisfied":true, "comments":"PlaceholderString" }
Headers:

								
									
Required Roles:
  • CanAddKycCheck - Please login to request this Role
Possible Errors:
  • 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.
Implemented in OBPv2.0.0 by addKycCheck

Add KYC Document.

Add a KYC document for the customer specified by CUSTOMER_ID. KYC Documents contain the document type (e.g. passport), place of issue, expiry etc.

Typical Successful Response:

								
									
{ "bank_id":"GENODEM1GLS", "customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "id":"PlaceholderString", "customer_number":"5987953", "type":"PlaceholderString", "number":"PlaceholderString", "issue_date":"2017-09-19T00:00:00Z", "issue_place":"PlaceholderString", "expiry_date":"2017-09-19T00:00:00Z" }
Headers:

								
									
Required Roles:
  • CanAddKycDocument - Please login to request this Role
Possible Errors:
  • 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.
  • Server error: could not add KycDocument
  • OBP-50000: Unknown Error.
Implemented in OBPv2.0.0 by addKycDocument

Add KYC Media.

Add some KYC media for the customer specified by CUSTOMER_ID. KYC Media resources relate to KYC Documents and KYC Checks and contain media urls for scans of passports, utility bills etc.

Typical Successful Response:

								
									
{ "bank_id":"GENODEM1GLS", "customer_id":"PlaceholderString", "id":"PlaceholderString", "customer_number":"5987953", "type":"PlaceholderString", "url":"PlaceholderString", "date":"2017-09-19T00:00:00Z", "relates_to_kyc_document_id":"PlaceholderString", "relates_to_kyc_check_id":"PlaceholderString" }
Headers:

								
									
Required Roles:
  • CanAddKycMedia - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-10001: Incorrect json format.
  • 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.
Implemented in OBPv2.0.0 by addKycMedia

Add KYC Status

Add a kyc_status for the customer specified by CUSTOMER_ID. KYC Status is a timeline of the KYC status of the customer

Typical Successful Response:

								
									
{ "customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "customer_number":"5987953", "ok":true, "date":"2017-09-19T00:00:00Z" }
Headers:

								
									
Required Roles:
  • CanAddKycStatus - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-10001: Incorrect json format.
  • 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-50000: Unknown Error.
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-00004: Server error: could not add message
  • OBP-30046: Customer not found. Please specify a valid value for CUSTOMER_ID.
Implemented in OBPv2.0.0 by addKycStatus

Get Customer KYC Checks

Get KYC checks for the Customer specified by CUSTOMER_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "checks":[{ "bank_id":"GENODEM1GLS", "customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "id":"PlaceholderString", "customer_number":"5987953", "date":"2017-09-19T00:00:00Z", "how":"PlaceholderString", "staff_user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "staff_name":"PlaceholderString", "satisfied":true, "comments":"PlaceholderString" }] }
Headers:

								
									
Required Roles:
  • CanGetAnyKycChecks - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30046: Customer not found. Please specify a valid value for CUSTOMER_ID.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.0.0 by getKycChecks

Get Customer KYC Documents

Get KYC (know your customer) documents for a customer specified by CUSTOMER_ID
Get a list of documents that affirm the identity of the customer
Passport, driving licence etc.
Authentication is Optional

Typical Successful Response:

								
									
{ "documents":[{ "bank_id":"GENODEM1GLS", "customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "id":"PlaceholderString", "customer_number":"5987953", "type":"PlaceholderString", "number":"PlaceholderString", "issue_date":"2017-09-19T00:00:00Z", "issue_place":"PlaceholderString", "expiry_date":"2017-09-19T00:00:00Z" }] }
Headers:

								
									
Required Roles:
  • CanGetAnyKycDocuments - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30046: Customer not found. Please specify a valid value for CUSTOMER_ID.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.0.0 by getKycDocuments

Get Customer KYC statuses

Get the KYC statuses for a customer specified by CUSTOMER_ID over time.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "statuses":[{ "customer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "customer_number":"5987953", "ok":true, "date":"2017-09-19T00:00:00Z" }] }
Headers:

								
									
Required Roles:
  • CanGetAnyKycStatuses - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30046: Customer not found. Please specify a valid value for CUSTOMER_ID.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.0.0 by getKycStatuses

Get KYC Media for a customer

Get KYC media (scans, pictures, videos) that affirms the identity of the customer.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "medias":[{ "bank_id":"GENODEM1GLS", "customer_id":"PlaceholderString", "id":"PlaceholderString", "customer_number":"5987953", "type":"PlaceholderString", "url":"PlaceholderString", "date":"2017-09-19T00:00:00Z", "relates_to_kyc_document_id":"PlaceholderString", "relates_to_kyc_check_id":"PlaceholderString" }] }
Headers:

								
									
Required Roles:
  • CanGetAnyKycMedia - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30046: Customer not found. Please specify a valid value for CUSTOMER_ID.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.0.0 by getKycMedia

Create User.

Creates OBP user.
No authorisation (currently) required.

Mimics current webform to Register.

Requires username(email) and password.

Returns 409 error if username not unique.

May require validation of email address.

Typical Successful Response:

								
									
{ "user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "email":"eveline@example.com", "provider_id":"Chris", "provider":"http://127.0.0.1:8080", "username":"felixsmith", "entitlements":{ "list":[{ "entitlement_id":"6fb17583-1e49-4435-bb74-a14fe0996723", "role_name":"CanQueryOtherUser", "bank_id":"GENODEM1GLS" }] } }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-10001: Incorrect json format.
  • OBP-30207: Invalid Password Format. Your password should EITHER be at least 10 characters long and contain mixed numbers and both upper and lower case letters and at least one special character, OR be longer than 16 characters.
  • Error occurred during user creation.
  • User with the same username already exists.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.0.0 by createUser