Resources
This describes the resources that make up the Abacus API. If you have any problems or suggestions please contact support.

Represents a Customer account. Accounts may optionally have a parent Product. This is a read-only resource.

Endpoint

https://api.abacushub.io/accounts/

Object

{
  "parentId": 0,
  "productId": 1,
  "productTypeId": 1,
  "customerId": 12345,
  "balanceDate": "2020-06-16T08:26:00",
  "accountNumber": "0881514550000",
  "description": "Regular Saver",
  "code": "Regular Saver",
  "balance": 0.0000,
  "interest": 0.0000,
  "unclearedAmount": 0.0000,
  "minimumShareBalance": 5.0000,
  "balanceLocked": 0.0,
  "issueDate": "0001-01-01T00:00:00",
  "approveAmountTotal": 0.0,
  "lockedPercentage": 100.0000,
  "lockedAgainstNetShares": false,
  "lockedLoanProductId": 56,
  "status": 0,
  "overdraftLimit": 5.0000
  "loanArrears": 0.0
  "loanTopUps": 0
  "loanRepaymentsMade": 0
  "paymentPeriodId": 0
  "paymentPeriodNumber": 0
  "normalPayment": 0.0
  "id": 239291
}

Parameters

N
Name Description Example
parentId 0
productId 1
productTypeId 1
customerId Customer ID 123456
balanceDate 2020-06-16T08:26:00
accountNumber 123456
description Regular Saver
code Regular Saver
balance Balance of account 0.0000
interest Interest of account 0.0000
unclearedAmount Uncleared funds. 0.0000
minimumShareBalance The minimum funds required in an account. 5.0000
balanceLocked Funds locked. 0.0
issueDate Date of account issue. 0001-01-01T00:00:00
approveAmountTotal 0.0
lockedPercentage 100.0000
lockedAgainstNetShares false
lockedLoanProductId 56
status 0
overdraftLimit Account overdraft limit. 5.0000
loanArrears 0.0
loanTopUps Number of top ups applied to loan account. 0
loanRepaymentsMade Repayments made to a loan account. 0
paymentPeriodId 0
paymentPeriodNumber 0
normalPayment 0
id Account ID. 239291

Supported operations

URL
ALL /accounts/
GET /accounts/{accountId}
/accounts/{accountId}/transactions
SEARCH /accounts?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /accounts/
PUT /accounts/{id}
DELETE /accounts/{id}

Represents a customer address and is associated with Customer records. This is a read-only resource.

Endpoint

https://api.abacushub.io/addresses/

Object

{
  "countryId": 1,
  "address1": "myHouse",
  "address2": "myStreet",
  "address3": "",
  "townCity": "myCity",
  "county": "myCounty",
  "state": "",
  "postalCode": "ac12 3dc"
  "id": 8
}

Supported operations

URL
ALL /addresses/
GET /addresses/{id}
SEARCH /addresses?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /addresses/
PUT /addresses/{id}
DELETE /addresses/{id}

Represents banks that are assosiated to customers Accounts records. This is a read-only resource.

Endpoints

https://api.abacushub.io/banks/
https://api.abacushub.io/banks?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}

HTTP Request Type

GET

Object

{
  "pageNumber": 1,
  "pageSize": 42,
  "totalPages": 1,
  "totalItems": 42,
  "nextUrl": null,
  "previousUrl": null,
  "items": [
    {
      "addressId": 9293,
      "name": "Co-Operative Bank",
      "id": 1
    },
    {
      "addressId": 12385,
      "name": "LLOYDS TSB",
      "id": 2
    }
  ]
}

Adds a bank account.

Endpoint

https://api.abacushub.io/bankaccounts/add

HTTP Request Type

POST

Parameters

Name Required Description Default Value Example
CustomerId Customer ID. 123456
PersonId Person ID. 123456
Name Bank account name. My highstreet account
AccountNumber Bank account number. 12345678
SortCode Bank account sort code 11-11-11
Two Factor Code Code recieved by SMS. See verification sms. 123456

Sample Response

{
  "Name": "My highstreet bank account",
  "AccountNumber": "11111111111",
  "DateClosed": null,
  "SortCode": "11-11-11"
}

Get all bank accounts belonging to a customer.

Endpoint

https://api.abacushub.io/customers/{id}/bankaccounts

HTTP Request Type

GET

Sample Response

