Command Palette

Search for a command to run...

GET
/fineract-provider/api/v1/loans

List all loans

Retrieves a list of all loan accounts. Supports filtering by client, status, loan product, and external ID.

Query Parameters

sqlSearchstring

SQL-style search query

externalIdstring

Filter by external ID

offsetinteger

Pagination offset

Returns

200List of loans retrieved successfully

Request

curl
curl --request GET \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans" \
  --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/loans/{loanId}

Retrieve a loan

Retrieves detailed information about a specific loan including repayment schedule, transactions, charges, guarantors, and collateral.

Path Parameters

loanIdintegerrequired

Unique identifier of the loan

Query Parameters

associationsstring

Comma-separated list: all, repaymentSchedule, futureSchedule, originalSchedule, transactions, charges, guarantors, collateral, notes, linkedAccount

excludestring

Fields to exclude from response

fieldsstring

Specific fields to include

Returns

200Loan details retrieved successfully
404Loan not found

Request

curl
curl --request GET \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId" \
  --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/loans/template

Retrieve loan application template

Returns template data needed to create a new loan application, including available products and field options.

Query Parameters

clientIdinteger

Client ID for the loan

groupIdinteger

Group ID for group loans

productIdinteger

Product ID to get specific product template

Returns

200Loan template data

Request

curl
curl --request GET \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/template" \
  --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"
    }
  ]
}
POST
/fineract-provider/api/v1/loans?command=calculateLoanSchedule

Calculate loan repayment schedule

Calculates a projected repayment schedule based on the provided loan terms without creating an application.

Request Bodyrequired

Loan terms for schedule calculation

productIdinteger

Loan product ID

principalnumber

Principal amount

loanTermFrequencyinteger

Loan term

loanTermFrequencyTypeinteger

Term frequency type (0=Days, 1=Weeks, 2=Months, 3=Years)

numberOfRepaymentsinteger

Number of installments

repaymentEveryinteger

Repayment frequency

repaymentFrequencyTypeinteger

Repayment frequency type

interestRatePerPeriodnumber

Interest rate

amortizationTypeinteger

Amortization type (0=Equal installments, 1=Equal principal)

interestTypeinteger

Interest type (0=Declining balance, 1=Flat)

interestCalculationPeriodTypeinteger

Interest calculation period

expectedDisbursementDatestring
dateFormatstring
localestring

Returns

200Calculated repayment schedule

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans?command=calculateLoanSchedule" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "productId": 1,
  "principal": 1000,
  "loanTermFrequency": 1,
  "loanTermFrequencyType": 1,
  "numberOfRepayments": 1,
  "repaymentEvery": 1,
  "repaymentFrequencyType": 1,
  "interestRatePerPeriod": 1000,
  "amortizationType": 1,
  "interestType": 1,
  "interestCalculationPeriodType": 1,
  "expectedDisbursementDate": "01 January 2024",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans

Submit a new loan application

Submits a new loan application for a client or group. The loan will be in 'Submitted and pending approval' status.

Request Bodyrequired

Loan application details

clientIdinteger

Client ID

groupIdinteger

Group ID (for group loans)

productIdinteger

Loan product ID

loanOfficerIdinteger

Assigned loan officer ID

loanPurposeIdinteger

Loan purpose code value ID

fundIdinteger

Fund ID

principalnumber

Principal amount requested

loanTermFrequencyinteger

Loan term length

loanTermFrequencyTypeinteger

Term frequency type

numberOfRepaymentsinteger

Number of repayment installments

repaymentEveryinteger

Repayment frequency

repaymentFrequencyTypeinteger

Repayment frequency type

repaymentFrequencyNthDayTypeinteger

Nth day of month for repayment

repaymentFrequencyDayOfWeekTypeinteger

Day of week for repayment

interestRatePerPeriodnumber

Interest rate per period

amortizationTypeinteger

Amortization type

interestTypeinteger

Interest calculation method

