API Explorer

v1.4.0 (89 APIs)

Bank
Accounts
Views
Counterparties
Transactions

Answer Transaction Request Challenge

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

Authentication is Mandatory

URL Parameters:

ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

BANK_ID: gh.29.uk

TRANSACTION_REQUEST_ID: 8138a7e4-6d02-40e3-a129-0b2bf89de9f1

TRANSACTION_REQUEST_TYPE: SEPA

VIEW_ID: owner

JSON request body fields:

answer:

id: d8839721-ad8f-45dd-9f78-2080414b93f9

JSON response body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

allowed_attempts: 5

amount: 10.12

bank_id: gh.29.uk

body: body

challenge:

challenge_type:

charge:

charge_policy: SHARED

counterparty_id: 9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh

currency: EUR

description: This an optional field. Maximum length is 2000. It can be any characters here.

details:

end_date:

from:

id: d8839721-ad8f-45dd-9f78-2080414b93f9

is_beneficiary: true

name: ACCOUNT_MANAGEMENT_FEE

other_account_routing_address:

other_account_routing_scheme:

other_bank_routing_address:

other_bank_routing_scheme:

start_date: 2020-01-27

status:

summary:

this_account_id:

this_bank_id:

this_view_id:

to:

transaction_ids:

type:

value: 5987953

Typical Successful Response:

								
									
