Loans
Add loan
Create a new loan
POST {base url}/v1/loans
Headers
Authorization header*
string
API user secret key
Request Body
loanProductId*
String
loan product id
name*
String
loan name
amount*
Number
loan amount(major)
interestRate
Number
loan interest rate
moratorium
Number
loan moratorium
tenure
Number
loan tenure
accountHolder*
String
id of the client/company
accountHolderType*
String
clients/companies
loanApplicationDate
string
application date
{
"responseCode": "00",
"status": "success",
"message": "loan created successfully",
"data": {
"organizationId": "aee1a803-3835-4195-b732-a19f7c3702c8",
"accountHolderType": "clients",
"loanName": "third loan with repayment schedule",
"amount": 10000,
"accountNumber": "16050926853",
"accountHolder": "d4c9f36f-ffbb-4c85-87cb-97c8fee6b9ad",
"interestRate": 12,
"moratorium": 6,
"tenure": 90,
"tranches": null,
"state": "PENDING",
"customData": {},
"document": null,
"depositAccount": null,
"loanProductId": "798ca840-07c7-4226-ba10-52b722d8d968",
"balances": {
"totalAccruedFees": 0,
"totalAccruedPenalty": 0,
"totalAccruedinterest": 0,
"totalPrincipalBalance": 10000
},
"gracePeriod": null,
"riskState": null,
"comment": null,
"writtenOffDate": null,
"approvedDate": null,
"disbursedDate": null,
"declinedDate": null,
"nextRepaymentDate": null,
"lastRepaymentDate": null,
"id": "bd63129a-41d5-417c-a48a-c8377a901390",
"totalDue": 0,
"totalPaid": 0,
"status": "inactive",
"created_at": "2024-03-12T13:51:00.529Z",
"updated_at": "2024-03-12T13:51:00.529Z"
}
}Update loan
PATCH {base url}/v1/loans
Update a single loan
Headers
Authorization header*
string
API user secret key
Path Param
loanId*
String
id of the loan to be updated
Request Body
state*
string
Possible values are: APPROVED, DECLINED.
comment
text
Get all loan accounts
Get all loan accounts
GET {base url}/v1/loans
Get all loan accounts
Get loan account details
Get loan account details
GET {base url}/v1/loans
Get loan account details
Path Parameters
loanId*
string
id of the loan.
Get loan schedule
Get loan schedule
GET {base url}/v1/loans/{loanId}/repayments
Request Param
loanId
uuid
id of the loan.
Get loan transactions
Get loan transactions
GET {base url}/v1/loans/transactions
Get loan transactions
Query Parameters
accountNumber*
string
account number generated for the loan.
Get loan balances
Get loan balances
GET {base url}/v1/loans/{loanId}/balances
Get loan balances
Request Param
loanId
uuid
id of the loan
Repay loan
Repay loan
POST {base url}/v1/loans/transaction/{loanId}/repay
Repay loan
Request Param
loanId
uuid
id of the loan
Request Body
channel
string
id of the channel attached when disbursing internal loan.
amount*
number
amount(major)
Loan payoff
Loan payoff
POST {base url}/v1/loans/transaction/{loanId}/payoff
Loan payoff
Request Param
loanId
uuid
id of the loan
Request Body
channel
string
channel
amount*
number
amount(major)
Loan WriteOff
POST {base url}/v1/loans/transaction/{loanId}/payoff
Loan write-off
Request Body
amount*
number
amount (major)
loan topup
Loan topup
POST {base url}/v1/loans/transaction/{loanId}/topup
Loan topup
Request Body
amount *
number
loan amount (major)
interest
number
interest
tenure
number
tenure
firstRepaymentDate
string
first repayment date
Liquidate loan
Liquidate loan
POST {base url}/v1/loans/transaction/{loanId}/liquidate
Liquidate loan
Request Body
amount *
number
loan amount (major)
channel
string
channel
disburse loan
Disburse loan
POST {base url}/v1/loans/transaction/{loanId}/disburse
disburse loan
Headers
Authorization header *
API secret key
Request Param
loanId
uuid
id of the loan
Body
type *
string
type (INTERNAL/EXTERNAL)
accountNumber
string
nuban account number is required if type is INTERNAL
narration
string
narration
channel
string
channel is required if type is INTERNAL
changeFirstRepaymentDate *
boolean
change repayment date
firstRepaymentDate
string
new first repayment date. required if changeFirstRepaymentDate is set to true.
disburseDate
string
loan disburse date
Response
Last updated
Was this helpful?