interestCalculationPeriodTypeinteger

Interest calculation period

transactionProcessingStrategyCodestring

Payment allocation strategy

graceOnPrincipalPaymentinteger

Grace periods on principal

graceOnInterestPaymentinteger

Grace periods on interest

graceOnInterestChargedinteger

Grace periods interest charged

expectedDisbursementDatestring

Expected disbursement date

submittedOnDatestring

Application submission date

linkAccountIdinteger

Linked savings account ID

externalIdstring

External reference ID

dateFormatstring
localestring

Returns

200Loan application submitted successfully
400Invalid loan application data

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "clientId": 1,
  "groupId": 1,
  "productId": 1,
  "loanOfficerId": 1,
  "loanPurposeId": 1,
  "fundId": 1,
  "principal": 1000,
  "loanTermFrequency": 1,
  "loanTermFrequencyType": 1,
  "numberOfRepayments": 1,
  "repaymentEvery": 1,
  "repaymentFrequencyType": 1,
  "repaymentFrequencyNthDayType": 1,
  "repaymentFrequencyDayOfWeekType": 1,
  "interestRatePerPeriod": 1000,
  "amortizationType": 1,
  "interestType": 1,
  "interestCalculationPeriodType": 1,
  "transactionProcessingStrategyCode": "sample_transactionProcessingStrategyCode",
  "graceOnPrincipalPayment": 1,
  "graceOnInterestPayment": 1,
  "graceOnInterestCharged": 1,
  "expectedDisbursementDate": "01 January 2024",
  "submittedOnDate": "01 January 2024",
  "linkAccountId": 1,
  "externalId": "sample_externalId",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
PUT
/fineract-provider/api/v1/loans/{loanId}

Update a loan application

Modifies a loan application that is still in 'Submitted and pending approval' status.

Path Parameters

loanIdintegerrequired

Loan ID to update

Request Bodyrequired

Updated loan details

principalnumber
loanTermFrequencyinteger
numberOfRepaymentsinteger
interestRatePerPeriodnumber
expectedDisbursementDatestring
dateFormatstring
localestring

Returns

200Loan application updated successfully

Request

curl
curl --request PUT \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "principal": 1000,
  "loanTermFrequency": 1,
  "numberOfRepayments": 1,
  "interestRatePerPeriod": 1000,
  "expectedDisbursementDate": "01 January 2024",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
DELETE
/fineract-provider/api/v1/loans/{loanId}

Delete a loan application

Deletes a loan application that is still in 'Submitted and pending approval' status.

Path Parameters

loanIdintegerrequired

Loan ID to delete

Returns

200Loan application deleted successfully

Request

curl
curl --request DELETE \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json"

Response

json
{
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}?command=approve

Approve a loan application

Approves a pending loan application. The approved amount may differ from the requested amount. The loan will move to 'Approved' status.

Path Parameters

loanIdintegerrequired

Loan ID to approve

Request Bodyrequired

Approval details

approvedOnDatestring

Date of approval

approvedLoanAmountnumber

Approved principal amount (if different from requested)

expectedDisbursementDatestring

Expected disbursement date

notestring

Approval notes

dateFormatstring
localestring

Returns

200Loan approved successfully

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId?command=approve" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "approvedOnDate": "01 January 2024",
  "approvedLoanAmount": 1000,
  "expectedDisbursementDate": "01 January 2024",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}?command=undoApproval

Undo loan approval

Reverts an approved loan back to 'Submitted and pending approval' status.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Undo approval details

notestring

Reason for undoing approval

Returns

200Loan approval undone successfully

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId?command=undoApproval" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "note": "sample_note"
}'

Response

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

Reject a loan application

Rejects a pending loan application with a specified reason.

Path Parameters

loanIdintegerrequired

Loan ID to reject

Request Bodyrequired

Rejection details

rejectedOnDatestring
notestring

Rejection reason

dateFormatstring
localestring

Returns

