Getting Started
What is it?
The Consumer API is how you can access user data using the same API that powers Banno’s own Banno Online and Banno Mobile experiences.
The Consumer API helps you embed financial capabilities into app experiences outside of Banno (or use when building custom Banno dashboard cards with the Plugin Framework).
What is its purpose?
The Consumer API is intended to be used when an External Application wants to call API endpoints with direct user interaction. This means that authentication is on the user’s behalf.
Quickstarts
How do I get help?
If you are having issues with the Consumer API, try stepping through the Troubleshooting page.
- Register for the Digital Toolkit Meetup where we answer technical Q&A from the audience.
- Join the community using the official tag on Stack Overflow.
How do I use it?
These are some of the things you should know about the Consumer API.
OAuth 2.0 and OpenID Connect
The Consumer API uses the OAuth 2.0 Authorization Code Grant flow to obtain an Access Token:
- An External Application can use its credentials to obtain an Access Token after the user has logged in and consented to link their data with the 3rd party app.
- Once the Access Token expires, the External Application can exchange a Refresh Token for a new Access Token when necessary.
The Consumer API uses the OpenID Connect identity layer on top of OAuth to provide authenticated information about the user via an Identity Token, which is encoded as a JSON Web Token (JWT).
Permissions and Scope Enforcement
The Consumer API protects access to user data via OAuth / OpenID Connect scopes.
The OAuth / OpenID Connect scope required for a specific Consumer API endpoint can be found in the endpoint’s definition in the API Reference.
Permissions Flow
The Consumer API data permissions are granted based on granular request scopes and claims, which provide limited access to specific data on a per user basis.
Restrictions
The Consumer API is specifically designed to protect the security of the user and protect the user experience.
As such, these are some restrictions to keep in mind as you build your app.
Configuration
Authenticating to the Consumer API requires an External Application configuration to be created within Banno.
The back office administrator at your financial institution can do this for you in Banno People.
If the back office administrator does not know where to do this, they can review the External application configuration article on the Banno Knowledge site.
API Reference
The Consumer API is based on REST and has predictable resource-oriented URLs. The Consumer API uses standard HTTP verbs and status codes and returns JSON-encoded responses.
The Consumer API protects access to user data using OAuth 2.0. The user’s login credentials are never shared with third party apps. Authorization is provided to third party applications via an Access Token.
The Consumer API provides authenticated user identity information using OpenID Connect (OIDC). With OpenID Connect, third party apps are provided authenticated information about the user in the form of an Identity Token.
How have others used it?
These are some of the ways that 3rd party developers have used the Consumer API:
- Build a personal financial management (PFM) dashboard that pulls account information from different financial institutions into a unified view of a user’s complete financial life
- Simplify and prefill a loan application form
- Enable developers to securely access and share financial data via a secure data access network
Additional details
Here are some additional details that you may find useful as you build your apps.
Guides
Guides are designed to provide you with bite-sized introductions to our API. Each guide showcases a part of our API and how to use it in the simplest way.
We recommend reading these guides:
- Guide on Accounts and Transactions
- Guide on Data Refresh
- Guide on Refresh Tokens
- Guide on Claims in the Identity Token
- Guide on Retrieving Images
Other “Getting Started” pages
These pages will help you get started with other parts of the Digital Toolkit: