Learn how to create and activate a loan in Peach through a practical example using a $10,000 personal installment loan.
You can also do this through the sandbox Admin Portal. This quickstart covers the API approach.
Before you begin, ensure you have:
- An active Peach account with API access
- Valid API credentials
- A borrower already created in Peach
- A configured loan type in your account
Note: The following examples use commonly used fields, but for full details, including additional data and parameters, refer to the API Reference.
Let's create an installment loan with the following terms:
- Principal: $10,000
- Term: 36 months
- Interest rate: 5.00% APR
- Payment frequency: Monthly
- Due date: 15th of each month
- Origination fee: $100
POST /api/people/{personId}/loans
X-API-KEY: <YOUR-API-KEY>
Content-Type: application/json
{
"loanTypeId": "LT-8765-4321",
"externalId": "LOAN-12345",
"type": "installment",
"servicedBy": "creditor",
"status": "originated",
"assetType": "personalClosedEndUnsecured",
"mainBorrowerId": "BO-1234-5678",
"newDrawsAllowed": false,
"atOrigination": {
"amountFinanced": 10000,
"principalAmount": 10000,
"duration": 36,
"paymentFrequency": "monthly",
"originationLicense": "stateLicense",
"originatingCreditorName": "Sample Bank",
"interestRates": [
{
"interestType": "absolute",
"days": null,
"rate": 0.05
}
],
"specificDays": [15],
"fees": {
"originationFeeAmount": 100
}
}
}The response includes your loan ID and initial status:
{
"status": 200,
"data": {
"loanId": "LN-9876-5432",
"status": "originated",
"type": "installment"
...
}
}Verify: Confirm the response includes a loanId in the data object and that status is originated.
Note: The actual response will contain additional fields. Refer to the API Reference for the full response details.
On activation, the loan will be amortized and a payment schedule generated. Activate the loan to begin servicing:
POST /api/people/{personId}/loans/{loanId}/activate
X-API-KEY: <YOUR-API-KEY>
Content-Type: application/json
{
"amortizationAtActivation": "amortizeAtActivation",
"sendNotice": true
}The activation response includes validation results and the final payment schedule:
{
"status": 200,
"data": {
"ratesValidation": {
"interestRateAtOrigExceedsMax": false
},
"amountsValidation": {
"principalMatch": true
}
},
"message": "Loan activated."
}Verify: Confirm the response message says "Loan activated." and that ratesValidation shows no errors.
After activation, verify the payment schedule to ensure it matches your requirements:
GET /api/people/{personId}/loans/{loanId}/expected-payments
X-API-KEY: <YOUR-API-KEY>Review the response to confirm:
- Monthly payment amounts are correct ($315.25)
- Due dates align with the specified day (15th)
- Principal and interest splits are accurate
- Origination fee is properly applied to first payment
Verify: Confirm the response returns a list of expected payments with the correct monthly amount of $315.25.
- Create a Line of Credit — Walk through creating a line of credit loan after your first installment loan.
- Loan Lifecycle overview — Index of the full loan lifecycle from origination through closeout.