-
API
-
The terms `API` (Application Programming Interface) and `Endpoint` are used somewhat interchangeablyMore...
- Get API Info (root)
-
-
Account
-
The thing that tokens of value (money) come in and out of. An account has one or more `owners` whichMore...
- Create Account
- Create View
- Get Account by Id (Core)
- Get Account by Id (Full)
- Get Accounts at Bank
- Get Accounts at Bank (Private)
- Get Accounts at all Banks (Private)
- Get all Accounts at all Banks
- Get private accounts at one bank
- Update Account Label
- Update View
-
-
Bank
-
A Bank (aka Space) represents a financial institution, brand or organizational unit under which resMore...
- Get Bank
- Get Bank ATMS
- Get Bank Products
- Get Banks
- Get Transaction Types at Bank
-
-
Counterparty Metadata
- Add Corporate Location to Counterparty
- Add Counterparty More Info
- Add Open Corporates URL to Counterparty
- Add image url to other bank account
- Add physical location to other bank account
- Add public alias to other bank account
- Add url to other bank account
- Create Other Account Private Alias
- Delete Counterparty Corporate Location
- Delete Counterparty Image URL
- Delete Counterparty Open Corporates URL
- Delete Counterparty Physical Location
- Delete Counterparty Private Alias
- Delete Counterparty Public Alias
- Delete more info of other bank account
- Delete url of other bank account
- Get Other Account Metadata
- Get Other Account Private Alias
- Get public alias of other bank account
- Update Counterparty Corporate Location
- Update Counterparty Image Url
- Update Counterparty More Info
- Update Counterparty Physical Location
- Update Counterparty Private Alias
- Update Open Corporates Url of Counterparty
- Update public alias of other bank account
- Update url of other bank account
-
Customer
-
The legal entity that has the relationship to the bank. Customers are linked to Users via `User CusMore...
- Create Customer
- Create Customer Social Media Handle
- Create User Customer Link
- Get CRM Events
- Get Customer Social Media Handles
- Get customer for logged in user
-
-
Transaction
-
Transactions are records of successful movements of value into or out of an `Account`. OBP TransacMore...
- Get Other Account of Transaction
- Get Transaction by Id
- Get Transactions for Account (Core)
- Get Transactions for Account (Full)
-
-
Transaction Metadata
- Add a Transaction Comment
- Add a Transaction Image
- Add a Transaction Narrative
- Add a Transaction Tag
- Add a Transaction where Tag
- Delete a Transaction Comment
- Delete a Transaction Image
- Delete a Transaction Narrative
- Delete a Transaction Tag
- Delete a Transaction Tag
- Get Transaction Comments
- Get Transaction Images
- Get Transaction Tags
- Get a Transaction Narrative
- Get a Transaction where Tag
- Update a Transaction Narrative
- Update a Transaction where Tag
-
User
-
The entity that accesses the API with a login / authorisation token and has access to zero or moreMore...
- Create User
- Get User (Current)
- Get Users by Email Address
-
-
API
-
Account
- Create Account
- Create View
- Get Account by Id (Core)
- Get Account by Id (Full)
- Get Accounts at Bank
- Get Accounts at Bank (Private)
- Get Accounts at all Banks (Private)
- Get all Accounts at all Banks
- Get private accounts at one bank
- Update Account Label
- Update View
-
Account Public
-
Bank
-
Bank Accounts (Dynamic Endpoint)
-
Branch
-
Card
-
Counterparty
-
Counterparty Metadata
- Add Corporate Location to Counterparty
- Add Counterparty More Info
- Add Open Corporates URL to Counterparty
- Add image url to other bank account
- Add physical location to other bank account
- Add public alias to other bank account
- Add url to other bank account
- Create Other Account Private Alias
- Delete Counterparty Corporate Location
- Delete Counterparty Image URL
- Delete Counterparty Open Corporates URL
- Delete Counterparty Physical Location
- Delete Counterparty Private Alias
- Delete Counterparty Public Alias
- Delete more info of other bank account
- Delete url of other bank account
- Get Other Account Metadata
- Get Other Account Private Alias
- Get public alias of other bank account
- Update Counterparty Corporate Location
- Update Counterparty Image Url
- Update Counterparty More Info
- Update Counterparty Physical Location
- Update Counterparty Private Alias
- Update Open Corporates Url of Counterparty
- Update public alias of other bank account
- Update url of other bank account
-
Customer
- Create Customer
- Create Customer Social Media Handle
- Create User Customer Link
- Get CRM Events
- Get Customer Social Media Handles
- Get customer for logged in user
-
Customer Message
-
Data Warehouse
-
Documentation
-
Dynamic Resource Doc
-
KYC
- Add KYC Check
- Add KYC Document
- Add KYC Media
- Add KYC Status
- Get Customer KYC Checks
- Get Customer KYC Documents
- Get Customer KYC statuses
- Get KYC Media for a customer
-
Metric
-
Person
-
Role
-
Transaction
- Get Other Account of Transaction
- Get Transaction by Id
- Get Transactions for Account (Core)
- Get Transactions for Account (Full)
-
Transaction Metadata
- Add a Transaction Comment
- Add a Transaction Image
- Add a Transaction Narrative
- Add a Transaction Tag
- Add a Transaction where Tag
- Delete a Transaction Comment
- Delete a Transaction Image
- Delete a Transaction Narrative
- Delete a Transaction Tag
- Delete a Transaction Tag
- Get Transaction Comments
- Get Transaction Images
- Get Transaction Tags
- Get a Transaction Narrative
- Get a Transaction where Tag
- Update a Transaction Narrative
- Update a Transaction where Tag
-
Transaction Request
- Answer Transaction Request Challenge
- Create Transaction Request
- Get Transaction Request Types for Account
- Get Transaction Requests
-
User
-
View Custom
- Delete Custom View
- Get Account access for User
- Get Views for Account
- Get access
- Grant User access to View
- Grant User access to a list of views
- Revoke access to all Views on Account
- Revoke access to one View
-
_Covid APIDays
- Create new Covid APIDays
- Delete Covid APIDays by id
- Get Covid APIDays List
- Get Covid APIDays by id
- Update Covid APIDays
-
_Customer Cars
- Create new Customer Cars
- Delete Customer Cars by id
- Get Customer Cars List
- Get Customer Cars by id
- Update Customer Cars
-
_D Entity1(gh.29.uk)
-
_Fish Port
-
_Foo Bar
-
_Insurance Policy(gh.29.uk)
- Create new Insurance Policy
- Delete Insurance Policy by id
- Get Insurance Policy List
- Get Insurance Policy by id
- Update Insurance Policy
-
_Insurance Premium(gh.29.uk)
- Create new Insurance Premium
- Delete Insurance Premium by id
- Get Insurance Premium List
- Get Insurance Premium by id
- Update Insurance Premium
-
_March Hare(gh.29.uk)
- Create new March Hare
- Delete March Hare by id
- Get March Hare List
- Get March Hare by id
- Update March Hare
-
_Obp Activity(obp.testing.01)
- Create new Obp Activity
- Delete Obp Activity by id
- Get Obp Activity List
- Get Obp Activity by id
- Update Obp Activity
-
_Odometer(gh.29.uk)
-
_Simon Covid
- Create new Simon Covid
- Delete Simon Covid by id
- Get Simon Covid List
- Get Simon Covid by id
- Update Simon Covid
-
_Sustrans
-
_Test Daniel707
- Create new My Test Daniel707
- Create new Test Daniel707
- Delete My Test Daniel707 by id
- Delete Test Daniel707 by id
- Get My Test Daniel707 List
- Get My Test Daniel707 by id
- Get Test Daniel707 List
- Get Test Daniel707 by id
- Update My Test Daniel707
- Update Test Daniel707
-
_Test1
v2.0.0 (192 APIs)
Answer Transaction Request Challenge
In Sandbox mode, any string that can be converted to a positive 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:
id: d8839721-ad8f-45dd-9f78-2080414b93f9
JSON response body fields:
account_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
amount: 10.12
bank_id: gh.29.uk
currency: EUR
description: This an optional field. Maximum length is 2000. It can be any characters here.
from:
id: d8839721-ad8f-45dd-9f78-2080414b93f9
start_date: 2020-01-27
to:
type:
value: 5987953
{
"id":"82f92531-9c63-4246-abfc-96c20ec46188",
"type":"SANDBOX_TAN",
"from":{
"bank_id":"gh.29.uk",
"account_id":"8ca8a7e4-6d02-40e3-a129-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":"1100-01-01T00:00:00Z",
"end_date":"1100-01-01T00: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":"0"
}
}
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-30110: Invalid Account Id. The ACCOUNT_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.
- OBP-30111: Invalid Bank Id. The BANK_ID should only contain 0-9/a-z/A-Z/'-'/'.'/'_', the length should be smaller than 255.
- OBP-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-10001: Incorrect json format.
- OBP-40004: Transaction Request Id not found.
- OBP-40009: The TRANSACTION_REQUEST_TYPE has changed.
- OBP-40010: Invalid Challenge Id. Please specify a valid value for CHALLENGE_ID.
- OBP-40011: Transaction Request Status is not INITIATED.
- OBP-00003: Transaction Requests is disabled in this API instance.
- OBP-50000: Unknown Error.
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.
PSD2 Context: Third party access access to payments is a core tenent of PSD2.
This call satisfies that requirement from several perspectives:
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 uses delegated authentication (OAuth)
See this python code for a complete example of this flow.
In sandbox mode, if the amount is less than 100 (any currency), 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.
Currently TRANSACTION_REQUEST_TYPE must be set to SANDBOX_TAN
The following static FX rates are available in sandbox mode:
{
"XAF":{
"XAF":1.0,
"HKD":0.0135503,
"AUD":0.00228226,
"KRW":1.87975,
"JOD":0.00127784,
"GBP":0.00131092,
"MXN":0.0396,
"AED":0.00601555,
"INR":0.110241,
"XBT":2.9074795E-8,
"JPY":0.185328,
"USD":0.00163773,
"ILS":0.00641333,
"EUR":0.00152449
},
"HKD":{
"XAF":73.8049,
"HKD":1.0,
"AUD":0.178137,
"KRW":143.424,
"JOD":0.0903452,
"GBP":0.0985443,
"MXN":2.8067,
"AED":0.467977,
"INR":9.09325,
"XBT":2.164242461E-6,
"JPY":14.0867,
"USD":0.127427,
"ILS":0.460862,
"EUR":0.112495
},
"AUD":{
"XAF":438.162,
"HKD":5.61346,
"AUD":1.0,
"KRW":895.304,
"JOD":0.556152,
"GBP":0.609788,
"MXN":16.0826,
"AED":2.88368,
"INR":50.4238,
"XBT":1.2284055924E-5,
"JPY":87.0936,
"USD":0.785256,
"ILS":2.83558,
"EUR":0.667969
},
"KRW":{
"XAF":0.531986,
"HKD":0.00697233,
"AUD":0.00111694,
"KRW":1.0,
"JOD":6.30634E-4,
"GBP":6.97389E-4,
"MXN":0.0183,
"AED":0.00320019,
"INR":0.0586469,
"XBT":1.4234725E-8,
"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,
"JOD":1.0,
"GBP":1.06757,
"MXN":30.8336,
"AED":5.18231,
"INR":90.1236,
"XBT":2.3803244006E-5,
"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,
"GBP":1.0,
"MXN":29.242,
"AED":4.58882,
"INR":84.095,
"XBT":2.2756409956E-5,
"JPY":141.373,
"USD":1.2493,
"ILS":4.7002,
"EUR":1.16278
},
"MXN":{
"XAF":25.189,
"HKD":0.3562,
"AUD":0.0621,
"KRW":54.4512,
"JOD":0.0324,
"GBP":0.0341,
"MXN":1.0,
"AED":0.1688,
"INR":3.3513,
"XBT":8.1112586E-7,
"JPY":4.8687,
"USD":0.0459,
"ILS":0.1541,
"EUR":0.0384
},
"AED":{
"XAF":166.236,
"HKD":2.13685,
"AUD":0.346779,
"KRW":312.482,
"JOD":0.1930565,
"GBP":0.217921,
"MXN":5.9217,
"AED":1.0,
"INR":18.3255,
"XBT":4.603349217E-6,
"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,
"MXN":0.2983,
"AED":0.0545671,
"INR":1.0,
"XBT":2.2689396E-7,
"JPY":1.68111,
"USD":0.0148559,
"ILS":0.0556764,
"EUR":0.0138287
},
"XBT":{
"XAF":3.4353824E7,
"HKD":460448.9,
"AUD":81168.603,
"KRW":7.0131575E7,
"JOD":41960.111,
"GBP":44188.118,
"MXN":1230503.3,
"AED":217414.47,
"INR":4407607.74,
"XBT":1.0,
"JPY":6805170.8,
"USD":59245.918,
"ILS":182981.21,
"EUR":52436.431
},
"JPY":{
"XAF":5.39585,
"HKD":0.0709891,
"AUD":0.0114819,
"KRW":10.1428,
"JOD":0.00639777,
"GBP":0.0070735,
"MXN":0.2053,
"AED":0.032459,
"INR":0.594846,
"XBT":1.47171931E-7,
"JPY":1.0,
"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,
"MXN":21.748,
"AED":3.6731,
"INR":67.3135,
"XBT":1.69154E-5,
"JPY":113.161,
"USD":1.0,
"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,
"MXN":6.4871,
"AED":1.03302,
"INR":17.9609,
"XBT":5.452272147E-6,
"JPY":31.1599,
"USD":0.281298,
"ILS":1.0,
"EUR":1.19318
},
"EUR":{
"XAF":655.957,
"HKD":8.88926,
"AUD":1.49707,
"KRW":1233.03,
"JOD":0.838098,
"GBP":0.860011,
"MXN":26.0359,
"AED":3.94594,
"INR":72.3136,
"XBT":1.9087905636E-5,
"JPY":121.567,
"USD":1.07428,
"ILS":4.20494,
"EUR":1.0
}
}
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL
The payee is set in the request body. Money goes into the BANK_ID and ACCOUNT_IDO specified in the request body.
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
currency: EUR
description: This an optional field. Maximum length is 2000. It can be any characters here.
to:
value: 5987953
JSON response body fields:
{
"jsonString":"{}"
}
-
CanCreateAnyTransactionRequest
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-10001: Incorrect json format.
- OBP-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-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-30003: Account not found. Please specify a valid value for ACCOUNT_ID.
- OBP-30005: View not found for Account. Please specify a valid value for VIEW_ID
- OBP-20017: Current user does not have access to the view. Please specify a valid value for VIEW_ID.
- OBP-40002: Insufficient authorisation to create TransactionRequest. The Transaction Request could not be created because the login user doesn't have access to the view of the from account or the consumer doesn't have the access to the view of the from account or the login user does not have the `CanCreateAnyTransactionRequest` role or the view does not have the permission canaddtransactionrequesttoanyaccount.
- OBP-30004: Counterparty not found. The BANK_ID / ACCOUNT_ID specified does not exist on this server.
- OBP-40001: Invalid value for TRANSACTION_REQUEST_TYPE
- 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.
- OBP-20006: User is missing one or more roles:
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
currency: EUR
value: 5987953
{
"transaction_request_types":[{
"value":"10",
"charge":{
"summary":"The bank fixed charge",
"value":{
"currency":"EUR",
"amount":"0"
}
}
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-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.
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
- Body including To Account, Currency, Value, Description and other initiation information. (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.
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_id: 8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0
amount: 10.12
bank_id: gh.29.uk
currency: EUR
description: This an optional field. Maximum length is 2000. It can be any characters here.
from:
id: d8839721-ad8f-45dd-9f78-2080414b93f9
start_date: 2020-01-27
to:
transaction_requests_with_charges:
type:
value: 5987953
{
"transaction_requests_with_charges":[{
"id":"82f92531-9c63-4246-abfc-96c20ec46188",
"type":"SANDBOX_TAN",
"from":{
"bank_id":"gh.29.uk",
"account_id":"8ca8a7e4-6d02-40e3-a129-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":"1100-01-01T00:00:00Z",
"end_date":"1100-01-01T00: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":"0"
}
}
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-30003: Account not found. Please specify a valid value for ACCOUNT_ID.
- OBP-20017: Current user does not have access to the view. Please specify a valid value for VIEW_ID.
- OBP-50000: Unknown Error.