Client Onboarding
Learn how to onboard clients in Apache Fineract, from creating individual clients to managing groups and centers. This guide covers the complete client lifecycle.
Understanding Clients in Fineract
In Fineract, a client represents an individual or entity that can hold accounts, apply for loans, and participate in financial services. Clients are always assigned to an office and can optionally be assigned to a staff member (loan officer).
Individual Clients
Single persons with their own accounts and loan applications.
Group Clients
Clients organized into groups for joint liability lending.
Creating an Individual Client
To create a new individual client, you need at minimum the office ID, first name, and last name. Additional fields like external ID, date of birth, and contact information enhance the client record.
Step 1: Get Available Offices
First, retrieve the list of offices to get a valid office ID:
curl --request GET \
--url "https://your-instance.com/fineract-provider/api/v1/offices" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default"Step 2: Create the Client
Create the client with the required information:
curl --request POST \
--url "https://your-instance.com/fineract-provider/api/v1/clients" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json" \
--data '{
"officeId": 1,
"firstname": "John",
"lastname": "Doe",
"externalId": "EXT-001",
"dateFormat": "dd MMMM yyyy",
"locale": "en",
"active": true,
"activationDate": "01 January 2024",
"mobileNo": "+1234567890",
"dateOfBirth": "15 March 1985",
"genderId": 22,
"clientTypeId": 17,
"clientClassificationId": 18
}'Response
{
"officeId": 1,
"clientId": 1,
"resourceId": 1
}Client Lifecycle States
Clients move through various states during their lifecycle:
Activating a Client
If you created a client without setting active: true, you'll need to activate them manually:
curl --request POST \
--url "https://your-instance.com/fineract-provider/api/v1/clients/1?command=activate" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json" \
--data '{
"activationDate": "01 January 2024",
"dateFormat": "dd MMMM yyyy",
"locale": "en"
}'