[
  {
    "Name": "My high street bank account 1",
    "AccountNumber": "12345678",
    "DateClosed": null,
    "SortCode": "11-11-11"
  },
  {
    "Name": "My high street bank account 2",
    "AccountNumber": "23456789",
    "DateClosed": "30/11/2005",
    "SortCode": "22-22-22"
  }
]

Fetch Bank Account by its bankaccount ID.

Endpoint

https://api.abacushub.io/bankaccounts/{id}

HTTP Request Type

GET

Parameters

Name Required Description Default Value Example
Id Bank account ID. 123456

Sample Response

{
  "Name": "My high street bank account",
  "AccountNumber": "12345678",
  "DateClosed": null,
  "SortCode": "11-11-11"
}

Change bank details. Toggle a bank account as active/inactive by having a non-null date closed.

Endpoint

https://api.abacushub.io/bankaccounts/{bankaccountid}

HTTP Request Type

PUT

Parameters

Name Required Description Default Value Example
CustomerId Customer ID. 123456
PersonId Person ID. 123456
Name Bank account name. My highstreet account
AccountNumber Bank account number. 12345678
SortCode Bank account sort code 11-11-11

Sample Response

{
  "Name": "My highstreet bank account",
  "AccountNumber": "11111111111",
  "DateClosed": null,
  "SortCode": "11-11-11"
}

Sends a verification code by SMS to a UK mobile number.

Endpoint

https://api.abacushub.io/bankaccounts/verification

HTTP Request Type

POST

Parameters

Name Required Description Default Value Example
CustomerId Customer ID. 123456
MobileNumber Customer's UK mobile number. 07917123456
Code Randomly generated 6 digit number. 123456

Sample Response

Status Code 200

Represents the physical location of the Customers bank. Associated with Banks records. This is a read-only resource.

Endpoint

https://api.abacushub.io/branches/

Object

{
  "AddressId": NUMBER (optional),
  "Name": STRING,
  "Description": STRING,
  "Code": STRING,
  "PhoneNumber": NUMBER,
  "FaxNumber": NUMBER,
  "Email": STRING
}

Supported operations

URL
ALL /branches/
GET /branches/{branchId}
/branches/{branchId}/address
SEARCH /branches?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /branches/
PUT /branches/{id}
DELETE /branches/{id}

Represents what country a Customer lives in short alphabetic geographical codesPeople records. This is a read-only resource.

Endpoint

https://api.abacushub.io/countrycodes/

Object

{
  "Code": STRING,
  "Country": STRING
}

Supported operations

URL
ALL /countrycodes/
GET /countrycodes/{countryCodesId}
SEARCH /countrycodes?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /countrycodes/
PUT /countrycodes/{id}
DELETE /countrycodes/{id}

Represents a customers personal details. People and Branches are assosiated with Customer. This is a read-only resource.

Endpoint

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

Object

{
  "BranchId": NUMBER,
  "Number": NUMBER,
  "OrganisationOfficer": NUMBER,
  "Address1": STRING,
  "Address2": STRING,
  "Address3": STRING,
  "TownCity": STRING,
  "State": STRING,
  "PostalCode": STRING,
  "County": STRING,
  "Country": STRING,
  "Name": STRING,
  "CorrespondenceName": STRING,
  "DateOfBirth": DATETIME,
  "Email": STRING,
  "Telephone1": NUMBER,
  "Telephone2": NUMBER,
  "Telephone3": NUMBER (optional),
  "SmsConsentGiven": BOOL
  "OpenDate": DATETIME
}

Supported operations

URL
ALL /customers/
GET /customers/{id}
/customers/{memberId}/accounts
/customers/{memberId}/historicalaccounts
/customers/{memberId}/bankaccounts
/customers/{memberId}/productshares
/customers/{memberId}/messagethreads
/customers/{memberId}/marketingpreferences
/customers/{memberId}/totalpledgedsavings
SEARCH /customers?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /customers/
PUT /customers/{id}
DELETE /customers/{id}

Represents the employer which the customer is associated with People records. This is a read-only resource.

Endpoint

https://api.abacushub.io/employers/

Object

{
  "Id": NUMBER,
  "CorrespondenceId": NUMBER
  "MainOfficeId": NUMBER (optional)
  "AddressId": NUMBER (optional)
  "CompanyName": STRING,
  "ContactName": STRING,
  "PhoneNumber": STRING,
  "RegNumber": STRING,
  "NumberOfEmployees": NUMBER,
  "Positions": NUMBER
}

Supported operations

URL
ALL /employers/
GET /employers/{employersId}
SEARCH /employers?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /employers/
PUT /employers/{id}
DELETE /employers/{id}

