Clients
Manage client information, identifiers, images, addresses, and client-related transactions
/fineract-provider/api/v1/clientsList all clients
Retrieves a list of all clients in the system. Supports pagination and filtering by various attributes including office, status, and display name.
Query Parameters
officeIdintegerFilter by office ID
displayNamestringFilter by display name (partial match)
statusstringFilter by client status (active, pending, closed)
Returns
Request
curl --request GET \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json"Response
{
"totalFilteredRecords": 25,
"pageItems": [
{
"id": 1,
"displayName": "Sample Item 1",
"status": "active"
},
{
"id": 2,
"displayName": "Sample Item 2",
"status": "active"
}
]
}/fineract-provider/api/v1/clients/{clientId}Retrieve a client
Retrieves detailed information about a specific client including their personal details, account information, and associated data.
Path Parameters
clientIdintegerrequiredUnique identifier of the client
Query Parameters
staffInSelectedOfficeOnlybooleanReturn only staff in selected office
Returns
Request
curl --request GET \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json"Response
{
"id": 1,
"status": {
"id": 300,
"code": "statusType.active",
"value": "Active"
},
"officeId": 1,
"officeName": "Head Office",
"createdDate": "2024-01-15",
"lastModifiedDate": "2024-01-20"
}/fineract-provider/api/v1/clientsCreate a client
Creates a new client in the system. Required fields include office assignment and basic identification information. The client can be created as active or pending based on the 'active' flag.
Request Bodyrequired
Client creation payload
officeIdintegerOffice to assign the client
firstnamestringClient's first name
middlenamestringClient's middle name
lastnamestringClient's last name
fullnamestringFull name (for single-name clients)
externalIdstringExternal reference ID
dateOfBirthstringDate of birth
genderIdintegerGender code value ID
mobileNostringMobile phone number
emailAddressstringEmail address
staffIdintegerAssigned staff member ID
savingsProductIdintegerDefault savings product
activebooleanWhether client is active on creation
activationDatestringActivation date if active
submittedOnDatestringApplication submission date
dateFormatstringDate format string
localestringLocale for formatting
Returns
Request
curl --request POST \
--url "https://your-fineract-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": "sample_firstname",
"middlename": "sample_middlename",
"lastname": "sample_lastname",
"fullname": "sample_fullname",
"externalId": "sample_externalId",
"dateOfBirth": "01 January 2024",
"genderId": 1,
"mobileNo": "sample_mobileNo",
"emailAddress": "user@example.com",
"staffId": 1,
"savingsProductId": 1,
"active": true,
"activationDate": "01 January 2024",
"submittedOnDate": "01 January 2024",
"dateFormat": "01 January 2024",
"locale": "sample_locale"
}'Response
{
"officeId": 1,
"resourceId": 1,
"changes": {}
}/fineract-provider/api/v1/clients/{clientId}Update a client
Updates an existing client's information. Only the fields provided in the request body will be modified.
Path Parameters
clientIdintegerrequiredUnique identifier of the client
Request Bodyrequired
Client update payload
firstnamestringmiddlenamestringlastnamestringmobileNostringemailAddressstringexternalIdstringstaffIdintegerdateFormatstringlocalestringReturns
Request
curl --request PUT \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json" \
--data '{
"firstname": "sample_firstname",
"middlename": "sample_middlename",
"lastname": "sample_lastname",
"mobileNo": "sample_mobileNo",
"emailAddress": "user@example.com",
"externalId": "sample_externalId",
"staffId": 1,
"dateFormat": "01 January 2024",
"locale": "sample_locale"
}'Response
{
"officeId": 1,
"resourceId": 1,
"changes": {}
}/fineract-provider/api/v1/clients/{clientId}Delete a client
Deletes a client from the system. Only clients without any loan or savings accounts can be deleted.
Path Parameters
clientIdintegerrequiredUnique identifier of the client
Returns
Request
curl --request DELETE \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json"Response
{
"resourceId": 1,
"changes": {}
}/fineract-provider/api/v1/clients/{clientId}?command=activateActivate a client
Activates a pending client. This is required before the client can open any accounts.
Path Parameters
clientIdintegerrequiredClient ID to activate
Request Bodyrequired
Activation details
activationDatestringDate of activation
dateFormatstringlocalestringReturns
Request
curl --request POST \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId?command=activate" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json" \
--data '{
"activationDate": "01 January 2024",
"dateFormat": "01 January 2024",
"locale": "sample_locale"
}'Response
{
"officeId": 1,
"resourceId": 1,
"changes": {}
}/fineract-provider/api/v1/clients/{clientId}?command=closeClose a client
Closes an active client account. All associated loan and savings accounts must be closed first.
Path Parameters
clientIdintegerrequiredClient ID to close
Request Bodyrequired
Closure details
closureDatestringclosureReasonIdintegerCode value ID for closure reason
dateFormatstringlocalestringReturns
Request
curl --request POST \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId?command=close" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json" \
--data '{
"closureDate": "01 January 2024",
"closureReasonId": 1,
"dateFormat": "01 January 2024",
"locale": "sample_locale"
}'Response
{
"officeId": 1,
"resourceId": 1,
"changes": {}
}/fineract-provider/api/v1/clients/{clientId}?command=rejectReject a client application
Rejects a pending client application with a specified reason.
Path Parameters
clientIdintegerrequiredClient ID to reject
Request Bodyrequired
Rejection details
rejectionDatestringrejectionReasonIdintegerdateFormatstringlocalestringReturns
Request
curl --request POST \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId?command=reject" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json" \
--data '{
"rejectionDate": "01 January 2024",
"rejectionReasonId": 1,
"dateFormat": "01 January 2024",
"locale": "sample_locale"
}'Response
{
"officeId": 1,
"resourceId": 1,
"changes": {}
}/fineract-provider/api/v1/clients/{clientId}?command=reactivateReactivate a client
Reactivates a previously closed client account.
Path Parameters
clientIdintegerrequiredClient ID to reactivate
Request Bodyrequired
Reactivation details
reactivationDatestringdateFormatstringlocalestringReturns
Request
curl --request POST \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId?command=reactivate" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json" \
--data '{
"reactivationDate": "01 January 2024",
"dateFormat": "01 January 2024",
"locale": "sample_locale"
}'Response
{
"officeId": 1,
"resourceId": 1,
"changes": {}
}/fineract-provider/api/v1/clients/{clientId}/accountsRetrieve client accounts overview
Returns a summary of all loan and savings accounts associated with a client.
Path Parameters
clientIdintegerrequiredClient ID
Returns
Request
curl --request GET \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId/accounts" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json"Response
{
"id": 1,
"status": {
"id": 300,
"code": "statusType.active",
"value": "Active"
},
"officeId": 1,
"officeName": "Head Office",
"createdDate": "2024-01-15",
"lastModifiedDate": "2024-01-20"
}/fineract-provider/api/v1/clients/{clientId}/identifiersList client identifiers
Retrieves all identity documents associated with a client (passport, national ID, etc.).
Path Parameters
clientIdintegerrequiredClient ID
Returns
Request
curl --request GET \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId/identifiers" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json"Response
{
"id": 1,
"status": {
"id": 300,
"code": "statusType.active",
"value": "Active"
},
"officeId": 1,
"officeName": "Head Office",
"createdDate": "2024-01-15",
"lastModifiedDate": "2024-01-20"
}/fineract-provider/api/v1/clients/{clientId}/identifiersCreate client identifier
Adds a new identity document to a client's profile.
Path Parameters
clientIdintegerrequiredClient ID
Request Bodyrequired
Identifier details
documentTypeIdintegerDocument type code value ID
documentKeystringDocument number/key
descriptionstringAdditional description
statusstringDocument status
Returns
Request
curl --request POST \
--url "https://your-fineract-instance.com/fineract-provider/api/v1/clients/:clientId/identifiers" \
--header "Authorization: Basic {credentials}" \
--header "Fineract-Platform-TenantId: default" \
--header "Content-Type: application/json" \
--data '{
"documentTypeId": 1,
"documentKey": "sample_documentKey",
"description": "sample_description",
"status": "sample_status"
}'Response
{
"officeId": 1,
"resourceId": 1,
"changes": {}
}Was this page helpful?