# Fineract Client This is a Java and Retrofit2 based client library for [Apache Fineract Platform](https://github.com/apache/fineract) version `{{appVersion}}`. This library is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen). {{#appDescription}}{{{appDescription}}}{{/appDescription}} {{#infoUrl}} For more information, please visit [{{{infoUrl}}}]({{{infoUrl}}}) {{/infoUrl}} ## Add Dependency To add the library as dependency to your project, follow the steps below. ### Maven Add this dependency to your project's POM: ```xml <dependency> <groupId>{{{groupId}}}</groupId> <artifactId>{{{artifactId}}}</artifactId> <version>{{{artifactVersion}}}</version> <scope>compile</scope> </dependency> ``` ### Gradle Add this dependency to your project's build file: ```groovy implementation "{{{groupId}}}:{{{artifactId}}}:{{{artifactVersion}}}" ``` ## Build Project To build the API client library locally, you must have: 1. Java 1.8+ 2. Maven/Gradle To install the API client library to your local Maven repository, execute: ```shell mvn clean install ``` To build the JAR, execute: ```shell mvn clean package ``` ## Getting Started Once you have added the library, you can use the following example **Java** code for authentication. ```java import com.google.gson.JsonObject; import org.apache.fineract.client.models.PostAuthenticationResponse; import org.apache.fineract.client.services.AuthenticationHttpBasicApi; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; public class Example { public static void main(String[] args) { // Using API Key Authorization "tenantid" ApiClient defaultClient = new ApiClient("tenantid"); defaultClient.setApiKey("default"); AuthenticationHttpBasicApi apiService = defaultClient.createService(AuthenticationHttpBasicApi.class); // Response body JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("username", "mifos"); jsonObject.addProperty("password", "password"); Call<PostAuthenticationResponse> call = apiService.authenticate(jsonObject.toString()); call.enqueue(new Callback<PostAuthenticationResponse>() { @Override public void onResponse(Call<PostAuthenticationResponse> call , Response<PostAuthenticationResponse> response) { System.out.println(call.toString() + "\n" + response.toString()); } @Override public void onFailure(Call<PostAuthenticationResponse> call, Throwable t) { System.out.println(t.getMessage()); } }); } } ``` For complete documentation, refer `docs/AuthenticationHttpBasicApi.md` ## Recommendation It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues. ## Author {{#apiInfo}}{{#apis}}{{^hasMore}}{{infoEmail}} {{/hasMore}}{{/apis}}{{/apiInfo}}