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

The Abacus REST API offers integrators a powerful way to work with the core banking data from Abacus. There are a number of resources available to consume, the capabilities the resources are described in our Resources page. Access to the resources require HTTP requests to include the X-Fern-Token HTTP header with your assigned API key. You can create an API key by signing in with your Fern Software account.

The base URL endpoint for all API requests is:


Your response will follow in JSON format with object definitions explained on the corresponding Resources page. If an error is encountered the HTTP status code will be used to describe the nature of the error. You can view a definition of all possible error codes on the Error Handling page.

Developers should start by creating a Fern Software account. You can follow our Guides section to write your first API calls with various language examples.

As a first example using .NET to retrieve the list of loan reasons demonstrated above you could use the following code:

using (var client = new HttpClient())
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    client.DefaultRequestHeaders.Add("X-Fern-Token", API_KEY_VALUE);
    client.DefaultRequestHeaders.Add("User-Agent", "NameOfYourApplication");

    var response = await client.GetAsync("https://api.abacushub.io/loanreasons/");
    var result = JsonConvert.DeserializeObject<LoanReason[]>(await

    foreach (var loanReason in result)

A basic request to retrieve a listing of all Loan Reasons which includes your API key is:

curl --header "X-Fern-Token: API_KEY_VALUE" https://api.abacushub.io/loanreasons/

If you make a without an API key included, you will receive an error response with HTTP status code 401. You should check to make sure your HTTP header name is correctly typed as "X-Fern-Token". It is possible that your API key has been Rate Limited. For questions about making a large volume of API requests you can contact support.

After making an API request you can reference the HTTP status code you receive to interpret the response. When a request succeeds, you will have a 200-series status code. This means that the API request successfully completed and you may or may not have JSON content in the body. If the API request cannot be serviced due to malformed syntax, missing authorization headers or an internal server error, you will receive a 500-series status code. Below we've described some example situations where you may receive a status code indicating the request did not succeed.

HTTP 400 Bad Request - The request cannot be fulfilled due to bad syntax.

Type: POST
Request headers: X-Fern-Token: "API_KEY_VALUE",
                 Content-Type: "application/json"

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

HTTP 401 Unauthorized - X-Fern-Token is required.

Type: GET
Request headers: X-Fern-Token: "EMPTY",
                 Content-Type: "application/json"

URL Endpoint:    https://api.abacushub.io/transactions/{memberId}

HTTP 404 Not Found - The requested resource could not be found.

Type: GET
Request headers: X-Fern-Token: "API_KEY_VALUE",
                 Content-Type: "application/json"

URL Endpoint:    https://api.abacushub.io/customers/gender/

HTTP 500 Internal Server Error - A generic error message given when no more specific message is suitable.

Type: GET
Request headers: X-Fern-Token: "API_KEY_VALUE",
                 Content-Type: "application/json"

URL Endpoint:    https://api.abacushub.io/customers/{memberId}/accounts