Authentication
There are two methods for authentication. For client-centric applications, we recommend User Authentication. For integrations or ETL, we recommend System Authentication.

The first action your application should take is signing in to the API to retrieve the a Customer ID. Many of our resources will require a Customer ID to denote which customer's accounts you're requesting.

Endpoint

https://api.abacushub.io/login/

Send a HTTP POST to this endpoint with a specific member credentials.

Request Object

{
  "UserName": "123456",
  "Password": "123456"
}

If the login attempt was successful, the API will return HTTP 200 indicating success along with an object representing the signed in user account.

Sample Success Response

{
  "customerId": "12345",
  "PersonId": "12345",
  "Name": "Bloggs, Joe",
  "CorrespondenceName": ""MR JOE BLOGGS",
  "DateOfBirth": "2000-01-01T00:00:00",
  "LastLogin": "2010-01-01T00:00:00",
  "Phone": "07917123456",
  "Email": "email@myemail.com"
}

Failure Responses

Status Code Description
401 Incorrect login details.
412 Strong Customer Authentication (SCA) has expired.
The login response includes personal identifiable information which can be used in application user interfaces to display who is making the request, the currently signed in user or other functionality. Your application should at least store the Customer ID and Person ID properties for subsequent requests.

Abacus API contains specific end points for sending requests for all records which can be used by a system. This does not require customer specific user information and retrieve all the records to be used in further processing or requests. The first step would be to retrieve all customer records from the database. Then we can use the results of this to request more information such as accounts.

Endpoint

https://api.abacushub.io/customers/

Send a HTTP GET to this endpoint to get all customers. If this was successful, the API will return HTTP 200 indicating success along with a paged collection of customers sorted by CustomerID ascending.

Single Response Object

{
  "pageNumber": 1,   "pageSize": 100,   "totalPages": 321,   "totalItems": 32087,   "nextUrl": "http://localhost:10000/customers?page=2&pagesize=100&sort=id&ascending=true",   "previousUrl": null,   "items": [
    "id": "12345",
    "branchId": "1",
    "number": "123456",
    "organisationOfficer": "0",
    "address1": "1 MyStreet",
    "address2": "",
    "address3": "",
    "TownCity": "MyCity",
    "State": "MyState",
    "PostalCode": "BT11 1AA",
    "County": "MyCounty",
    "CountryName": "MyCountry",
    "Name": "BLOGGS, JOE",
    "CorrespondenceName": "MR JOE BLOGGS",
    "DateOfBirth": "2000-10-23T00:00:00",
    "Email": "email@myemail.com",
    "Telephone1": "0289012356",
    "Telephone2": "02890654321",
    "Telephone3": "07917123456",
    "SMSConsentGiven": true,
    "OpenDate": "1989-11-28T00:00:00",
  ]
}

Most resources have supported operations that will fetch all records of that type. This allows the system to fetch all of the records along with IDs which can be used with further requests on the API.