Command Palette

Search for a command to run...

GET
/fineract-provider/api/v1/clients

List 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

officeIdinteger

Filter by office ID

displayNamestring

Filter by display name (partial match)

statusstring

Filter by client status (active, pending, closed)

Returns

200List of clients retrieved successfully
401Unauthorized - Invalid or missing authentication
403Forbidden - Insufficient permissions

Request

curl
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

json
{
  "totalFilteredRecords": 25,
  "pageItems": [
    {
      "id": 1,
      "displayName": "Sample Item 1",
      "status": "active"
    },
    {
      "id": 2,
      "displayName": "Sample Item 2",
      "status": "active"
    }
  ]
}
GET
/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

clientIdintegerrequired

Unique identifier of the client

Query Parameters

staffInSelectedOfficeOnlyboolean

Return only staff in selected office

Returns

200Client details retrieved successfully
404Client not found

Request

curl
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

json
{
  "id": 1,
  "status": {
    "id": 300,
    "code": "statusType.active",
    "value": "Active"
  },
  "officeId": 1,
  "officeName": "Head Office",
  "createdDate": "2024-01-15",
  "lastModifiedDate": "2024-01-20"
}
POST
/fineract-provider/api/v1/clients

Create 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

officeIdinteger

Office to assign the client

firstnamestring

Client's first name

middlenamestring

Client's middle name

lastnamestring

Client's last name

fullnamestring

Full name (for single-name clients)

externalIdstring

External reference ID

dateOfBirthstring

Date of birth

genderIdinteger

Gender code value ID

mobileNostring

Mobile phone number

emailAddressstring

Email address

staffIdinteger

Assigned staff member ID

savingsProductIdinteger

Default savings product

activeboolean

Whether client is active on creation

activationDatestring

Activation date if active

submittedOnDatestring

Application submission date

dateFormatstring

Date format string

localestring

Locale for formatting

Returns

200Client created successfully
400Invalid request body or validation error

Request

curl
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

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
PUT
/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

clientIdintegerrequired

Unique identifier of the client

Request Bodyrequired

Client update payload

firstnamestring
middlenamestring
lastnamestring
mobileNostring
emailAddressstring
externalIdstring
staffIdinteger
dateFormatstring
localestring

Returns

200Client updated successfully
404Client not found

Request

curl
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

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
DELETE
/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

clientIdintegerrequired

Unique identifier of the client

Returns

200Client deleted successfully
404Client not found
409Cannot delete client with associated accounts

Request

curl
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

json
{
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/clients/{clientId}?command=activate

Activate a client

Activates a pending client. This is required before the client can open any accounts.

Path Parameters

clientIdintegerrequired

Client ID to activate

Request Bodyrequired

Activation details

activationDatestring

Date of activation

dateFormatstring
localestring

Returns

200Client activated successfully

Request

curl
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

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/clients/{clientId}?command=close

Close a client

Closes an active client account. All associated loan and savings accounts must be closed first.

Path Parameters

clientIdintegerrequired

Client ID to close

Request Bodyrequired

Closure details

closureDatestring
closureReasonIdinteger

Code value ID for closure reason

dateFormatstring
localestring

Returns

200Client closed successfully

Request

curl
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

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/clients/{clientId}?command=reject

Reject a client application

Rejects a pending client application with a specified reason.

Path Parameters

clientIdintegerrequired

Client ID to reject

Request Bodyrequired

Rejection details

rejectionDatestring
rejectionReasonIdinteger
dateFormatstring
localestring

Returns

200Client application rejected

Request

curl
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

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/clients/{clientId}?command=reactivate

Reactivate a client

Reactivates a previously closed client account.

Path Parameters

clientIdintegerrequired

Client ID to reactivate

Request Bodyrequired

Reactivation details

reactivationDatestring
dateFormatstring
localestring

Returns

200Client reactivated successfully

Request

curl
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

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
GET
/fineract-provider/api/v1/clients/{clientId}/accounts

Retrieve client accounts overview

Returns a summary of all loan and savings accounts associated with a client.

Path Parameters

clientIdintegerrequired

Client ID

Returns

200Client accounts summary

Request

curl
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

json
{
  "id": 1,
  "status": {
    "id": 300,
    "code": "statusType.active",
    "value": "Active"
  },
  "officeId": 1,
  "officeName": "Head Office",
  "createdDate": "2024-01-15",
  "lastModifiedDate": "2024-01-20"
}
GET
/fineract-provider/api/v1/clients/{clientId}/identifiers

List client identifiers

Retrieves all identity documents associated with a client (passport, national ID, etc.).

Path Parameters

clientIdintegerrequired

Client ID

Returns

200List of client identifiers

Request

curl
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

json
{
  "id": 1,
  "status": {
    "id": 300,
    "code": "statusType.active",
    "value": "Active"
  },
  "officeId": 1,
  "officeName": "Head Office",
  "createdDate": "2024-01-15",
  "lastModifiedDate": "2024-01-20"
}
POST
/fineract-provider/api/v1/clients/{clientId}/identifiers

Create client identifier

Adds a new identity document to a client's profile.

Path Parameters

clientIdintegerrequired

Client ID

Request Bodyrequired

Identifier details

documentTypeIdinteger

Document type code value ID

documentKeystring

Document number/key

descriptionstring

Additional description

statusstring

Document status

Returns

200Identifier created successfully

Request

curl
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

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}

Was this page helpful?