200Loan application rejected

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId?command=reject" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "rejectedOnDate": "01 January 2024",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}?command=withdrawnByApplicant

Withdraw loan application

Withdraws a loan application at the applicant's request.

Path Parameters

loanIdintegerrequired

Loan ID to withdraw

Request Bodyrequired

Withdrawal details

withdrawnOnDatestring
notestring
dateFormatstring
localestring

Returns

200Loan application withdrawn

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId?command=withdrawnByApplicant" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "withdrawnOnDate": "01 January 2024",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}?command=disburse

Disburse a loan

Disburses an approved loan. This activates the loan and starts the repayment schedule. The loan moves to 'Active' status.

Path Parameters

loanIdintegerrequired

Loan ID to disburse

Request Bodyrequired

Disbursement details

actualDisbursementDatestring

Actual disbursement date

transactionAmountnumber

Amount to disburse (if partial)

paymentTypeIdinteger

Payment method ID

accountNumberstring

Account number for transfer

checkNumberstring

Check number if applicable

routingCodestring

Bank routing code

receiptNumberstring

Receipt number

bankNumberstring

Bank number

notestring

Disbursement notes

dateFormatstring
localestring

Returns

200Loan disbursed successfully

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId?command=disburse" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "actualDisbursementDate": "01 January 2024",
  "transactionAmount": 1000,
  "paymentTypeId": 1,
  "accountNumber": "sample_accountNumber",
  "checkNumber": "sample_checkNumber",
  "routingCode": "sample_routingCode",
  "receiptNumber": "sample_receiptNumber",
  "bankNumber": "sample_bankNumber",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}?command=disburseToSavings

Disburse loan to savings account

Disburses an approved loan directly to the client's linked savings account.

Path Parameters

loanIdintegerrequired

Loan ID to disburse

Request Bodyrequired

Disbursement details

actualDisbursementDatestring
dateFormatstring
localestring

Returns

200Loan disbursed to savings successfully

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId?command=disburseToSavings" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "actualDisbursementDate": "01 January 2024",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}?command=undoDisbursal

Undo loan disbursement

Reverts a disbursed loan back to 'Approved' status. Only possible if no repayments have been made.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Undo disbursement details

notestring

Returns

200Loan disbursement undone

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId?command=undoDisbursal" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "note": "sample_note"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}?command=assignLoanOfficer

Assign loan officer

Assigns or reassigns a loan officer to the loan.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Assignment details

toLoanOfficerIdinteger

Staff ID of new loan officer

assignmentDatestring
dateFormatstring
localestring

Returns

200Loan officer assigned

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId?command=assignLoanOfficer" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "toLoanOfficerId": 1,
  "assignmentDate": "01 January 2024",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}/transactions?command=repayment

Make a loan repayment

Records a loan repayment transaction. The payment will be applied according to the loan's payment allocation strategy.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Repayment details

transactionDatestring

Date of payment

transactionAmountnumber

Payment amount

paymentTypeIdinteger

Payment method ID

accountNumberstring

Account number

checkNumberstring

Check number

routingCodestring

Routing code

receiptNumberstring

Receipt number

bankNumberstring

Bank number

notestring

Transaction notes

dateFormatstring
localestring

Returns

200Repayment recorded successfully

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/transactions?command=repayment" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "transactionAmount": 1000,
  "paymentTypeId": 1,
  "accountNumber": "sample_accountNumber",
  "checkNumber": "sample_checkNumber",
  "routingCode": "sample_routingCode",
  "receiptNumber": "sample_receiptNumber",
  "bankNumber": "sample_bankNumber",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}/transactions?command=prepayLoan

Prepay loan (early closure)

Makes a prepayment to close the loan early. Calculates the payoff amount including any applicable charges.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Prepayment details

transactionDatestring
transactionAmountnumber

Full payoff amount

paymentTypeIdinteger
notestring
dateFormatstring
localestring

Returns

