Skip to content
Developerhome

Bank feeds reauthentication API

  Less than to read

:

Reauthentication through the UI is the preferred integration method. This is because we have already handled the complexity of the reauthentication flow for different connections. It also reduces the need for future maintenance when there are brand or logo changes. These are managed centrally by the Sage Network Platform team


API flow diagram

Flow diagram displaying the reauthorisation flow


Step 1. Get list of banks

The 1st step of integrating into bank feeds and onboarding a customer’s account is to identify the bank for their accounts. Call the GET banks endpoint to list all available banks. It can also be used to add filters to search on specific fields such as bank name or ‘top banks’. Specify the bank identifier as shown to specific bank details.

GET /banks/{bankId}

Consumer APIProduct -> Banking Service

Headers Description
x-application This is your application identifier which is generated from the Authentication Service.

Response

  {
      "name": "Chase",
      "primaryCountry": "USA",
      "primaryCountry2CharIso": "US",
      "authorisationMechanism": null,
      "accountTypes": [],
      "status": "supported",
      "authorisationData": null,
      "offBoardingMechanism": {
          "type": "none",
          "instructions": ""
      },
      "supportiframe": true,
      "popularBank": false,
      "bankURL": "https://www.chase.com",
      "flags": {
          "oauth": false
      },
      "dataProvider": "indirect",
      "capabilities": {
          "manualRefresh": false
      },
      "logo": "https://s3-eu-west-1.amazonaws.com/bnkc-dev01-s3-eu-west-1-banklogos/chase.png",
      "logoSvg": "https://s3-eu-west-1.amazonaws.com/bnkc-dev01-s3-eu-west-1-banklogos/chase.svg",
      "icon": "https://s3-eu-west-1.amazonaws.com/bnkc-dev01-s3-eu-west-1-banklogos/chase_icon.svg",
      "bankId": "fd105b12-887b-4277-95ea-157a41d0651e"
  }

Step 2. Obtain an access token

Before integrating with the Banking Service, integrate with the Authentication Service.

To work with Banking Service, you need an access token (JWT) from Authentication Service. The JWT is generated using the unique IDs of the organisation (organisationId) and company (companyId). This JWT can be provided as a bearer token for Banking Service requests through the authorisation header: ‘Bearer ‘.


Step 3. Retrieve HTML – for indirect banks

GET /banks/{bankId}

Consumer APIProduct -> Banking Service

Headers Description
x-application This is your application identifier which is generated from the Authentication Service.
Authorization This is the bearer token returned from your request to the /accesstoken endpoint as described in step 1.
Content-Type This should be set as application/json.

Query Params Description
bankid This is the identifier of the bank which can be located within the Get Banks endpoint.
web Identify the route you will take to obtain request results. Can be true, false, or none.
Web parameter types
  • web = true: Returns a polling URL route. This can be used to monitor progress of the UI flow and obtain the final result.
  • web = true and callback: The client browser will redirect to the URL providing the bank account identifiers in the query string. For security reasons, the callback needs to be a value we have setup in our allowlist.
  • none: The product is assumed to be a desktop product using a desktop browser window. This window will receive a scripting event to capture the details.
callback Provide a callback if web = true. This is optional.

Response

  {
  "redirect":"{URL}",
  "pollRoute":"{URL}",
  "pollPeriod":5000
  }

Recap

In this walkthrough we’ve gone through the process of integrating directly with the bank feeds functionality through the endpoints available on the Banking Service Consumer API.


Was this helpful?