API Explorer

PSD2 + Open Data: Access to Accounts, Payments and Open Data related to the Bank.

PSD2 + Open Data APIs 2.0.0 (55 APIs)

Bank

Accounts

Counterparties

Transactions

Get API Configuration

Returns information about:

  • The default bank_id
  • Akka configuration
  • Elastic Search configuration
  • Cached functions
Typical Successful Response:

								
									
{ "akka":{ "ports":[{ "property":"default", "value":"8080" }], "log_level":"Debug", "remote_data_secret_matched":true }, "elastic_search":{ "metrics":[{ "property":"String", "value":"Mapper" }], "warehouse":[{ "property":"String", "value":"ElasticSearch" }] }, "cache":[{ "function_name":"getBanks", "ttl_in_seconds":5 }], "scopes":{ "require_scopes_for_all_roles":true, "require_scopes_for_listed_roles":["CanCreateUserAuthContextUpdate"] } }
Headers:

								
									
Required Roles:
  • CanGetConfig - 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 config

Get API Info (root)

Returns information about:

  • API version
  • Hosted by information
  • Git Commit
Typical Successful Response:

								
									
{ "version":"String", "version_status":"String", "git_commit":"String", "connector":"String", "hosted_by":{ "organisation":"String", "email":"String", "phone":"String", "organisation_website":"String" } }
Headers:

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
  • no connector set
Implemented in OBPv1.2.1 by root

Get Adapter Info

Get basic information about the Adapter.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "name":"String", "version":"String", "git_commit":"String", "date":"2013-01-21T23:08:00Z" }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getAdapterInfo

Get Adapter Info for a bank

Get basic information about the Adapter listening on behalf of this bank.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "name":"String", "version":"String", "git_commit":"String", "date":"2013-01-21T23:08:00Z" }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getAdapterInfoForBank

Get Rate Limiting Info

Get information about the Rate Limiting setup on this OBP Instance such as:

Is rate limiting enabled and active?
What backend is used to keep track of the API calls (e.g. REDIS).

Authentication is Mandatory

Typical Successful Response:

								
									
{ "enabled":true, "technology":"REDIS", "service_available":true, "is_active":true }
Headers:

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getRateLimitingInfo

Create ATM

Create ATM for the Bank.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "id":"atm-id-123", "bank_id":"bank-id-123", "name":"Atm by the Lake", "address":{ "line_1":"No 1 the Road", "line_2":"The Place", "line_3":"The Hill", "city":"Berlin", "county":"", "state":"Brandenburg", "postcode":"13359", "country_code":"DE" }, "location":{ "latitude":11.45, "longitude":11.45 }, "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "monday":{ "opening_time":"10:00", "closing_time":"18:00" }, "tuesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "wednesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "thursday":{ "opening_time":"10:00", "closing_time":"18:00" }, "friday":{ "opening_time":"10:00", "closing_time":"18:00" }, "saturday":{ "opening_time":"10:00", "closing_time":"18:00" }, "sunday":{ "opening_time":"10:00", "closing_time":"18:00" }, "is_accessible":"true", "located_at":"Full service store", "more_info":"short walk to the lake from here", "has_deposit_capability":"true" }
Headers:

								
									
Required Roles:
  • CanCreateAtm - Please login to request this Role
  • CanCreateAtmAtAnyBank - Please login to request this Role
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-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by createAtm

Get Bank ATM

Returns information about ATM for a single bank specified by BANK_ID and ATM_ID including:

  • Address
  • Geo Location
  • License the data under this endpoint is released under

Authentication is Optional

Typical Successful Response:

								
									
{ "id":"atm-id-123", "bank_id":"bank-id-123", "name":"Atm by the Lake", "address":{ "line_1":"No 1 the Road", "line_2":"The Place", "line_3":"The Hill", "city":"Berlin", "county":"", "state":"Brandenburg", "postcode":"13359", "country_code":"DE" }, "location":{ "latitude":11.45, "longitude":11.45 }, "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "monday":{ "opening_time":"10:00", "closing_time":"18:00" }, "tuesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "wednesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "thursday":{ "opening_time":"10:00", "closing_time":"18:00" }, "friday":{ "opening_time":"10:00", "closing_time":"18:00" }, "saturday":{ "opening_time":"10:00", "closing_time":"18:00" }, "sunday":{ "opening_time":"10:00", "closing_time":"18:00" }, "is_accessible":"true", "located_at":"Full service store", "more_info":"short walk to the lake from here", "has_deposit_capability":"true" }
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-30009: ATM not found. Please specify a valid value for ATM_ID.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getAtm

Get Bank ATMS

Returns information about ATMs for a single bank specified by BANK_ID including:

  • Address
  • Geo Location
  • License the data under this endpoint is released under

Pagination:

By default, 100 records are returned.

You can use the url query parameters limit and offset for pagination

Authentication is Optional

Typical Successful Response:

								
									
{ "id":"atm-id-123", "bank_id":"bank-id-123", "name":"Atm by the Lake", "address":{ "line_1":"No 1 the Road", "line_2":"The Place", "line_3":"The Hill", "city":"Berlin", "county":"", "state":"Brandenburg", "postcode":"13359", "country_code":"DE" }, "location":{ "latitude":11.45, "longitude":11.45 }, "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "monday":{ "opening_time":"10:00", "closing_time":"18:00" }, "tuesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "wednesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "thursday":{ "opening_time":"10:00", "closing_time":"18:00" }, "friday":{ "opening_time":"10:00", "closing_time":"18:00" }, "saturday":{ "opening_time":"10:00", "closing_time":"18:00" }, "sunday":{ "opening_time":"10:00", "closing_time":"18:00" }, "is_accessible":"true", "located_at":"Full service store", "more_info":"short walk to the lake from here", "has_deposit_capability":"true" }
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.
  • No ATMs available. License may not be set.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getAtms

Check Available Funds

Check Available Funds
Mandatory URL parameters:

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

								
									
{ "answer":"yes", "date":"2019-06-22T01:56:58Z", "available_funds_request_id":"c4ykz59svsr9b7fmdxk8ezs7" }
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-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

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.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "accounts":[{ "id":"12314", "bank_id":"123", "number":"123", "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }] }] }
Headers:

								
									
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.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "accounts":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf" }] }
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.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.

Authentication is Mandatory

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":"123", "short_name":"short_name", "description":"description", "is_public":false }] }] }
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.0.0 by 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.

Authentication is Mandatory

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":"123", "short_name":"short_name", "description":"description", "is_public":false }] }] }
Headers:

								
									
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":"10", "account_id":"xjfsafjj", "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" } }] }
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-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

Create Bank

Create a new bank (Authenticated access).
Authentication is Mandatory

Typical Successful Response:

								
									
{ "id":"gh.29.uk.x", "full_name":"uk", "short_name":"uk", "logo_url":"https://static.openbankproject.com/images/sandbox/bank_x.png", "website_url":"https://www.example.com", "swift_bic":"IIIGGB22", "national_identifier":"UK97ZZZ1234567890", "bank_routing":{ "scheme":"BIC", "address":"OKOYFIHH" } }
Headers:

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

Get Bank

Get the bank specified by BANK_ID
Returns information about a single bank specified by BANK_ID including:

  • Short and full name of bank
  • Logo URL
  • Website
Typical Successful Response:

								
									
{ "id":"gh.29.uk", "short_name":"short_name ", "full_name":"full_name", "logo":"logo", "website":"www.openbankproject.com", "bank_routing":{ "scheme":"Bank_ID", "address":"gh.29.uk" } }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
Implemented in OBPv3.0.0 by bankById

Get Banks

Get banks on this API instance
Returns a list of banks supported on this server:

  • ID used as parameter in URLs
  • Short and full name of bank
  • Logo URL
  • Website
Typical Successful Response:

								
									
{ "banks":[{ "id":"gh.29.uk", "short_name":"short_name ", "full_name":"full_name", "logo":"logo", "website":"www.openbankproject.com", "bank_routing":{ "scheme":"Bank_ID", "address":"gh.29.uk" } }] }
Headers:

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getBanks

Create Branch

Create Branch for the Bank.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "id":"branch-id-123", "bank_id":"bank-id-123", "name":"Branch by the Lake", "address":{ "line_1":"No 1 the Road", "line_2":"The Place", "line_3":"The Hill", "city":"Berlin", "county":"String", "state":"Brandenburg", "postcode":"13359", "country_code":"DE" }, "location":{ "latitude":10.0, "longitude":10.0 }, "meta":{ "license":{ "id":"PDDL", "name":"Open Data Commons Public Domain Dedication and License " } }, "lobby":{ "monday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "tuesday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "wednesday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "thursday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "friday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "saturday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "sunday":[{ "opening_time":"10:00", "closing_time":"18:00" }] }, "drive_up":{ "monday":{ "opening_time":"10:00", "closing_time":"18:00" }, "tuesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "wednesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "thursday":{ "opening_time":"10:00", "closing_time":"18:00" }, "friday":{ "opening_time":"10:00", "closing_time":"18:00" }, "saturday":{ "opening_time":"10:00", "closing_time":"18:00" }, "sunday":{ "opening_time":"10:00", "closing_time":"18:00" } }, "branch_routing":{ "scheme":"OBP", "address":"123abc" }, "is_accessible":"true", "accessibleFeatures":"wheelchair, atm usuable by the visually impaired", "branch_type":"Full service store", "more_info":"short walk to the lake from here", "phone_number":"+381631954907" }
Headers:

								
									
Required Roles:
  • CanCreateBranch - Please login to request this Role
  • CanCreateBranchAtAnyBank - Please login to request this Role
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-30209: Insufficient authorisation to Create Branch. You do not have the role CanCreateBranch.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by createBranch

Delete Branch

Delete Branch from given Bank.

Authentication is Mandatory

Typical Successful Response:

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

								
									
Required Roles:
  • CanDeleteBranch - Please login to request this Role
  • CanDeleteBranchAtAnyBank - Please login to request this Role
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-30218: Insufficient authorisation to Create Branch. You do not have the role CanCreateBranch.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by deleteBranch

Get Branch

Returns information about a single Branch specified by BANK_ID and BRANCH_ID including:

  • Name
  • Address
  • Geo Location
  • License the data under this endpoint is released under.

Authentication is Optional

Typical Successful Response:

								
									
{ "id":"branch-id-123", "bank_id":"bank-id-123", "name":"Branch by the Lake", "address":{ "line_1":"No 1 the Road", "line_2":"The Place", "line_3":"The Hill", "city":"Berlin", "county":"String", "state":"Brandenburg", "postcode":"13359", "country_code":"DE" }, "location":{ "latitude":10.0, "longitude":10.0 }, "meta":{ "license":{ "id":"PDDL", "name":"Open Data Commons Public Domain Dedication and License " } }, "lobby":{ "monday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "tuesday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "wednesday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "thursday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "friday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "saturday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "sunday":[{ "opening_time":"10:00", "closing_time":"18:00" }] }, "drive_up":{ "monday":{ "opening_time":"10:00", "closing_time":"18:00" }, "tuesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "wednesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "thursday":{ "opening_time":"10:00", "closing_time":"18:00" }, "friday":{ "opening_time":"10:00", "closing_time":"18:00" }, "saturday":{ "opening_time":"10:00", "closing_time":"18:00" }, "sunday":{ "opening_time":"10:00", "closing_time":"18:00" } }, "branch_routing":{ "scheme":"OBP", "address":"123abc" }, "is_accessible":"true", "accessibleFeatures":"wheelchair, atm usuable by the visually impaired", "branch_type":"Full service store", "more_info":"short walk to the lake from here", "phone_number":"+381631954907" }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • License may not be set. meta.license.id and eta.license.name can not be empty
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getBranch

Get Branches for a Bank

Returns information about branches for a single bank specified by BANK_ID including:

  • Name
  • Address
  • Geo Location
  • License the data under this endpoint is released under
  • Structured opening hours
  • Accessible flag
  • Branch Type
  • More Info

Pagination:

By default, 50 records are returned.

You can use the url query parameters limit and offset for pagination
You can also use the follow url query parameters:

  • city - string, find Branches those in this city, optional

  • withinMetersOf - number, find Branches within given meters distance, optional

  • nearLatitude - number, a position of latitude value, cooperate with withMetersOf do query filter, optional
  • nearLongitude - number, a position of longitude value, cooperate with withMetersOf do query filter, optional

note: withinMetersOf, nearLatitude and nearLongitude either all empty or all have value.

Authentication is Optional

Typical Successful Response:

								
									
{ "branches":[{ "id":"branch-id-123", "bank_id":"bank-id-123", "name":"Branch by the Lake", "address":{ "line_1":"No 1 the Road", "line_2":"The Place", "line_3":"The Hill", "city":"Berlin", "county":"String", "state":"Brandenburg", "postcode":"13359", "country_code":"DE" }, "location":{ "latitude":10.0, "longitude":10.0 }, "meta":{ "license":{ "id":"PDDL", "name":"Open Data Commons Public Domain Dedication and License " } }, "lobby":{ "monday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "tuesday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "wednesday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "thursday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "friday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "saturday":[{ "opening_time":"10:00", "closing_time":"18:00" }], "sunday":[{ "opening_time":"10:00", "closing_time":"18:00" }] }, "drive_up":{ "monday":{ "opening_time":"10:00", "closing_time":"18:00" }, "tuesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "wednesday":{ "opening_time":"10:00", "closing_time":"18:00" }, "thursday":{ "opening_time":"10:00", "closing_time":"18:00" }, "friday":{ "opening_time":"10:00", "closing_time":"18:00" }, "saturday":{ "opening_time":"10:00", "closing_time":"18:00" }, "sunday":{ "opening_time":"10:00", "closing_time":"18:00" } }, "branch_routing":{ "scheme":"OBP", "address":"123abc" }, "is_accessible":"true", "accessibleFeatures":"wheelchair, atm usuable by the visually impaired", "branch_type":"Full service store", "more_info":"short walk to the lake from here", "phone_number":"+381631954907" }] }
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.
  • No branches available. License may not be set.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getBranches

Update Branch

Update an existing branch for a bank account (Authenticated access).
Authentication is Mandatory

Typical Successful Response:

								
									
{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "name":"String", "address":{ "line_1":"Osloer Straße 16/17", "line_2":"Wedding", "line_3":"", "city":"Berlin", "state":"Berlin Brandenburg", "postcode":"13359", "country":"DE" }, "location":{ "latitude":11.45, "longitude":11.45 }, "lobby":{ "hours":"5" }, "drive_up":{ "hours":"5" }, "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "branch_routing":{ "scheme":"BranchNumber", "address":"678" } }
Headers:

								
									
Required Roles:
  • CanUpdateBranch - Please login to request this Role
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-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv2.1.0 by updateBranch

Get status of Credit Card order

NOTE: This endpoint currently only returns example data.

  Get status of Credit Card orders

Get all orders

Typical Successful Response:

								
									
{ "cards":[{ "card_type":"5", "card_description":"good", "use_type":"3" }] }
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-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-50212: Connector did not return the set of status of credit card.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getStatusOfCreditCardOrder

Answer Consent Challenge

An OBP Consent allows the holder of the Consent to call one or more endpoints.

Consents must be created and authorisied using SCA (Strong Customer Authentication).

That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.

Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED.

This endpoint is used to confirm a Consent previously created.

The User must supply a code that was sent out of band (OOB) for example via an SMS.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED" }
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-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by answerConsentChallenge

Create Consent

An OBP Consent allows the holder of the Consent to call one or more endpoints.

Consents must be created and authorisied using SCA (Strong Customer Authentication).

That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.

Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED.

This endpoint starts the process of creating a Consent.

The Consent is created in an INITIATED state.

A One Time Password (OTP) (AKA security challenge) is sent Out of Bounds (OOB) to the User via the transport defined in SCA_METHOD
SCA_METHOD is typically "SMS" or "EMAIL". "EMAIL" is used for testing purposes.

When the Consent is created, OBP (or a backend system) stores the challenge so it can be checked later against the value supplied by the User with the Answer Consent Challenge endpoint.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "consent_id":"9d429899-24f5-42c8-8565-943ffa6a7945", "jwt":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4", "status":"INITIATED" }
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-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by createConsent

Get Counterparties (Explicit).

Get the Counterparties (Explicit) for the account / view.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "counterparties":[{ "name":"CounterpartyName", "description":"My landlord", "created_by_user_id":"49e1e147-64c1-4823-ad9f-89efcd02a9fa", "this_bank_id":"gh.29.uk", "this_account_id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0", "this_view_id":"owner", "counterparty_id":"1d65db7c-a7b2-4839-af41-958276ab7790", "other_bank_routing_scheme":"bankCode", "other_bank_routing_address":"10", "other_branch_routing_scheme":"branchNumber", "other_branch_routing_address":"10010", "other_account_routing_scheme":"accountNumber", "other_account_routing_address":"7987987-2348987-234234", "other_account_secondary_routing_scheme":"accountId", "other_account_secondary_routing_address":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0", "is_beneficiary":true, "bespoke":[{ "key":"englishName", "value":"english Name" }] }] }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-30005: View not found for Account. Please specify a valid value for VIEW_ID
  • OBP-30022: The current view does not have the permission:
  • 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 OBPv2.2.0 by getExplictCounterpartiesForAccount

Get Counterparty by Counterparty Id.(Explicit).

Information returned about the Counterparty specified by COUNTERPARTY_ID:

Authentication is Mandatory

Typical Successful Response:

								
									
{ "name":"CounterpartyName", "description":"My landlord", "created_by_user_id":"49e1e147-64c1-4823-ad9f-89efcd02a9fa", "this_bank_id":"gh.29.uk", "this_account_id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0", "this_view_id":"owner", "counterparty_id":"1d65db7c-a7b2-4839-af41-958276ab7790", "other_bank_routing_scheme":"bankCode", "other_bank_routing_address":"10", "other_branch_routing_scheme":"branchNumber", "other_branch_routing_address":"10010", "other_account_routing_scheme":"accountNumber", "other_account_routing_address":"7987987-2348987-234234", "other_account_secondary_routing_scheme":"accountId", "other_account_secondary_routing_address":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0", "is_beneficiary":true, "bespoke":[{ "key":"englishName", "value":"english Name" }], "metadata":{ "public_alias":"String", "more_info":"String", "url":"String", "image_url":"String", "open_corporates_url":"String", "corporate_location":{ "latitude":11.45, "longitude":11.45, "date":"2017-09-19T00:00:00Z", "user":{ "id":"123", "provider":"OBP", "username":"OBP" } }, "physical_location":{ "latitude":11.45, "longitude":11.45, "date":"2017-09-19T00:00:00Z", "user":{ "id":"123", "provider":"OBP", "username":"OBP" } }, "private_alias":"String" } }
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 OBPv2.2.0 by getExplictCounterpartyById

Get Other Account by Id.

Returns data about the Other Account that has shared at least one transaction with ACCOUNT_ID at BANK_ID.
Authentication is Optional

Authentication is required if the view is not public.

Typical Successful Response:

								
									
{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "holder":{ "name":"OBP", "is_alias":true }, "bank_routing":{ "scheme":"Bank_ID", "address":"gh.29.uk" }, "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "metadata":{ "public_alias":"NONE", "private_alias":"NONE", "more_info":"www.openbankproject.com", "URL":"www.openbankproject.com", "image_URL":"www.openbankproject.com", "open_corporates_URL":"www.openbankproject.com", "corporate_location":{ "latitude":1.231, "longitude":1.231, "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } }, "physical_location":{ "latitude":1.231, "longitude":1.231, "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } } } }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-30005: View not found for Account. Please specify a valid value for VIEW_ID
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getOtherAccountByIdForBankAccount

Get Other Accounts of one Account.

Returns data about all the other accounts that have shared at least one transaction with the ACCOUNT_ID at BANK_ID.
Authentication is Optional

Authentication is required if the view VIEW_ID is not public.

Typical Successful Response:

								
									
{ "other_accounts":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "holder":{ "name":"OBP", "is_alias":true }, "bank_routing":{ "scheme":"Bank_ID", "address":"gh.29.uk" }, "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "metadata":{ "public_alias":"NONE", "private_alias":"NONE", "more_info":"www.openbankproject.com", "URL":"www.openbankproject.com", "image_URL":"www.openbankproject.com", "open_corporates_URL":"www.openbankproject.com", "corporate_location":{ "latitude":1.231, "longitude":1.231, "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } }, "physical_location":{ "latitude":1.231, "longitude":1.231, "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } } } }] }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-30005: View not found for Account. Please specify a valid value for VIEW_ID
  • OBP-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getOtherAccountsForBankAccount

Create Credit Limit Order Request

NOTE: This endpoint currently only returns example data.

Create credit limit order request

Typical Successful Response:

								
									
{ "execution_time":"String", "execution_date":"String", "token":"String", "short_reference":"String" }
Headers:

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by createCreditLimitRequest

Get Credit Limit Order Request By Request Id

NOTE: This endpoint currently only returns example data.

    Get Credit Limit Order Request By Request Id
Typical Successful Response:

								
									
{ "rank_amount_1":"String", "nominal_interest_1":"String", "rank_amount_2":"String", "nominal_interest_2":"String" }
Headers:

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getCreditLimitRequestByRequestId

Get Credit Limit Order Requests

NOTE: This endpoint currently only returns example data.

Get Credit Limit Order Requests

Typical Successful Response:

								
									
{ "rank_amount_1":"String", "nominal_interest_1":"String", "rank_amount_2":"String", "nominal_interest_2":"String" }
Headers:

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getCreditLimitRequests

Get API Glossary

Returns the glossary of the API

Typical Successful Response:

								
									
{ "glossary_items":[{ "title":"String", "description":{ "markdown":"String", "html":"String" } }] }
Headers:

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by glossary

Get Message Docs

These message docs provide example messages sent by OBP to the (Kafka) message queue for processing by the Core Banking / Payment system Adapter - together with an example expected response and possible error codes.
Integrators can use these messages to build Adapters that provide core banking services to OBP.

Note: API Explorer provides a Message Docs page where these messages are displayed.

CONNECTOR:kafka_vMar2017 , kafka_vJune2017, kafka_vSept2018 ...

Typical Successful Response:

								
									
{ "message_docs":[{ "process":"getAccounts", "message_format":"KafkaV2017", "outbound_topic":"to.obp.api.1.caseclass.OutboundGetAccounts", "inbound_topic":"from.obp.api.1.to.adapter.mf.caseclass.OutboundGetAccounts", "description":"get Banks", "example_outbound_message":{ "jsonString":"{}" }, "example_inbound_message":{ "jsonString":"{}" }, "outboundAvroSchema":{ "jsonString":"{}" }, "inboundAvroSchema":{ "jsonString":"{}" }, "adapter_implementation":{ "group":"CORE", "suggested_order":3 } }] }
Headers:

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv2.2.0 by getMessageDocs

Get Message Docs Swagger

This endpoint provides example message docs in swagger format.
It is only relavent for REST Connectors.

This endpoint can be used by the developer building a REST Adapter that connects to the Core Banking System (CBS).
That is, the Adapter developer can use the Swagger surfaced here to build the REST APIs that the OBP REST connector will call to consume CBS services.

i.e.:

OBP API (Core OBP API code) -> OBP REST Connector (OBP REST Connector code) -> OBP REST Adapter (Adapter developer code) -> CBS (Main Frame)

Typical Successful Response:

								
									
{ "message_docs":[{ "process":"getAccounts", "message_format":"KafkaV2017", "outbound_topic":"to.obp.api.1.caseclass.OutboundGetAccounts", "inbound_topic":"from.obp.api.1.to.adapter.mf.caseclass.OutboundGetAccounts", "description":"get Banks", "example_outbound_message":{ "jsonString":"{}" }, "example_inbound_message":{ "jsonString":"{}" }, "outboundAvroSchema":{ "jsonString":"{}" }, "inboundAvroSchema":{ "jsonString":"{}" }, "adapter_implementation":{ "group":"CORE", "suggested_order":3 } }] }
Headers:

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getMessageDocsSwagger

Get Resource Docs.

Get documentation about the RESTful resources on this server including example bodies for POST and PUT requests.

This is the native data format used to document OBP endpoints. Each endpoint has a Resource Doc (a Scala case class) defined in the source code.

This endpoint is used by OBP API Explorer to display and work with the API documentation.

Most (but not all) fields are also available in swagger format. (The Swagger endpoint is built from Resource Docs.)

API_VERSION is the version you want documentation about e.g. v3.0.0

You may filter this endpoint with tags parameter e.g. ?tags=Account,Bank

You may filter this endpoint with functions parameter e.g. ?functions=enableDisableConsumers,getConnectorMetrics

For possible function values, see implemented_by.function in the JSON returned by this endpoint or the OBP source code or the footer of the API Explorer which produces a comma separated list of functions that reflect the server or filtering by API Explorer based on tags etc.

  • operation_id is concatenation of "v", version and function and should be unique (used for DOM element IDs etc. maybe used to link to source code)
  • version references the version that the API call is defined in.
  • function is the (scala) partial function that implements this endpoint. It is unique per version of the API.
  • request_url is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the implemented version (the version where this endpoint was defined) e.g. /obp/v1.2.0/resource
  • specified_url (recommended to use) is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the version specified in the call e.g. /obp/v3.1.0/resource. In OBP, endpoints are first made available at the request_url, but the same resource (function call) is often made available under later versions (specified_url). To access the latest version of all endpoints use the latest version available on your OBP instance e.g. /obp/v3.1.0 - To get the original version use the request_url. We recommend to use the specified_url since non semantic improvements are more likely to be applied to later implementations of the call.
  • summary is a short description inline with the swagger terminology.
  • description may contain html markup (generated from markdown on the server).
Typical Successful Response:

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

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv1.4.0 by getResourceDocsObp

Get Swagger documentation

Returns documentation about the RESTful resources on this server in Swagger format.

API_VERSION is the version you want documentation about e.g. v3.0.0

You may filter this endpoint using the 'tags' url parameter e.g. ?tags=Account,Bank

(All endpoints are given one or more tags which for used in grouping)

You may filter this endpoint using the 'functions' url parameter e.g. ?functions=enableDisableConsumers,getConnectorMetrics

(Each endpoint is implemented in the OBP Scala code by a 'function')

See the Resource Doc endpoint for more information.

Typical Successful Response:

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

								
									
Possible Errors:
  • OBP-50000: Unknown Error.
Implemented in OBPv1.4.0 by getResourceDocsSwagger

Create Fx

Create or Update Fx for the Bank.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "bank_id":"bankid123", "from_currency_code":"EUR", "to_currency_code":"USD", "conversion_value":1.0, "inverse_conversion_value":1.0, "effective_date":"2017-09-19T00:00:00Z" }
Headers:

								
									
Required Roles:
  • CanCreateFxRate - Please login to request this Role
  • CanCreateFxRateAtAnyBank - Please login to request this Role
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-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv2.2.0 by createFx

Get Top APIs

Get metrics abou the most popular APIs. e.g.: total count, response time (in ms), etc.

Should be able to filter on the following fields

eg: /management/metrics/top-apis?from_date=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.000Z&consumer_id=5
&user_id=66214b8e-259e-44ad-8868-3eb47be70646&implemented_by_partial_function=getTransactionsForBankAccount
&implemented_in_version=v3.0.0&url=/obp/v3.0.0/banks/gh.29.uk/accounts/8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0/owner/transactions
&verb=GET&anon=false&app_name=MapperPostman
&exclude_app_names=API-EXPLORER,API-Manager,SOFI,null

1 from_date (defaults to the day before the current date): eg:from_date=2017-09-19T02:31:05.000Z

2 to_date (defaults to the current date) eg:to_date=2017-09-19T02:31:05.000Z

3 consumer_id (if null ignore)

4 user_id (if null ignore)

5 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)

6 url (if null ignore), note: can not contain '&'.

7 app_name (if null ignore)

8 implemented_by_partial_function (if null ignore),

9 implemented_in_version (if null ignore)

10 verb (if null ignore)

11 correlation_id (if null ignore)

12 duration (if null ignore) non digit chars will be silently omitted

13 exclude_app_names (if null ignore).eg: &exclude_app_names=API-EXPLORER,API-Manager,SOFI,null

14 exclude_url_patterns (if null ignore).you can design you own SQL NOT LIKE pattern. eg: &exclude_url_patterns=%management/metrics%,%management/aggregate-metrics%

15 exclude_implemented_by_partial_functions (if null ignore).eg: &exclude_implemented_by_partial_functions=getMetrics,getConnectorMetrics,getAggregateMetrics

Authentication is Mandatory

Typical Successful Response:

								
									
{ "top_apis":[{ "count":7076, "Implemented_by_partial_function":"getBanks", "implemented_in_version":"v1.2.1" }] }
Headers:

								
									
Required Roles:
  • CanReadMetrics - 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-10016: Incorrect filter Parameters in URL.
  • OBP-30042: Could not get the top apis from database.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getTopAPIs

Get Top Consumers

Get metrics about the top consumers of the API usage e.g. total count, consumer_id and app_name.

Should be able to filter on the following fields

e.g.: /management/metrics/top-consumers?from_date=2017-09-19T02:31:05.000Z&to_date=2017-05-22T01:02:03.000Z&consumer_id=5
&user_id=66214b8e-259e-44ad-8868-3eb47be70646&implemented_by_partial_function=getTransactionsForBankAccount
&implemented_in_version=v3.0.0&url=/obp/v3.0.0/banks/gh.29.uk/accounts/8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0/owner/transactions
&verb=GET&anon=false&app_name=MapperPostman
&exclude_app_names=API-EXPLORER,API-Manager,SOFI,null
&limit=100

1 from_date (defaults to the day before the current date): eg:from_date=2017-09-19T02:31:05.000Z

2 to_date (defaults to the current date) eg:to_date=2017-09-19T02:31:05.000Z

3 consumer_id (if null ignore)

4 user_id (if null ignore)

5 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)

6 url (if null ignore), note: can not contain '&'.

7 app_name (if null ignore)

8 implemented_by_partial_function (if null ignore),

9 implemented_in_version (if null ignore)

10 verb (if null ignore)

11 correlation_id (if null ignore)

12 duration (if null ignore) non digit chars will be silently omitted

13 exclude_app_names (if null ignore).eg: &exclude_app_names=API-EXPLORER,API-Manager,SOFI,null

14 exclude_url_patterns (if null ignore).you can design you own SQL NOT LIKE pattern. eg: &exclude_url_patterns=%management/metrics%,%management/aggregate-metrics%

15 exclude_implemented_by_partial_functions (if null ignore).eg: &exclude_implemented_by_partial_functions=getMetrics,getConnectorMetrics,getAggregateMetrics

16 limit (for pagination: defaults to 50) eg:limit=200

Authentication is Mandatory

Typical Successful Response:

								
									
{ "top_consumers":[{ "count":7076, "consumer_id":"12312312", "app_name":"Api Explorer", "developer_email":"tesobe@tesobe.com" }] }
Headers:

								
									
Required Roles:
  • CanReadMetrics - 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-10016: Incorrect filter Parameters in URL.
  • OBP-30045: Could not get the top consumers from database.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getMetricsTopConsumers

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

Typical Successful Response:

								
									
{ "bank_id":"gh.29.uk", "code":"product_code", "parent_product_code":"parent", "name":"product name", "category":"category", "family":"family", "super_family":"super family", "more_info_url":"www.example.com/prod1/more-info.html", "details":"Details", "description":"Description", "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "product_attributes":[{ "product_code":"saving1", "product_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23" }] }
Headers:

								
									
Required Roles:
  • CanCreateProduct - Please login to request this Role
  • CanCreateProductAtAnyBank - Please login to request this Role
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-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by createProduct

Get Bank Product

Returns information about a financial Product offered by the bank specified by BANK_ID and PRODUCT_CODE including:

  • Name
  • Code
  • Parent Product Code
  • Category
  • Family
  • Super Family
  • More info URL
  • Description
  • Terms and Conditions
  • License the data under this endpoint is released under

Authentication is Optional

Typical Successful Response:

								
									
{ "bank_id":"gh.29.uk", "code":"product_code", "parent_product_code":"parent", "name":"product name", "category":"category", "family":"family", "super_family":"super family", "more_info_url":"www.example.com/prod1/more-info.html", "details":"Details", "description":"Description", "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "product_attributes":[{ "product_code":"saving1", "product_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23" }] }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30011: Product not found. Please specify a valid value for PRODUCT_CODE.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getProduct

Get Product Tree

Returns information about a particular financial product specified by BANK_ID and PRODUCT_CODE
and it's parent product(s) recursively as specified by parent_product_code.

Each product includes the following information.

  • Name
  • Code
  • Parent Product Code
  • Category
  • Family
  • Super Family
  • More info URL
  • Description
  • Terms and Conditions
  • License: The licence under which this product data is released. Licence can be an Open Data licence such as Open Data Commons Public Domain Dedication and License (PDDL) or Copyright etc.

Authentication is Optional

Typical Successful Response:

								
									
{ "bank_id":"testBank2", "code":"PRODUCT_CODE", "name":"product name", "category":"category", "family":"family", "super_family":"super family", "more_info_url":"www.example.com/prod1/more-info.html", "details":"Details", "description":"Description", "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "parent_product":{ "bank_id":"testBank2", "code":"PARENT_CODE", "name":"product name", "category":"category", "family":"family", "super_family":"super family", "more_info_url":"www.example.com/prod1/more-info.html", "details":"Details", "description":"Description", "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "parent_product":{ "bank_id":"testBank2", "code":"GRANDPARENT_CODE", "name":"product name", "category":"category", "family":"family", "super_family":"super family", "more_info_url":"www.example.com/prod1/more-info.html", "details":"Details", "description":"Description", "meta":{ "license":{ "id":"5", "name":"TESOBE" } } } } }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30011: Product not found. Please specify a valid value for PRODUCT_CODE.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getProductTree

Get Products

Returns information about the financial products offered by a bank specified by BANK_ID including:

  • Name
  • Code
  • Parent Product Code
  • Category
  • Family
  • Super Family
  • More info URL
  • Description
  • Terms and Conditions
  • License the data under this endpoint is released under
    Authentication is Optional
Typical Successful Response:

								
									
{ "products":[{ "bank_id":"gh.29.uk", "code":"product_code", "parent_product_code":"parent", "name":"product name", "category":"category", "family":"family", "super_family":"super family", "more_info_url":"www.example.com/prod1/more-info.html", "details":"Details", "description":"Description", "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "product_attributes":[{ "product_code":"saving1", "product_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23" }] }] }
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-30011: Product not found. Please specify a valid value for PRODUCT_CODE.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getProducts

Create Product Collection

Create or Update a Product Collection at the Bank.

Use Product Collections to create Product "Baskets", "Portfolios", "Indices", "Collections", "Underlyings-lists", "Buckets" etc. etc.

There is a many to many relationship between Products and Product Collections:

  • A Product can exist in many Collections

  • A Collection can contain many Products.

A collection has collection code, one parent Product and one or more child Products.

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

Typical Successful Response:

								
									
{ "product_collection":[{ "collection_code":"C", "product_code":"D", "items":[{ "member_product_code":"A" },{ "member_product_code":"B" }] }] }
Headers:

								
									
Required Roles:
  • CanMaintainProductCollection - Please login to request this Role
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-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by createProductCollection

Get Product Collection

Returns information about the financial Product Collection specified by BANK_ID and COLLECTION_CODE:

Typical Successful Response:

								
									
{ "collection_code":"A", "products":[{ "bank_id":"gh.29.uk", "code":"product_code", "parent_product_code":"parent", "name":"product name", "category":"category", "family":"family", "super_family":"super family", "more_info_url":"www.example.com/prod1/more-info.html", "details":"Details", "description":"Description", "meta":{ "license":{ "id":"5", "name":"TESOBE" } }, "product_attributes":[{ "product_code":"saving1", "product_attribute_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "name":"OVERDRAFT_START_DATE", "type":"DATE_WITH_DAY", "value":"2012-04-23" }] }] }
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 getProductCollection

Get Transaction by Id.

Returns one transaction specified by TRANSACTION_ID of the account ACCOUNT_ID and moderated by the view (VIEW_ID).

Authentication is Optional
Authentication is required if the view is not public.

Typical Successful Response:

								
									
{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "this_account":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "holders":[{ "name":"OBP", "is_alias":true }], "number":"123", "kind":"AC", "IBAN":"UK1234AD", "swift_bic":"UK1234AD", "bank":{ "national_identifier":"OBP", "name":"OBP" } }, "other_account":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "holder":{ "name":"OBP", "is_alias":true }, "number":"123", "kind":"3456", "IBAN":"UK234DB", "swift_bic":"UK12321DB", "bank":{ "national_identifier":"OBP", "name":"OBP" }, "metadata":{ "public_alias":"NONE", "private_alias":"NONE", "more_info":"www.openbankproject.com", "URL":"www.openbankproject.com", "image_URL":"www.openbankproject.com", "open_corporates_URL":"www.openbankproject.com", "corporate_location":{ "latitude":1.231, "longitude":1.231, "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } }, "physical_location":{ "latitude":1.231, "longitude":1.231, "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } } } }, "details":{ "type":"AC", "description":"this is for family", "posted":"2017-09-19T00:00:00Z", "completed":"2017-09-19T00:00:00Z", "new_balance":{ "currency":"EUR", "amount":"10" }, "value":{ "currency":"EUR", "amount":"10" } }, "metadata":{ "narrative":"NONE", "comments":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "value":"OBP", "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } }], "tags":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "value":"OBP", "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } }], "images":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "label":"NONE", "URL":"www.openbankproject.com", "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } }], "where":{ "latitude":1.231, "longitude":1.231, "date":"2017-09-19T00:00:00Z", "user":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "provider":"OBP", "display_name":"OBP" } } } }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and 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.1.0 by getTransactionByIdForBankAccount

Get Transactions for Account (Core)

Returns transactions list (Core info) of the account specified by ACCOUNT_ID.

Authentication is Mandatory

Possible custom headers for pagination:

  • sort_direction=ASC/DESC ==> default value: DESC. The sort field is the completed date.
  • limit=NUMBER ==> default value: 50
  • offset=NUMBER ==> default value: 0
  • from_date=DATE => default value: 0000-00-00T00:00:00.000Z
  • to_date=DATE => default value: 3049-01-01T00:00:00.000Z

Date format parameter: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'(2017-09-19T02:31:05.000Z) ==> time zone is UTC.

Typical Successful Response:

								
									
{ "transactions":[{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "this_account":{ "id":"String", "bank_routing":{ "scheme":"Bank_ID", "address":"gh.29.uk" }, "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }], "holders":[{ "name":"OBP", "is_alias":true }] }, "other_account":{ "id":"5995d6a2-01b3-423c-a173-5481df49bdaf", "holder":{ "name":"OBP", "is_alias":true }, "bank_routing":{ "scheme":"Bank_ID", "address":"gh.29.uk" }, "account_routings":[{ "scheme":"AccountNumber", "address":"4930396" }] }, "details":{ "type":"AC", "description":"OBP", "posted":"2017-09-19T00:00:00Z", "completed":"2017-09-19T00:00:00Z", "new_balance":{ "currency":"EUR", "amount":"10" }, "value":{ "currency":"EUR", "amount":"10" } } }] }
Headers:

								
									
Possible Errors:
  • OBP-10023: obp_sort_direction parameter can only take two values: DESC or ASC!
  • OBP-10024: wrong value for obp_offset parameter. Please send a positive integer (=>0)!
  • OBP-10025: wrong value for obp_limit parameter. Please send a positive integer (=>1)!
  • OBP-10026: Failed to parse date string. Please use this format yyyy-MM-dd'T'HH:mm:ss.SSS'Z'!
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-30005: View not found for Account. Please specify a valid value for VIEW_ID
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getCoreTransactionsForBankAccount

Answer Transaction Request Challenge.

In Sandbox mode, any string that can be converted to a positive integer will be accepted as an answer.

This endpoint totally depends on createTransactionRequest, it need get the following data from createTransactionRequest response body.

1)TRANSACTION_REQUEST_TYPE : is the same as createTransactionRequest request URL .

2)TRANSACTION_REQUEST_ID : is the id field in createTransactionRequest response body.

3) id : is challenge.id field in createTransactionRequest response body.

4) answer : must be 123. if it is in sandbox mode. If it kafka mode, the answer can be got by phone message or other security ways.

Typical Successful Response:

								
									
{ "id":"82f92531-9c63-4246-abfc-96c20ec46188", "type":"SANDBOX_TAN", "from":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0" }, "details":{ "to":{ "bank_id":"String", "account_id":"String" }, "value":{ "currency":"EUR", "amount":"100" }, "description":"String" }, "transaction_ids":"666666-9c63-4246-abfc-96c20ec46188", "status":"COMPLETED", "start_date":"2017-09-19T00:00:00Z", "end_date":"2017-09-19T00:00:00Z", "challenge":{ "id":"be1a183d-b301-4b83-b855-5eeffdd3526f", "allowed_attempts":3, "challenge_type":"SANDBOX_TAN" }, "charge":{ "summary":"Rent the flat", "value":{ "currency":"EUR", "amount":"10" } } }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • 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-30110: Invalid Account Id. The ACCOUNT_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.
  • OBP-10001: Incorrect json format.
  • OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
  • OBP-20017: Current user does not have access to the view. Please specify a valid value for VIEW_ID.
  • OBP-40011: Transaction Request Status is not INITIATED.
  • OBP-40009: The TRANSACTION_REQUEST_TYPE has changed.
  • OBP-40010: Invalid Challenge Id. Please specify a valid value for CHALLENGE_ID.
  • OBP-40014: Sorry, you've used up your allowed attempts.
  • OBP-00003: Transaction Requests is disabled in this API instance.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.1.0 by answerTransactionRequestChallenge

Create Transaction Request (COUNTERPARTY)

Special instructions for COUNTERPARTY:

When using a COUNTERPARTY to create a Transaction Request, specificy the counterparty_id in the body of the request.
The routing details of the counterparty will be forwarded for the transfer.

Initiate a Payment via creating a Transaction Request.

In OBP, a transaction request may or may not result in a transaction. However, a transaction only has one possible state: completed.

A Transaction Request can have one of several states.

Transactions are modeled on items in a bank statement that represent the movement of money.

Transaction Requests are requests to move money which may or may not succeeed and thus result in a Transaction.

A Transaction Request might create a security challenge that needs to be answered before the Transaction Request proceeds.

Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).

Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.

The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.

In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to SANDBOX_TAN. See getTransactionRequestTypesSupportedByBank for all supported types.

In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.

If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.

You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.

The following static FX rates are available in sandbox mode:

{
"XAF":{
"HKD":0.0135503,
"AUD":0.00228226,
"KRW":1.87975,
"JOD":0.00127784,
"GBP":0.00131092,
"AED":0.00601555,
"INR":0.110241,
"JPY":0.185328,
"USD":0.00163773,
"ILS":0.00641333,
"EUR":0.00152449
},
"HKD":{
"XAF":73.8049,
"AUD":0.178137,
"KRW":143.424,
"JOD":0.0903452,
"GBP":0.0985443,
"AED":0.467977,
"INR":9.09325,
"JPY":14.0867,
"USD":0.127427,
"ILS":0.460862,
"EUR":0.112495
},
"AUD":{
"XAF":438.162,
"HKD":5.61346,
"KRW":895.304,
"JOD":0.556152,
"GBP":0.609788,
"AED":2.88368,
"INR":50.4238,
"JPY":87.0936,
"USD":0.785256,
"ILS":2.83558,
"EUR":0.667969
},
"KRW":{
"XAF":0.531986,
"HKD":0.00697233,
"AUD":0.00111694,
"JOD":6.30634E-4,
"GBP":6.97389E-4,
"AED":0.00320019,
"INR":0.0586469,
"JPY":0.0985917,
"USD":8.7125E-4,
"ILS":0.00316552,
"EUR":8.11008E-4
},
"JOD":{
"XAF":782.572,
"HKD":11.0687,
"AUD":1.63992,
"KRW":1585.68,
"GBP":1.06757,
"AED":5.18231,
"INR":90.1236,
"JPY":156.304,
"USD":1.41112,
"ILS":5.02018,
"EUR":0.237707
},
"GBP":{
"XAF":762.826,
"HKD":10.1468,
"AUD":1.63992,
"KRW":1433.92,
"JOD":0.936707,
"AED":4.58882,
"INR":84.095,
"JPY":141.373,
"USD":1.2493,
"ILS":4.7002,
"EUR":1.16278
},
"AED":{
"XAF":166.236,
"HKD":2.13685,
"AUD":0.346779,
"KRW":312.482,
"GBP":0.217921,
"AED":0.192964,
"INR":18.3255,
"JPY":30.8081,
"USD":0.27225,
"ILS":0.968033,
"EUR":0.253425
},
"INR":{
"XAF":9.07101,
"HKD":0.109972,
"AUD":0.0198319,
"KRW":17.0512,
"JOD":0.0110959,
"GBP":0.0118913,
"AED":0.0545671,
"JPY":1.68111,
"USD":0.0148559,
"ILS":0.0556764,
"EUR":0.0138287
},
"JPY":{
"XAF":5.39585,
"HKD":0.0709891,
"AUD":0.0114819,
"KRW":10.1428,
"JOD":0.00639777,
"GBP":0.0070735,
"AED":0.032459,
"INR":0.594846,
"USD":0.00883695,
"ILS":0.0320926,
"EUR":0.00822592
},
"USD":{
"XAF":610.601,
"HKD":7.84766,
"AUD":1.27347,
"KRW":1147.78,
"JOD":0.708659,
"GBP":0.800446,
"AED":3.6731,
"INR":67.3135,
"JPY":113.161,
"ILS":3.55495,
"EUR":0.930886
},
"ILS":{
"XAF":155.925,
"HKD":2.16985,
"AUD":0.352661,
"KRW":315.903,
"JOD":0.199196,
"GBP":0.212763,
"AED":1.03302,
"INR":17.9609,
"JPY":31.1599,
"USD":0.281298,
"EUR":1.19318
},
"EUR":{
"XAF":655.957,
"HKD":8.88926,
"AUD":1.49707,
"KRW":1233.03,
"JOD":0.838098,
"GBP":0.860011,
"AED":3.94594,
"INR":72.3136,
"JPY":121.567,
"USD":1.07428,
"ILS":4.20494
}
}

Transaction Requests satisfy PSD2 requirements thus:

1) A transaction can be initiated by a third party application.

2) The customer is informed of the charge that will incurred.

3) The call supports delegated authentication (OAuth)

See this python code for a complete example of this flow.

There is further documentation here

Authentication is Mandatory

Typical Successful Response:

								
									
{ "id":"4050046c-63b3-4868-8a22-14b4181d33a6", "type":"SANDBOX_TAN", "from":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0" }, "details":{ "to_sandbox_tan":{ "bank_id":"String", "account_id":"String" }, "to_sepa":{ "iban":"String" }, "to_counterparty":{ "counterparty_id":"String" }, "to_transfer_to_phone":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"String", "nickname":"String" }, "to":{ "mobile_phone_number":"String" } }, "to_transfer_to_atm":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"String", "nickname":"String" }, "to":{ "legal_name":"String", "date_of_birth":"20181230", "mobile_phone_number":"String", "kyc_document":{ "type":"String", "number":"String" } } }, "to_transfer_to_account":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "transfer_type":"String", "future_date":"20181230", "to":{ "name":"String", "bank_code":"String", "branch_number":"String", "account":{ "number":"String", "iban":"String" } } }, "value":{ "currency":"EUR", "amount":"100" }, "description":"String" }, "transaction_ids":["902ba3bb-dedd-45e7-9319-2fd3f2cd98a1"], "status":"COMPLETED", "start_date":"2017-09-19T00:00:00Z", "end_date":"2017-09-19T00:00:00Z", "challenge":{ "id":"be1a183d-b301-4b83-b855-5eeffdd3526f", "allowed_attempts":3, "challenge_type":"SANDBOX_TAN" }, "charge":{ "summary":"Rent the flat", "value":{ "currency":"EUR", "amount":"10" } } }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20001: User not logged in. Authentication is required!
  • 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-30110: Invalid Account Id. The ACCOUNT_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.
  • OBP-10001: Incorrect json format.
  • 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-40002: Insufficient authorisation to create TransactionRequest. The Transaction Request could not be created because you don't have access to the owner view of the from account or you don't have access to canCreateAnyTransactionRequest.
  • OBP-20017: Current user does not have access to the view. Please specify a valid value for VIEW_ID.
  • OBP-40001: Invalid value for TRANSACTION_REQUEST_TYPE
  • OBP-10001: Incorrect json format.
  • OBP-10002: Invalid Number. Could not convert value to a number.
  • OBP-40008: Can't send a payment with a value of 0 or less.
  • OBP-40003: Transaction Request Currency must be the same as From Account Currency.
  • OBP-00003: Transaction Requests is disabled in this API instance.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.1.0 by createTransactionRequestCouterparty

Create Transaction Request (SANDBOX_TAN)

When using SANDBOX_TAN, the payee is set in the request body.

Money goes into the BANK_ID and ACCOUNT_ID specified in the request body.

Initiate a Payment via creating a Transaction Request.

In OBP, a transaction request may or may not result in a transaction. However, a transaction only has one possible state: completed.

A Transaction Request can have one of several states.

Transactions are modeled on items in a bank statement that represent the movement of money.

Transaction Requests are requests to move money which may or may not succeeed and thus result in a Transaction.

A Transaction Request might create a security challenge that needs to be answered before the Transaction Request proceeds.

Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).

Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.

The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.

In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to SANDBOX_TAN. See getTransactionRequestTypesSupportedByBank for all supported types.

In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.

If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.

You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.

The following static FX rates are available in sandbox mode:

{
"XAF":{
"HKD":0.0135503,
"AUD":0.00228226,
"KRW":1.87975,
"JOD":0.00127784,
"GBP":0.00131092,
"AED":0.00601555,
"INR":0.110241,
"JPY":0.185328,
"USD":0.00163773,
"ILS":0.00641333,
"EUR":0.00152449
},
"HKD":{
"XAF":73.8049,
"AUD":0.178137,
"KRW":143.424,
"JOD":0.0903452,
"GBP":0.0985443,
"AED":0.467977,
"INR":9.09325,
"JPY":14.0867,
"USD":0.127427,
"ILS":0.460862,
"EUR":0.112495
},
"AUD":{
"XAF":438.162,
"HKD":5.61346,
"KRW":895.304,
"JOD":0.556152,
"GBP":0.609788,
"AED":2.88368,
"INR":50.4238,
"JPY":87.0936,
"USD":0.785256,
"ILS":2.83558,
"EUR":0.667969
},
"KRW":{
"XAF":0.531986,
"HKD":0.00697233,
"AUD":0.00111694,
"JOD":6.30634E-4,
"GBP":6.97389E-4,
"AED":0.00320019,
"INR":0.0586469,
"JPY":0.0985917,
"USD":8.7125E-4,
"ILS":0.00316552,
"EUR":8.11008E-4
},
"JOD":{
"XAF":782.572,
"HKD":11.0687,
"AUD":1.63992,
"KRW":1585.68,
"GBP":1.06757,
"AED":5.18231,
"INR":90.1236,
"JPY":156.304,
"USD":1.41112,
"ILS":5.02018,
"EUR":0.237707
},
"GBP":{
"XAF":762.826,
"HKD":10.1468,
"AUD":1.63992,
"KRW":1433.92,
"JOD":0.936707,
"AED":4.58882,
"INR":84.095,
"JPY":141.373,
"USD":1.2493,
"ILS":4.7002,
"EUR":1.16278
},
"AED":{
"XAF":166.236,
"HKD":2.13685,
"AUD":0.346779,
"KRW":312.482,
"GBP":0.217921,
"AED":0.192964,
"INR":18.3255,
"JPY":30.8081,
"USD":0.27225,
"ILS":0.968033,
"EUR":0.253425
},
"INR":{
"XAF":9.07101,
"HKD":0.109972,
"AUD":0.0198319,
"KRW":17.0512,
"JOD":0.0110959,
"GBP":0.0118913,
"AED":0.0545671,
"JPY":1.68111,
"USD":0.0148559,
"ILS":0.0556764,
"EUR":0.0138287
},
"JPY":{
"XAF":5.39585,
"HKD":0.0709891,
"AUD":0.0114819,
"KRW":10.1428,
"JOD":0.00639777,
"GBP":0.0070735,
"AED":0.032459,
"INR":0.594846,
"USD":0.00883695,
"ILS":0.0320926,
"EUR":0.00822592
},
"USD":{
"XAF":610.601,
"HKD":7.84766,
"AUD":1.27347,
"KRW":1147.78,
"JOD":0.708659,
"GBP":0.800446,
"AED":3.6731,
"INR":67.3135,
"JPY":113.161,
"ILS":3.55495,
"EUR":0.930886
},
"ILS":{
"XAF":155.925,
"HKD":2.16985,
"AUD":0.352661,
"KRW":315.903,
"JOD":0.199196,
"GBP":0.212763,
"AED":1.03302,
"INR":17.9609,
"JPY":31.1599,
"USD":0.281298,
"EUR":1.19318
},
"EUR":{
"XAF":655.957,
"HKD":8.88926,
"AUD":1.49707,
"KRW":1233.03,
"JOD":0.838098,
"GBP":0.860011,
"AED":3.94594,
"INR":72.3136,
"JPY":121.567,
"USD":1.07428,
"ILS":4.20494
}
}

Transaction Requests satisfy PSD2 requirements thus:

1) A transaction can be initiated by a third party application.

2) The customer is informed of the charge that will incurred.

3) The call supports delegated authentication (OAuth)

See this python code for a complete example of this flow.

There is further documentation here

Authentication is Mandatory

Typical Successful Response:

								
									
{ "id":"4050046c-63b3-4868-8a22-14b4181d33a6", "type":"SANDBOX_TAN", "from":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0" }, "details":{ "to_sandbox_tan":{ "bank_id":"String", "account_id":"String" }, "to_sepa":{ "iban":"String" }, "to_counterparty":{ "counterparty_id":"String" }, "to_transfer_to_phone":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"String", "nickname":"String" }, "to":{ "mobile_phone_number":"String" } }, "to_transfer_to_atm":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"String", "nickname":"String" }, "to":{ "legal_name":"String", "date_of_birth":"20181230", "mobile_phone_number":"String", "kyc_document":{ "type":"String", "number":"String" } } }, "to_transfer_to_account":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "transfer_type":"String", "future_date":"20181230", "to":{ "name":"String", "bank_code":"String", "branch_number":"String", "account":{ "number":"String", "iban":"String" } } }, "value":{ "currency":"EUR", "amount":"100" }, "description":"String" }, "transaction_ids":["902ba3bb-dedd-45e7-9319-2fd3f2cd98a1"], "status":"COMPLETED", "start_date":"2017-09-19T00:00:00Z", "end_date":"2017-09-19T00:00:00Z", "challenge":{ "id":"be1a183d-b301-4b83-b855-5eeffdd3526f", "allowed_attempts":3, "challenge_type":"SANDBOX_TAN" }, "charge":{ "summary":"Rent the flat", "value":{ "currency":"EUR", "amount":"10" } } }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20001: User not logged in. Authentication is required!
  • 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-30110: Invalid Account Id. The ACCOUNT_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.
  • OBP-10001: Incorrect json format.
  • 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-40002: Insufficient authorisation to create TransactionRequest. The Transaction Request could not be created because you don't have access to the owner view of the from account or you don't have access to canCreateAnyTransactionRequest.
  • OBP-20017: Current user does not have access to the view. Please specify a valid value for VIEW_ID.
  • OBP-40001: Invalid value for TRANSACTION_REQUEST_TYPE
  • OBP-10001: Incorrect json format.
  • OBP-10002: Invalid Number. Could not convert value to a number.
  • OBP-40008: Can't send a payment with a value of 0 or less.
  • OBP-40003: Transaction Request Currency must be the same as From Account Currency.
  • OBP-00003: Transaction Requests is disabled in this API instance.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.1.0 by createTransactionRequestSandboxTan

Create Transaction Request (SEPA)

Special instructions for SEPA:

When using a SEPA Transaction Request, you specify the IBAN of a Counterparty in the body of the request.
The routing details (IBAN) of the counterparty will be forwarded to the core banking system for the transfer.

Initiate a Payment via creating a Transaction Request.

In OBP, a transaction request may or may not result in a transaction. However, a transaction only has one possible state: completed.

A Transaction Request can have one of several states.

Transactions are modeled on items in a bank statement that represent the movement of money.

Transaction Requests are requests to move money which may or may not succeeed and thus result in a Transaction.

A Transaction Request might create a security challenge that needs to be answered before the Transaction Request proceeds.

Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).

Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.

The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.

In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to SANDBOX_TAN. See getTransactionRequestTypesSupportedByBank for all supported types.

In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.

If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.

You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.

The following static FX rates are available in sandbox mode:

{
"XAF":{
"HKD":0.0135503,
"AUD":0.00228226,
"KRW":1.87975,
"JOD":0.00127784,
"GBP":0.00131092,
"AED":0.00601555,
"INR":0.110241,
"JPY":0.185328,
"USD":0.00163773,
"ILS":0.00641333,
"EUR":0.00152449
},
"HKD":{
"XAF":73.8049,
"AUD":0.178137,
"KRW":143.424,
"JOD":0.0903452,
"GBP":0.0985443,
"AED":0.467977,
"INR":9.09325,
"JPY":14.0867,
"USD":0.127427,
"ILS":0.460862,
"EUR":0.112495
},
"AUD":{
"XAF":438.162,
"HKD":5.61346,
"KRW":895.304,
"JOD":0.556152,
"GBP":0.609788,
"AED":2.88368,
"INR":50.4238,
"JPY":87.0936,
"USD":0.785256,
"ILS":2.83558,
"EUR":0.667969
},
"KRW":{
"XAF":0.531986,
"HKD":0.00697233,
"AUD":0.00111694,
"JOD":6.30634E-4,
"GBP":6.97389E-4,
"AED":0.00320019,
"INR":0.0586469,
"JPY":0.0985917,
"USD":8.7125E-4,
"ILS":0.00316552,
"EUR":8.11008E-4
},
"JOD":{
"XAF":782.572,
"HKD":11.0687,
"AUD":1.63992,
"KRW":1585.68,
"GBP":1.06757,
"AED":5.18231,
"INR":90.1236,
"JPY":156.304,
"USD":1.41112,
"ILS":5.02018,
"EUR":0.237707
},
"GBP":{
"XAF":762.826,
"HKD":10.1468,
"AUD":1.63992,
"KRW":1433.92,
"JOD":0.936707,
"AED":4.58882,
"INR":84.095,
"JPY":141.373,
"USD":1.2493,
"ILS":4.7002,
"EUR":1.16278
},
"AED":{
"XAF":166.236,
"HKD":2.13685,
"AUD":0.346779,
"KRW":312.482,
"GBP":0.217921,
"AED":0.192964,
"INR":18.3255,
"JPY":30.8081,
"USD":0.27225,
"ILS":0.968033,
"EUR":0.253425
},
"INR":{
"XAF":9.07101,
"HKD":0.109972,
"AUD":0.0198319,
"KRW":17.0512,
"JOD":0.0110959,
"GBP":0.0118913,
"AED":0.0545671,
"JPY":1.68111,
"USD":0.0148559,
"ILS":0.0556764,
"EUR":0.0138287
},
"JPY":{
"XAF":5.39585,
"HKD":0.0709891,
"AUD":0.0114819,
"KRW":10.1428,
"JOD":0.00639777,
"GBP":0.0070735,
"AED":0.032459,
"INR":0.594846,
"USD":0.00883695,
"ILS":0.0320926,
"EUR":0.00822592
},
"USD":{
"XAF":610.601,
"HKD":7.84766,
"AUD":1.27347,
"KRW":1147.78,
"JOD":0.708659,
"GBP":0.800446,
"AED":3.6731,
"INR":67.3135,
"JPY":113.161,
"ILS":3.55495,
"EUR":0.930886
},
"ILS":{
"XAF":155.925,
"HKD":2.16985,
"AUD":0.352661,
"KRW":315.903,
"JOD":0.199196,
"GBP":0.212763,
"AED":1.03302,
"INR":17.9609,
"JPY":31.1599,
"USD":0.281298,
"EUR":1.19318
},
"EUR":{
"XAF":655.957,
"HKD":8.88926,
"AUD":1.49707,
"KRW":1233.03,
"JOD":0.838098,
"GBP":0.860011,
"AED":3.94594,
"INR":72.3136,
"JPY":121.567,
"USD":1.07428,
"ILS":4.20494
}
}

Transaction Requests satisfy PSD2 requirements thus:

1) A transaction can be initiated by a third party application.

2) The customer is informed of the charge that will incurred.

3) The call supports delegated authentication (OAuth)

