Skip to content
tesobe-daniel edited this page Jul 27, 2022 · 81 revisions

Information about the generic OBP API Sandbox

Short link to this page: http://bit.ly/obpsb

Overview

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.

What sort of financial applications can I build with the OBP API?

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..

What sort of products can I hold or make available via OBP API?

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.

What data and Services can I access?

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.

Which Core Banking System and related Services can I access?

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.

Useful links and initial instructions:

1. The OBP API:

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.

2. The API Explorer:

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.

3. Example data for Social Charity Application

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

4. Endpoints:

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)

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.

5. Questions:

Please join our slack channel via this link: https://slack.openbankproject.com/

A Quick "How to"?

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!

API Endpoint:

https://apisandbox.openbankproject.com/obp/v1.4.0

API Explorer:

Use the OBP API Explorer to browse and test the API.

This OBP instance contains simulated test accounts for test banks:

Important Note to Developers:

In order to build and test your Apps, you will use two different logins:

    1. Your developer login to get your API keys (see Application registration below)
    1. One or more simulated customer logins to access transaction data etc. (See customer logins below)

Application registration

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.

OAuth1 or OAuth2

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!

FAQ:

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

API documentation

Customer logins

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).

Questions / Contact?

To contact Open Bank Project use:

Clone this wiki locally