-
Notifications
You must be signed in to change notification settings - Fork 431
Sandbox
Short link to this page: http://bit.ly/obpsb
Open Bank Project is the longest established Open Banking API in the market and provides an Open-Source Open Bank RESTful API interface for developers to build customer-facing applications.
You can use it as a flexible toolbox of data and services to help realize (a.k.a. hack!) your ideas together. When a Hackathons takes place, interested Developers have access to simulated transaction data for imaginary customers. It is available upon request for our Customers.
Any Financial Application or Service, to be short.
Customer-facing Retail-Banking, Capital Market Products or Trading Apps as well as FinTech applications for Consumers, SMEs, associations, charities, governments, and NGOs; including (but not limited to!) Personal Finance Management (PFM) Solutions, online accounting integration, financial widgets, Savings Apps, Education Apps, Gamification, Peace of Mind Apps, Transparency Apps, Crowdfunding, onboarding, CRM, etc..
Any Financial Product, to be short.
The core functionality allows everything any known Financial Government API Standards (STET, Polish API, UK Open Banking, etc.) or closed private Groups (like Berlin Group) might offer currently, and will continue to do so in the foreseeable future (e.g. and that thanks to Open Source Contributors, like potentially you).
We continue to update the OBP API on a regular basis and provided so fare on average API Endpoint for Government API standards before any commercial API endpoints were made available. We add further to these known "Government" API Endpoints our Endpoints for financial products, financial services (Front-, Back Office, and Reporting) as well as Webhooks for CI integration and much more. And e.g. BG, to name one private initiative is available relative shortly after publication on the related webpage, and our paying customers receive the API endpoints included/updated accordingly, either via an updated CI Docker Instance or as CI Source Code update.
We are happy to speak with you about the process, and what is involved.
Any Bank Data, to be short.
Examples, to name a few:
- Account information, balance and transaction history of multiple bank accounts
- Enrich bank transactions with metadata (tags, comments, URLs, and geolocation) for example to link a receipt or video to a transaction
- Initiate payments
- Access Customer messages
- Access data related to branches, ATMs and financial products
- Create/Access different views on accounts. Each view allows to grants a subset of the data to a restricted group of users. For example, a customer could offer particular views on his report to his Tax accountants, Company auditors, or Financial regulators. A Charity might open its accounts to the public.
Any Core Bank System, to date, as you might have read it by now "to be short!"
We connect to any "legacy" or modern Core Banking System, as part of our commercial offering. In principle do we provide the stubs within the Open Source Repository but see this as a way to financially support the work of OBP.
Itself is OBP able to function as a basic Core Banking Account ledger if configured accordingly.
The Open Bank Project is an Open-Source Open Banking API and App-Store for Banks & FinTechs that empowers any type of institutions to securely and rapidly enhance their digital offerings around financial services and products using an ecosystem of 3rd party applications and services.
API Explorer for OBP API is a Scala & Lift web application that consumes the OBP-API resource documentation so that developers can browse and interact with the OBP REST API endpoints.
The Charity Application Example allows the user to browse the transactions, edit counterparties, and more. The information is in this example application the Public Domain, meaning the transaction can be seen by anybody with internet access. You may configure "normal" (private) accounts to check out the differences.
A Test Login with the credentials you can find below:
username / password : robert.uk.29@example.com / d9c663
The API Endpoints allow the User to test and view the Developer API; each endpoint provides a short intro and returns values for the configured test data.
Configured and tested Customer Test data, with pseudo-real bank information (without real references to existing human customers), can be obtained from the OBP Project individually and is part of the service offering of an available commercial license.
Stable API Endpoints
Bleeding Edge Endpoints (Public)
- https://apisandbox.openbankproject.com/obp/v4.0.0 (Bleeding Edge)
Swagger Endpoints (Public)
- The overall OBP API is available as a Swagger.json file, in the API Explorer. It allows the generation of Open API SDK in multiple languages automatically, e.g. via Swagger Hub.
Please join our slack channel via this link: https://slack.openbankproject.com/
A) Register as a developer using one (1) of the above.
B) Build the App and test it then against the available API Endpoints!
For an iOS Example, Application, check out the Starter SDKs to help you kick-start!
C) Login as an Example Bank Customer (see more logins below) so your App has access to customer data.
The logins above and below are valid for all three services since 2 and 3 above are Apps that authenticate against the API using OAuth just like any other App. A public Python 3.8 Django 3.0 Example for oauth1 is in the related repository.
Hint: Remember that you may need to first "log out" as a user at one of the above API endpoints, as you may already be "logged in" as a developer!
https://apisandbox.openbankproject.com/obp/v1.4.0
Use the OBP API Explorer to browse and test the API.
In order to build and test your Apps, you will use two different logins:
-
- Your developer login to get your API keys (see Application registration below)
-
- One or more simulated customer logins to access transaction data etc. (See customer logins below)
Please register your application here before you connect. You will get a consumer key and consumer secret for the calls required by the OAuth authentication.
To get started with OBP and OAuth we recommend you use (and fork) one of our Starter SDKs or e.g. make use of our Python Django 3.0 Example
Note: Make sure you use the correct domain in all calls, i.e., for this sandbox use: apisandbox.openbankproject.com!
-
Q: I'm getting a 401 even if I enter the right consumer key and secret. Is the endpoint: rbs...?
A: No, its apisandbox.openbankproject.com
-
Q: I'm getting 404's / errors
A: Avoid trailing slashes, check the following examples:
https://apisandbox.openbankproject.com/obp/v4.0.0 200 OK
https://apisandbox.openbankproject.com/obp/v4.0.0/ 404 Not Found
https://apisandbox.openbankproject.com/obp/v4.0.0/banks 200 OK
https://apisandbox.openbankproject.com/obp/v4.0.0/banks/ 200 OK {"error":"error"}
https://apisandbox.openbankproject.com/obp/v1.4.0/4.0.0/rbs-rbs-c 200 OK
https://apisandbox.openbankproject.com/obp/v1.4.0/4.0.0/rbs-rbs-c/ 404 Not Found
-
Q: I'm getting 404s when POSTing
A: Check you have the correct JSON body, headers, and encoding. If in doubt, see an example here
-
Q: Why am I not seeing any data for the test user?
A: Make sure you are using the correct bank_id/account_id for the user. Use the OBP API Explorer to check
-
Q: It still doesn't work. Why?
A: Double check parameters are spelled correctly (including HTTP vs. HTTPs etc.)
A: Check your encoding (use UTF8)
Technical details about the OAuth flow, including getting a request token, redirecting the user, getting an access token, and accessing protected resources are available here. Please ask us (see below) if you are stuck with this. Also, you may like to use this tutorial on OAuth
- See the OBP API Explorer browse and test the API.
During the OAuth login, the user of your app will be asked for a customer username/password.
Here are some simulated customer logins to test your App / OAuth flow (use the API Explorer to see which banks they relate to):
{
"email":"robert.uk.29@example.com",
"password":"d9c663",
"user_name":"robert.uk.29@example.com"
},{
"email":"susan.uk.29@example.com",
"password":"2b78e8",
"user_name":"susan.uk.29@example.com"
},{
"email":"anil.uk.29@example.com",
"password":"588848",
"user_name":"anil.uk.29@example.com"
},{
"email":"ellie.uk.29@example.com",
"password":"a81594",
"user_name":"ellie.uk.29@example.com"
},{
"email":"robin.fr.29@example.com",
"password":"c42142",
"user_name":"robin.fr.29@example.com"
},{
"email":"suzanne.fr.29@example.com",
"password":"a4f9af",
"user_name":"suzanne.fr.29@example.com"
},{
"email":"nathan.fr.29@example.com",
"password":"bde179",
"user_name":"nathan.fr.29@example.com"
},{
"email":"elise.fr.29@example.com",
"password":"79a0cb",
"user_name":"elise.fr.29@example.com"
},{
"email":"roberto.it.29@example.com",
"password":"6a463a",
"user_name":"roberto.it.29@example.com"
},{
"email":"susanna.it.29@example.com",
"password":"57a19b",
"user_name":"susanna.it.29@example.com"
},{
"email":"alfio.it.29@example.com",
"password":"69e8d6",
"user_name":"alfio.it.29@example.com"
},{
"email":"elisa.it.29@example.com",
"password":"14adc9",
"user_name":"elisa.it.29@example.com"
},{
"email":"rob.us.29@example.com",
"password":"a50eda",
"user_name":"rob.us.29@example.com"
},{
"email":"sue.us.29@example.com",
"password":"e1788f",
"user_name":"sue.us.29@example.com"
},{
"email":"alf.us.29@example.com",
"password":"9122a1",
"user_name":"alf.us.29@example.com"
},{
"email":"emily.us.29@example.com",
"password":"4984b4",
"user_name":"emily.us.29@example.com"
},{
"email":"roby.tr.29@example.com",
"password":"7deb47",
"user_name":"roby.tr.29@example.com"
},{
"email":"suzan.tr.29@example.com",
"password":"5f68f1",
"user_name":"suzan.tr.29@example.com"
},{
"email":"asil.tr.29@example.com",
"password":"af2d2b",
"user_name":"asil.tr.29@example.com"
},{
"email":"ela.tr.29@example.com",
"password":"09cf2b",
"user_name":"ela.tr.29@example.com"
},{
"email":"robert.be.29@example.com",
"password":"00f680",
"user_name":"robert.be.29@example.com"
},{
"email":"susan.be.29@example.com",
"password":"f46941",
"user_name":"susan.be.29@example.com"
},{
"email":"anil.be.29@example.com",
"password":"9404f4",
"user_name":"anil.be.29@example.com"
},{
"email":"ellie.be.29@example.com",
"password":"58e2a9",
"user_name":"ellie.be.29@example.com"
},{
"email":"robert.de.29@example.com",
"password":"ab4a83",
"user_name":"robert.de.29@example.com"
},{
"email":"susan.de.29@example.com",
"password":"432da0",
"user_name":"susan.de.29@example.com"
},{
"email":"anil.de.29@example.com",
"password":"adfa28",
"user_name":"anil.de.29@example.com"
},{
"email":"ellie.de.29@example.com",
"password":"2efb1f",
"user_name":"ellie.de.29@example.com"
},{
"email":"jaakko.fi.29@example.com",
"password":"8132cf",
"user_name":"jaakko.fi.29@example.com"
},{
"email":"helmi.fi.29@example.com",
"password":"9f5cc8",
"user_name":"helmi.fi.29@example.com"
},{
"email":"timo.fi.29@example.com",
"password":"6addcd",
"user_name":"timo.fi.29@example.com"
},{
"email":"katja.fi.29@example.com",
"password":"ca0317",
"user_name":"katja.fi.29@example.com"
}
Users on INV Bank:
{
"user_name":"Robert.Us.01",
"password":"X!39670561",
"email":"robert.us.01@x.y"
},{
"user_name":"Susan.Us.01",
"password":"X!ba645904",
"email":"susan.us.01@x.y"
},{
"user_name":"Anil.Us.01",
"password":"X!5ffe4dea",
"email":"anil.us.01@x.y"
},{
"user_name":"Ellie.Us.01",
"password":"X!df12720c",
"email":"ellie.us.01@x.y"
},{
"user_name":"Rosalie.Us.01",
"password":"X!df05a6b9",
"email":"rosalie.us.01@x.y"
},{
"user_name":"Chris.Us.01",
"password":"X!f55b78d5",
"email":"chris.us.01@x.y"
},{
"user_name":"Dennis.Us.01",
"password":"X!8251c34b",
"email":"dennis.us.01@x.y"
},{
"user_name":"Jane.Us.01",
"password":"X!d62206f7",
"email":"jane.us.01@x.y"
},{
"user_name":"Emma.Us.01",
"password":"X!f40ef1b4",
"email":"emma.us.01@x.y"
},{
"user_name":"Sebastien.Us.01",
"password":"X!3c3846fe",
"email":"sebastien.us.01@x.y"
},{
"user_name":"Wim.Us.01",
"password":"X!8d18b93b",
"email":"wim.us.01@x.y"
},{
"user_name":"Simon.Us.01",
"password":"X!113c5732",
"email":"simon.us.01@x.y"
},{
"user_name":"Jean-paul.Us.01",
"password":"X!097b6a9a",
"email":"jean-paul.us.01@x.y"
},{
"user_name":"Elise.Us.01",
"password":"X!dbdfc939",
"email":"elise.us.01@x.y"
},{
"user_name":"Eleanor.Us.01",
"password":"X!3abbc8c2",
"email":"eleanor.us.01@x.y"
}
NOTE
It works with almost all markdown flavors (the below blank line matters).
To get different logins just for you / your team, please ask a member of the Open Bank Project team.
You can use this application, which also uses OAuth to browse your transaction data (use the above username/passwords).
To contact Open Bank Project use:
-
Email: contact@openbankproject.com
-
Twitter: @OpenBankProject
-
Slack: openbankproject.slack.com - Please email or tweet us for access