Represents a gender specification and is associated with People records. This is a read-only resource.

Endpoint

https://api.abacushub.io/genders/

Object

{
  "Value": NUMBER,
  "Name": STRING
}

Supported operations

URL
ALL /genders/
GET /genders/{genderId}
SEARCH /genders?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /genders/
PUT /genders/{id}
DELETE /genders/{id}

Represents Loan Products, Loan Reasons and Loan Repayment Period. This is a read-only resource.

Represents a Loan and the type of loan product the customer wants. This is a read-only resource.

Endpoint

https://api.abacushub.io/loanproducts/

Object

{
  "Description": STRING,
  "Code": STRING,
  "Interest": DECIMAL,
  "MinimumChequeAmount": DECIMAL,
  "MaximumChequeAmount": DECIMAL,
  "MinimumBalance": DECIMAL,
  "MaximumBalance": DECIMAL,
  "MinimumTerm": INT,
  "MaximumTerm": INT,
  "DefaultRate": DECIMAL,
  "MinimumAge": INT,
  "MaximumAge": INT
}

Supported operations

URL
ALL /loanproducts/
GET /loanproducts/{id}
/loanproducts/{id}/reasons
SEARCH /loanproducts?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /loanproducts/
PUT /loanproducts/{id}
DELETE /loanproducts/{id}

Represents a Loan and a short description of why the customer is taking out a loan. This is a read-only resource.

Endpoint

https://api.abacushub.io/loanreasons/

Object

{
  "Code": STRING,
  "Description": STRING,
}

Supported operations

URL
ALL /loanreasons/
GET /loanreasons/{id}
SEARCH /loanreasons?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /loanreasons/
PUT /loanreasons/{id}
DELETE /loanreasons/{id}

Represents Loans and the time period of which the loan repayment is due. This is a read-only resource.

Endpoint

https://api.abacushub.io/loanrepaymentperiods/

Object

{
  "Value": INT,
  "Name": STRING,
}

Supported operations

URL
ALL /loanrepaymentperiods/
GET /loanrepaymentperiods/{id}
SEARCH /loanrepaymentperiods?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /loanrepaymentperiods/
PUT /loanrepaymentperiods/{id}
DELETE /loanrepaymentperiods/{id}

Represents Messages that are in the customers inbox. Also includes Messaage Threads. This is a read-only resource.

Endpoint

https://api.abacushub.io/messages/

Object

{
  "MessageThreadId": LONG,
  "Content": STRING,
  "FromCustomer": BOOL (optional),
  "UserId": STRING (optional),
  "Date": DATETIME
}

Supported operations

URL
ALL /messages/
GET /messages/{id}
SEARCH /messages?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /messages/
PUT /messages/{id}
DELETE /messages/{id}

Represents Messages pertaining to a specific topic or conversation. This is a read-only resource.

Endpoint

https://api.abacushub.io/messagethread/

Object

{
  "CustomerId": LONG,
  "Closed": BOOL (optional),
  "OpenDate": DATETIME (optional),
  "ClosedDate": DATETIME (optional),
  "MessageTypeId": INT
  "Subject": STRING
}

Supported operations

URL
ALL /messagethread/
GET /messagethread/{id}
/messagethreads/{id}/messages
SEARCH /messagethread?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /messagethread/
PUT /messagethread/{id}
DELETE /messagethread/{id}

Represents Customers personal details when they fill out the Join form. This is a read-only resource.

Endpoint

https://api.abacushub.io/people/

Object

{
  "Title": INT,
  "Forename": STRING,
  "Surname": STRING,
  "CorrespondenceName": STRING,
  "Gender": INT,
  "MaritalStatus": INT,
  "DateOfBirth": DATETIME,
  "Email": STRING,
  "SocialSecurityNumber": STRING,
  "DrivingLicenceNumber": STRING,
  "Telephone1": STRING,
  "Telephone2": STRING,
  "Telephone3": STRING,
  "OrganisationOfficer": INT,
  "RelatedParty": BOOL,
  "MonthlyPension": DECIMAL,
  "ApprovedBenefits": DECIMAL,
  "OtherIncome": DECIMAL,
  "MonthlyPensionPartner": DECIMAL,
  "ApprovedBenefitsPartner": DECIMAL,
  "OtherIncomePartner": DECIMAL,
  "CreditRating": INT,
  "CCJ": BOOL,
  "IVA": BOOL,
  "Bankruptcy": BOOL,
  "DRO": BOOL,
  "DebtOther": STRING,
  "DependantsNumber": INT,
  "DependantsAges": STRING,
  "HealthGood": INT,
  "CircumstancesChange": BOOL,
  "HealthDetails": STRING,
  "MarketingPost": BOOL,
  "MarketingEmail": BOOL,
  "MarketingTelephone": BOOL,
  "MarketingText": BOOL,
  "CountryResidencyId": INT,
  "TaxResidencyId": INT
}

