# 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



```http
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:


```json
{
  "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:


```http
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:


```json
{
  "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:


```http
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

- **[Create a Line of Credit](/loan-lifecycle/create-loc)** — Walk through creating a line of credit loan after your first installment loan.
- **[Loan Lifecycle overview](/loan-lifecycle)** — Index of the full loan lifecycle from origination through closeout.