{ "id":{ "value":"123" }, "type":"String", "from":{ "bank_id":"String", "account_id":"String" }, "details":{ "to":{ "bank_id":"String", "account_id":"String" }, "value":{ "currency":"EUR", "amount":"100" }, "description":"String" }, "body":{ "to":{ "bank_id":"String", "account_id":"String" }, "value":{ "currency":"EUR", "amount":"100" }, "description":"String" }, "transaction_ids":"String", "status":"String", "start_date":"1100-01-01T00:00:00Z", "end_date":"1100-01-01T00:00:00Z", "challenge":{ "id":"String", "allowed_attempts":4, "challenge_type":"String" }, "charge":{ "summary":"String", "value":{ "currency":"EUR", "amount":"100" } }, "charge_policy":"SHARED", "counterparty_id":{ "value":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh" }, "name":"John Smith Ltd.", "this_bank_id":{ "value":"gh.uk.9j" }, "this_account_id":{ "value":"123" }, "this_view_id":{ "value":"owner" }, "other_account_routing_scheme":"OBP", "other_account_routing_address":"36f8a9e6-c2b1-407a-8bd0-421b7119307e", "other_bank_routing_scheme":"OBP", "other_bank_routing_address":"gh.29.uk", "is_beneficiary":true }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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-10001: Incorrect json format.
  • Current user does not have access to the view
  • Couldn't create Transaction
  • OBP-40018: Sorry, Transaction Requests are not enabled in this API instance.
  • Need a non-empty answer
  • Need a numeric TAN
  • Need a positive TAN
  • unknown challenge type
  • Sorry, you've used up your allowed attempts.
  • Error getting Transaction Request
  • Transaction Request not found
  • Couldn't create Transaction
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv1.4.0, function_name: by answerTransactionRequestChallenge, operation_id: OBPv1.4.0-answerTransactionRequestChallenge Tags: Transaction-Request, PSD2, Old-Style,

Create Transaction Request

Initiate a Payment via a Transaction Request.

This is the preferred method to create a payment and supersedes makePayment in 1.2.1.

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

In sandbox mode, if the amount is < 100 the transaction request will create a transaction without a challenge, else 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.

Please see later versions of this call in 2.0.0 or 2.1.0.

Authentication is Mandatory

URL Parameters:

ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

BANK_ID: gh.29.uk

TRANSACTION_REQUEST_TYPE: SEPA

VIEW_ID: owner

JSON request body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

amount: 10.12

bank_id: gh.29.uk

challenge_type:

currency: EUR

description: This an optional field. Maximum length is 2000. It can be any characters here.

to:

value: 5987953

JSON response body fields:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

allowed_attempts: 5

amount: 10.12

bank_id: gh.29.uk

body: body

challenge:

challenge_type:

charge:

charge_policy: SHARED

counterparty_id: 9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh

currency: EUR

description: This an optional field. Maximum length is 2000. It can be any characters here.

details:

end_date:

from:

id: d8839721-ad8f-45dd-9f78-2080414b93f9

is_beneficiary: true

name: ACCOUNT_MANAGEMENT_FEE

other_account_routing_address:

other_account_routing_scheme:

other_bank_routing_address:

other_bank_routing_scheme:

start_date: 2020-01-27

status:

summary:

this_account_id:

this_bank_id:

this_view_id:

to:

transaction_ids:

type:

value: 5987953

Typical Successful Response:

								
									
{ "id":{ "value":"123" }, "type":"String", "from":{ "bank_id":"String", "account_id":"String" }, "details":{ "to":{ "bank_id":"String", "account_id":"String" }, "value":{ "currency":"EUR", "amount":"100" }, "description":"String" }, "body":{ "to":{ "bank_id":"String", "account_id":"String" }, "value":{ "currency":"EUR", "amount":"100" }, "description":"String" }, "transaction_ids":"String", "status":"String", "start_date":"1100-01-01T00:00:00Z", "end_date":"1100-01-01T00:00:00Z", "challenge":{ "id":"String", "allowed_attempts":4, "challenge_type":"String" }, "charge":{ "summary":"String", "value":{ "currency":"EUR", "amount":"100" } }, "charge_policy":"SHARED", "counterparty_id":{ "value":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh" }, "name":"John Smith Ltd.", "this_bank_id":{ "value":"gh.uk.9j" }, "this_account_id":{ "value":"123" }, "this_view_id":{ "value":"owner" }, "other_account_routing_scheme":"OBP", "other_account_routing_address":"36f8a9e6-c2b1-407a-8bd0-421b7119307e", "other_bank_routing_scheme":"OBP", "other_bank_routing_address":"gh.29.uk", "is_beneficiary":true }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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-30003: Account not found. Please specify a valid value for ACCOUNT_ID.
  • OBP-30004: Counterparty not found. The BANK_ID / ACCOUNT_ID specified does not exist on this server.
  • Counterparty and holder accounts have differing currencies
  • Request currency and holder account currency can't be different.
  • Amount not convertible to number
  • account ${fromAccount.accountId} not found at bank ${fromAccount.bankId}
  • user does not have access to owner view
  • amount ${body.value.amount} not convertible to number
  • Cannot send payment to account with different currency
  • Can't send a payment with a value of 0 or less.
  • OBP-40018: Sorry, Transaction Requests are not enabled in this API instance.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv1.4.0, function_name: by createTransactionRequest, operation_id: OBPv1.4.0-createTransactionRequest Tags: Transaction-Request, PSD2, Old-Style,

Get Transaction Request Types for Account

Returns the Transaction 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.

Authentication is Mandatory

URL Parameters:

ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

BANK_ID: gh.29.uk

VIEW_ID: owner

JSON response body fields:

amount: 10.12

charge:

currency: EUR

summary:

transaction_request_types:

value: 5987953

Typical Successful Response:

								
									
{ "transaction_request_types":[{ "value":"10", "charge":{ "summary":"The bank fixed charge", "value":{ "currency":"EUR", "amount":"0" } } }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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.
Connector Methods:
Version: OBPv1.4.0, function_name: by getTransactionRequestTypes, operation_id: OBPv1.4.0-getTransactionRequestTypes Tags: Transaction-Request, Payment Initiation Service (PIS), PSD2,

Get all Transaction Requests

Authentication is Mandatory

URL Parameters:

ACCOUNT_ID: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

BANK_ID: gh.29.uk

VIEW_ID: owner

JSON response body fields:

account:

account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0

allowed_attempts: 5

amount: 10.12

bank_code: CGHZ

bank_id: gh.29.uk

body: body

branch_number:

challenge:

challenge_type:

charge:

charge_policy: SHARED

counterparty_id: 9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh

creditorAccount:

creditorName:

currency: EUR

date_of_birth: 2018-03-09

debtorAccount:

description: This an optional field. Maximum length is 2000. It can be any characters here.

end_date:

from:

future_date: 20200127

iban: DE91 1000 0000 0123 4567 89

id: d8839721-ad8f-45dd-9f78-2080414b93f9

instructedAmount: 100

is_beneficiary: true

kyc_document:

legal_name: Eveline Tripman

message: 123456

mobile_phone_number: +49 30 901820

name: ACCOUNT_MANAGEMENT_FEE

nickname:

number:

otherAccountRoutingAddress: otherAccountRoutingAddress

otherAccountRoutingScheme: otherAccountRoutingScheme

otherAccountSecondaryRoutingAddress: otherAccountSecondaryRoutingAddress

otherAccountSecondaryRoutingScheme: otherAccountSecondaryRoutingScheme

otherBankRoutingAddress: otherBankRoutingAddress

otherBankRoutingScheme: otherBankRoutingScheme

otherBranchRoutingAddress: otherBranchRoutingAddress

otherBranchRoutingScheme: otherBranchRoutingScheme

other_account_routing_address:

other_account_routing_scheme:

other_bank_routing_address:

other_bank_routing_scheme:

start_date: 2020-01-27

status:

summary:

this_account_id:

this_bank_id:

this_view_id:

to:

transaction_ids:

transfer_type:

type:

value: 5987953

future_date: 20200127

to_counterparty:

to_sandbox_tan:

to_sepa:

to_sepa_credit_transfers:

to_simple: to_simple

to_transfer_to_account:

to_transfer_to_atm:

to_transfer_to_phone:

Typical Successful Response:

								
									
{ "id":{ "value":"123" }, "type":"String", "from":{ "bank_id":"String", "account_id":"String" }, "body":{ "to_sandbox_tan":{ "bank_id":"String", "account_id":"String" }, "to_sepa":{ "iban":"String" }, "to_counterparty":{ "counterparty_id":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh" }, "to_simple":{ "otherBankRoutingScheme":"BIC", "otherBankRoutingAddress":"GENODEM1GLS", "otherBranchRoutingScheme":"BRANCH-CODE", "otherBranchRoutingAddress":"DERBY6", "otherAccountRoutingScheme":"IBAN", "otherAccountRoutingAddress":"DE91 1000 0000 0123 4567 89", "otherAccountSecondaryRoutingScheme":"IBAN", "otherAccountSecondaryRoutingAddress":"DE91 1000 0000 0123 4567 89" }, "to_transfer_to_phone":{ "value":{ "currency":"EUR", "amount":"0" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"+44 07972 444 876", "nickname":"String" }, "to":{ "mobile_phone_number":"+44 07972 444 876" } }, "to_transfer_to_atm":{ "value":{ "currency":"EUR", "amount":"0" }, "description":"String", "message":"String", "from":{ "mobile_phone_number":"+44 07972 444 876", "nickname":"String" }, "to":{ "legal_name":"Eveline Tripman", "date_of_birth":"20181230", "mobile_phone_number":"+44 07972 444 876", "kyc_document":{ "type":"String", "number":"String" } } }, "to_transfer_to_account":{ "value":{ "currency":"EUR", "amount":"0" }, "description":"String", "transfer_type":"String", "future_date":"20181230", "to":{ "name":"String", "bank_code":"String", "branch_number":"String", "account":{ "number":"String", "iban":"String" } } }, "to_sepa_credit_transfers":{ "debtorAccount":{ "iban":"12345" }, "instructedAmount":{ "currency":"EUR", "amount":"0" }, "creditorAccount":{ "iban":"54321" }, "creditorName":"John Miles" }, "value":{ "currency":"EUR", "amount":"100" }, "description":"This an optional field. Maximum length is 2000. It can be any characters here." }, "transaction_ids":"String", "status":"String", "start_date":"1100-01-01T00:00:00Z", "end_date":"1100-01-01T00:00:00Z", "challenge":{ "id":"String", "allowed_attempts":4, "challenge_type":"String" }, "charge":{ "summary":"String", "value":{ "currency":"EUR", "amount":"100" } }, "charge_policy":"String", "counterparty_id":{ "value":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh" }, "name":"String", "this_bank_id":{ "value":"gh.uk.9j" }, "this_account_id":{ "value":"123" }, "this_view_id":{ "value":"owner" }, "other_account_routing_scheme":"OBP", "other_account_routing_address":"36f8a9e6-c2b1-407a-8bd0-421b7119307e", "other_bank_routing_scheme":"OBP", "other_bank_routing_address":"gh.29.uk", "is_beneficiary":true, "future_date":"20200127" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
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.
  • Current user does not have access to the view
  • account not found at bank
  • user does not have access to owner view
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv1.4.0, function_name: by getTransactionRequests, operation_id: OBPv1.4.0-getTransactionRequests Tags: Transaction-Request, PSD2, Old-Style,