Skip to content

FluentDevelopment/basiq-api

Repository files navigation

Package Stats

Basiq.io Node.js bindings

Travis CI Build Status codecov Code Coverage dependencies Status devDependencies Status FOSSA Status license

Basiq.io API bindings for Node.js

Configuration

The API key can be found on the API Keys tab in the Basiq.io dashboard.

Require

var BasiqAPI = require('basiq-api').BasiqAPI;

var apiOptions = {
  baseURL: 'https://au-api.basiq.io', // optional
  auth: {
    apiKey: 'abc123'
  }
}

var basiq = new BasiqAPI(apiOptions);

Importing

import { BasiqAPI, BasiqAPIOptions, BasiqResponse } from 'basiq-api';

const apiOptions: BasiqAPIOptions = {
  baseURL: 'https://au-api.basiq.io', // optional
  auth: {
    apiKey: 'abc123'
  }
}

const basiq: BasiqAPI = new BasiqAPI(apiOptions);

API Overview

Every resource is accessed via your basiq instance:

// basiq.{ RESOURCE_NAME }.{ METHOD_NAME }

Every resource method returns a promise, which can be chained or used with async/await.

basiq.accounts
  .list('123')
  .then((res: BasiqResponse) => {
    return res.body;
  })
  ;

// where supported
async function getAccounts(connectionId) {
  var resp: BasiqResponse = await basiq.accounts.list(connectionId);
  return resp.body;
}

Available resources and methods

  • connections
    • create(options: ConnectionCreateOptions)
    • refresh(connectionId: string)
    • retrieve(connectionId: string)
    • update(connectionId: string, options: ConnectionUpdateOptions)
    • delete(connectionId: string)
  • accounts
    • retrieve(connectionId: string, accountId: string)
    • list(connectionId:string)
  • transactions
    • retrieve(connectionId: string, transactionId: string)
    • list(connectionId: string)
  • institutions
    • retrieve(institutionId: string)
    • list()

Interfaces

export interface AuthenticationOptions {
  apiKey: string;
}

export interface BasiqAPIOptions {
  baseUrl?: string;
  auth: AuthenticationOptions;
}

export interface ConnectionCreateOptions {
  loginId: string;
  password: string;
  securityCode?: string;
  externalUserId?: string;
  institution: {
    id: string;
  };
}

export interface ConnectionUpdateOptions {
  loginId?: string;
  password: string;
  securityCode?: string;
  externalUserId?: string;
}

export interface BasiqResponse {
  status: number;
  statusText: string;
  body: any;
  headers?: any;
}

3rd-Party Software License

https://app.fossa.io/reports/ef013f3f-50fe-4268-b2c7-7aa7ca0c26d3