200Loan prepaid successfully

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/transactions?command=prepayLoan" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "transactionAmount": 1000,
  "paymentTypeId": 1,
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}/transactions?command=waiveInterest

Waive interest

Waives a portion of the outstanding interest on a loan.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Waiver details

transactionDatestring
transactionAmountnumber

Amount of interest to waive

notestring
dateFormatstring
localestring

Returns

200Interest waived successfully

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/transactions?command=waiveInterest" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "transactionAmount": 1000,
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}/transactions?command=writeoff

Write-off a loan

Writes off the outstanding loan balance as a loss. The loan moves to 'Closed (written off)' status.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Write-off details

transactionDatestring
notestring

Write-off reason

dateFormatstring
localestring

Returns

200Loan written off successfully

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/transactions?command=writeoff" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}/transactions?command=undowriteoff

Undo loan write-off

Reverses a loan write-off transaction, restoring the loan to active status.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Undo write-off details

notestring

Returns

200Write-off undone

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/transactions?command=undowriteoff" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "note": "sample_note"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}/transactions?command=recoverypayment

Record recovery payment

Records a recovery payment on a written-off loan.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Recovery payment details

transactionDatestring
transactionAmountnumber
paymentTypeIdinteger
notestring
dateFormatstring
localestring

Returns

200Recovery payment recorded

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/transactions?command=recoverypayment" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "transactionAmount": 1000,
  "paymentTypeId": 1,
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
POST
/fineract-provider/api/v1/loans/{loanId}/transactions?command=foreclosure

Foreclose a loan

Forecloses an active loan, closing it with a final settlement.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Foreclosure details

transactionDatestring
notestring
dateFormatstring
localestring

Returns

200Loan foreclosed

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/transactions?command=foreclosure" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
GET
/fineract-provider/api/v1/loans/{loanId}/transactions/{transactionId}

Retrieve loan transaction

Gets details of a specific loan transaction.

Path Parameters

loanIdintegerrequired

Loan ID

transactionIdintegerrequired

Transaction ID

Returns

200Transaction details

Request

curl
curl --request GET \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/transactions/:transactionId" \
  --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/loans/{loanId}/transactions/{transactionId}

Adjust a loan transaction

Reverses and replaces a loan transaction with corrected details.

Path Parameters

loanIdintegerrequired

Loan ID

transactionIdintegerrequired

Transaction ID to adjust

Request Bodyrequired

Adjusted transaction details

transactionDatestring
transactionAmountnumber
paymentTypeIdinteger
notestring
dateFormatstring
localestring

Returns

200Transaction adjusted

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/transactions/:transactionId" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "transactionDate": "01 January 2024",
  "transactionAmount": 1000,
  "paymentTypeId": 1,
  "note": "sample_note",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

json
{
  "officeId": 1,
  "resourceId": 1,
  "changes": {}
}
GET
/fineract-provider/api/v1/loans/{loanId}/charges

List loan charges

Retrieves all charges associated with a loan.

Path Parameters

loanIdintegerrequired

Loan ID

Returns

200List of loan charges

Request

curl
curl --request GET \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/charges" \
  --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/loans/{loanId}/charges

Add a loan charge

Adds a new charge to an existing loan.

Path Parameters

loanIdintegerrequired

Loan ID

Request Bodyrequired

Charge details

chargeIdinteger

Charge definition ID

amountnumber

Charge amount

dueDatestring

Due date for the charge

dateFormatstring
localestring

Returns

200Charge added successfully

Request

curl
curl --request POST \
  --url "https://your-fineract-instance.com/fineract-provider/api/v1/loans/:loanId/charges" \
  --header "Authorization: Basic {credentials}" \
  --header "Fineract-Platform-TenantId: default" \
  --header "Content-Type: application/json" \
  --data '{
  "chargeId": 1,
  "amount": 1000,
  "dueDate": "01 January 2024",
  "dateFormat": "01 January 2024",
  "locale": "sample_locale"
}'

Response

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

Was this page helpful?