Supported operations

URL
ALL /people/
GET /people/{memberId}
SEARCH /people?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /people/
PUT /people/{id}
DELETE /people/{id}

Represents Product Shares the description of a product share. This is a read-only resource.

Endpoint

https://api.abacushub.io/productshares/

Object

{
  "ProductId": LONG,
  "MinimumBalance": DECIMAL,
  "MaximumBalance": DECIMAL,
  "MinimumMemberAge": INT,
  "MaximumMemberAge": INT,
  "SavingsType": INT,
  "SCV_ProductShare": STRING,
  "DeferredShares": BOOL,
  "ExcludeFromNetSavings": BOOL,
  "TermDeposit": BOOL,
  "TermMin": INT,
  "TermMax": INT,
  "Annuity": BOOL,
  "RequiredPaymentMinimum": DECIMAL,
  "RequiredPaymentMaximum": DECIMAL,
  "RequiredPaymentPeriodNumber": INT,
  "RequiredPaymentPeriodID": LONG,
  "NonWorkDayForward": BOOL,
  "RolloverProductID": INT,
  "EarlyClosePenalty": DECIMAL,
  "EarlyCloseFeeID": LONG,
  "InterestRate": DECIMAL,
  "InterestTransactionMessage": STRING,
  "PaidOnMaturity": BOOL,
  "InterestPaymentPeriodNumber": INT,
  "InterestPaymentPeriodID": LONG,
  "InterestNextPaymentDate": STRING,
  "CalculationMethod": INT,
  "CalculationPeriodNumber": INT,
  "CalculationPeriodID": LONG,
  "DayCount": INT,
  "CalculationStartDate": STRING,
  "CalculationEndDate": BOOL,
  "TaxRate": DECIMAL,
  "ErrorBalanceRange": STRING,
  "MinInterestBalance": DECIMAL,
  "MaxInterestBalance": DECIMAL,
  "ErrorAgeRange": STRING,
  "MinimumInterestAge": INT,
  "MaximumInterestAge": INT,
  "ClearedBalanceNetOfGuarantees": BOOL,
  "ATMEnabled": BOOL,
  "ATMCardLimit": DECIMAL,
  "ATMDailyLimit": DECIMAL,
  "ISAProduct": BOOL,
  "ISAYearlyLimit": DECIMAL,
  "LockedLoanProductID": INT,
  "PercentageLocked": DECIMAL,
  "DebitCardType": INT,
  "AllowAutoWithdrawal": BOOL,
  "AddReceipt": BOOL,
  "iConnectDestWithFeeID": LONG,
  "iConnectDestDepFeeID": LONG,
  "iConnectReceiptLimit": DECIMAL,
  "iConnectDailyLimit": DECIMAL
}

Supported operations

URL
ALL /productshares/
GET /productshares/{productSharesId}
SEARCH /productshares?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /productshares/
PUT /productshares/{id}
DELETE /productshares/{id}

Represents a prefixed title associated with People records. This is a read-only resource.

Endpoint

https://api.abacushub.io/titles/

Object

{
  "Value": INT,
  "Name": STRING
}

Supported operations

URL
ALL /titles/
GET /titles/{titleId}
SEARCH /titles?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /titles/
PUT /titles/{id}
DELETE /titles/{id}

Represents Customer and a history of transactions made from Accounts. This is a read-only resource.

Endpoint

https://api.abacushub.io/transactions/

Object

{
  "ReceiptNumber": LONG,
  "ValueDate": DATETIME,
  "Description": STRING,
  "Credit": BOOL,
  "Amount": DECIMAL,
  "Balance": DECIMAL,
  "IsFee": BOOL,
  "TransactionsTypeID": INT
}

Supported operations

URL
ALL /transactions/
GET /transactions/{memberId}
/transactions/{memberId}/batchstatement
/transactions/{memberId}/between
SEARCH /transactions?sort={string}&paged={bool}&page={int}&pageSize={int}&ascending={bool}
POST /transactions/
PUT /transactions/{id}
DELETE /transactions/{id}