See this python code for a complete example of this flow.

There is further documentation here

Authentication is Mandatory

Typical Successful Response:

								
									
{ "id":"4050046c-63b3-4868-8a22-14b4181d33a6", "type":"SANDBOX_TAN", "from":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0" }, "details":{ "to_sandbox_tan":{ "bank_id":"String", "account_id":"String" }, "to_sepa":{ "iban":"String" }, "to_counterparty":{ "counterparty_id":"String" }, "to_transfer_to_phone":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"String", "nickname":"String" }, "to":{ "mobile_phone_number":"String" } }, "to_transfer_to_atm":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"String", "nickname":"String" }, "to":{ "legal_name":"String", "date_of_birth":"20181230", "mobile_phone_number":"String", "kyc_document":{ "type":"String", "number":"String" } } }, "to_transfer_to_account":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "transfer_type":"String", "future_date":"20181230", "to":{ "name":"String", "bank_code":"String", "branch_number":"String", "account":{ "number":"String", "iban":"String" } } }, "value":{ "currency":"EUR", "amount":"100" }, "description":"String" }, "transaction_ids":["902ba3bb-dedd-45e7-9319-2fd3f2cd98a1"], "status":"COMPLETED", "start_date":"2017-09-19T00:00:00Z", "end_date":"2017-09-19T00:00:00Z", "challenge":{ "id":"be1a183d-b301-4b83-b855-5eeffdd3526f", "allowed_attempts":3, "challenge_type":"SANDBOX_TAN" }, "charge":{ "summary":"Rent the flat", "value":{ "currency":"EUR", "amount":"10" } } }
Headers:

								
									
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20001: User not logged in. Authentication is required!
  • 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-30110: Invalid Account Id. The ACCOUNT_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.
  • OBP-10001: Incorrect json format.
  • 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-40002: Insufficient authorisation to create TransactionRequest. The Transaction Request could not be created because you don't have access to the owner view of the from account or you don't have access to canCreateAnyTransactionRequest.
  • OBP-20017: Current user does not have access to the view. Please specify a valid value for VIEW_ID.
  • OBP-40001: Invalid value for TRANSACTION_REQUEST_TYPE
  • OBP-10001: Incorrect json format.
  • OBP-10002: Invalid Number. Could not convert value to a number.
  • OBP-40008: Can't send a payment with a value of 0 or less.
  • OBP-40003: Transaction Request Currency must be the same as From Account Currency.
  • OBP-00003: Transaction Requests is disabled in this API instance.
  • OBP-50000: Unknown Error.
Implemented in OBPv2.1.0 by createTransactionRequestSepa

Get Transaction Request Types for Account

Returns the Transation Request Types that the account specified by ACCOUNT_ID and view specified by VIEW_ID has access to.

These are the ways this API Server can create a Transaction via a Transaction Request
(as opposed to Transaction Types which include external types too e.g. for Transactions created by core banking etc.)

A Transaction Request Type internally determines:

  • the required Transaction Request 'body' i.e. fields that define the 'what' and 'to' of a Transaction Request,
  • the type of security challenge that may be be raised before the Transaction Request proceeds, and
  • the threshold of that challenge.

For instance in a 'SANDBOX_TAN' Transaction Request, for amounts over 1000 currency units, the user must supply a positive integer to complete the Transaction Request and create a Transaction.

This approach aims to provide only one endpoint for initiating transactions, and one that handles challenges, whilst still allowing flexibility with the payload and internal logic.

Typical Successful Response:

								
									
{ "transaction_request_types":[{ "value":"10", "charge":{ "summary":"The bank fixed charge", "value":{ "currency":"EUR", "amount":"10" } } }] }
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-30003: Account not found. Please specify a valid value for ACCOUNT_ID.
  • Please specify a valid value for CURRENCY of your Bank Account.
  • Current user does not have access to the view
  • account not found at bank
  • user does not have access to owner view
  • OBP-40018: Sorry, Transaction Requests are not enabled in this API instance.
  • OBP-50000: Unknown Error.
Implemented in OBPv1.4.0 by getTransactionRequestTypes

Get Transaction Requests.

Returns transaction requests for account specified by ACCOUNT_ID at bank specified by BANK_ID.

The VIEW_ID specified must be 'owner' and the user must have access to this view.

Version 2.0.0 now returns charge information.

Transaction Requests serve to initiate transactions that may or may not proceed. They contain information including:

  • Transaction Request Id
  • Type
  • Status (INITIATED, COMPLETED)
  • Challenge (in order to confirm the request)
  • From Bank / Account
  • Details including Currency, Value, Description and other initiation information specific to each type. (Could potentialy include a list of future transactions.)
  • Related Transactions

PSD2 Context: PSD2 requires transparency of charges to the customer.
This endpoint provides the charge that would be applied if the Transaction Request proceeds - and a record of that charge there after.
The customer can proceed with the Transaction by answering the security challenge.

Typical Successful Response:

								
									
{ "transaction_requests_with_charges":[{ "id":"4050046c-63b3-4868-8a22-14b4181d33a6", "type":"SANDBOX_TAN", "from":{ "bank_id":"gh.29.uk", "account_id":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0" }, "details":{ "to_sandbox_tan":{ "bank_id":"String", "account_id":"String" }, "to_sepa":{ "iban":"String" }, "to_counterparty":{ "counterparty_id":"String" }, "to_transfer_to_phone":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"String", "nickname":"String" }, "to":{ "mobile_phone_number":"String" } }, "to_transfer_to_atm":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"String", "nickname":"String" }, "to":{ "legal_name":"String", "date_of_birth":"20181230", "mobile_phone_number":"String", "kyc_document":{ "type":"String", "number":"String" } } }, "to_transfer_to_account":{ "value":{ "currency":"EUR", "amount":"10" }, "description":"String", "transfer_type":"String", "future_date":"20181230", "to":{ "name":"String", "bank_code":"String", "branch_number":"String", "account":{ "number":"String", "iban":"String" } } }, "value":{ "currency":"EUR", "amount":"100" }, "description":"String" }, "transaction_ids":["902ba3bb-dedd-45e7-9319-2fd3f2cd98a1"], "status":"COMPLETED", "start_date":"2017-09-19T00:00:00Z", "end_date":"2017-09-19T00:00:00Z", "challenge":{ "id":"be1a183d-b301-4b83-b855-5eeffdd3526f", "allowed_attempts":3, "challenge_type":"SANDBOX_TAN" }, "charge":{ "summary":"Rent the flat", "value":{ "currency":"EUR", "amount":"10" } } }] }
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-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID.
  • OBP-20017: Current user does not have access to the view. Please specify a valid value for VIEW_ID.
  • OBP-20019: User does not have access to owner view.
  • OBP-60010: Get Transaction Requests Exception.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by getTransactionRequests

Answer Auth Context Update Challenge

Answer Auth Context Update Challenge.

Typical Successful Response:

								
									
{ "user_auth_context_update_id":"613c83ea-80f9-4560-8404-b9cd4ec42a7f", "user_id":"qieuriopwoir987203984729384ipeiu", "key":"CUSTOMER_NUMBER", "value":"78987432", "status":"INITIATED" }
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-50200: Connector cannot return the data we requested.
  • OBP-50000: Unknown Error.
Implemented in OBPv3.1.0 by answerUserAuthContextUpdateChallenge