Skip to content
Last updated

Loan Management Quickstart

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.

Prerequisites

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.

Step 1: Create a Loan

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.

Step 2: Activate the Loan

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.

Step 3: Confirm Payment Schedule

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.

Next steps