# Create a new loan

**POST** `/loans`

Creates a new loan under an entity.

### Body Parameters

- `allow_overpayment` `boolean` — Indicates if a loan is able to be overpaid and have a `principal_outstanding` of less than $0. If `false`, payments that would result in a loan having a negative balance will be blocked.
- `auto_sell` `boolean` — Indicates if seasoned principals/interests should be automatically sold to your platform. Default: the value in the loan program.
- `currency` `string` _(required)_ — The three-letter currency code defined in ISO 4217, e.g. `USD`.
- `description` `string` — The description of the loan in the Column dashboard.
- `entity_id` `string` _(required)_ — The entity to create the loan under.
- `interest_config` `object` — Inline interest configuration to create with the loan. Either `interest_config_id` or `interest_config` may be specified, but not both.
  - `accrual_method` `string` _(required)_ — The accrual method for interest calculation. Possible values: `actual_360`, `actual_365`, and `actual_actual`
  - `description` `string` — A description for the interest configuration
  - `history` `array of objects` _(required)_ — List of interest config snapshots defining rates and their effective dates. At least one snapshot is required.
    - `effective_after_days` `integer` — The number of days after which this config snapshot becomes effective. Either `effective_date` or `effective_after_days` may be specified, but not both.
    - `effective_date` `string` — The date in Pacific Time Zone (inclusive) on which this interest config snapshot becomes effective. Either `effective_date` or `effective_after_days` may be specified, but not both.
    - `effective_day_mode` `string` — The method for rolling the effective date derived from `effective_after_days` to the next business day if it falls on a weekend or holiday. Possible values: `business_day`, `next_business_day`
    - `fixed_rate` `string` — The fixed interest rate for this snapshot (4.50% would be represented as `0.045`).
    - `pivot_percentage` `string` — The percentage of the pivot rate to use for variable-rate interest calculation (e.g., `1.0` for 100% of the pivot rate).
    - `pivot_relative` `string` — The spread added to or subtracted from the pivot rate for variable-rate interest calculation (e.g., `0.02` for +2%).
- `interest_config_id` `string` — ID of the interest configuration used to accrue interest receivable daily. If this field is not set, the default interest configuration of the loan program will be used. The same interest configuration can be shared across multiple loans. Either `interest_config_id` or `interest_config` may be specified, but not both.
- `is_business_seasoning_days` `boolean` — Indicates if `seasoning_days` are business days or calendar days. Default: the value in the loan program.
- `is_revolving` `boolean` _(required)_ — Indicates whether or not the loan is revolving. If `true` the loan can have multiple disbursements. Default: the value in the loan program.
- `loan_program_id` `string` — ID of the loan program for this loan. If this field is not set, your platform's default loan program will be used.
- `maturity_date` `string` — The maturity date of the loan. It is required if the loan is not revolving.
- `max_principal_balance` `integer` _(required)_ — The max principal balance of the loan in cents. This is akin to a credit limit. Disbursements will fail if the resulting principal will be above the max principal. e.g. $1.75 would be represented by `175`.
- `retained_by_column` `boolean` — Indicates if this loan should be retained by Column. Loans retained by Column are not eligible for your platform to purchase. Default: the value in the loan program.
- `seasoning_days` `integer` — Number of days principal receivables will be seasoned. Default: the value in the loan program.

**Request**

```shell
curl 'https://api.column.com/loans' \
  -XPOST \
  -u :<YOUR API KEY> \
  -d description="sample loan" \
  -d currency="USD" \
  -d entity_id="<entity_id>" \
  -d is_revolving="true" \
  -d maturity_date="2028-10-10" \
  -d max_principal_balance="100000"
```

**Response 200**

```json
{
  "allow_overpayment": false,
  "auto_sell": false,
  "balances": {
    "interest_paid": "0",
    "interest_receivable": "0",
    "principal_charged_off": "0",
    "principal_holding": "0",
    "principal_outstanding": "0",
    "principal_paid": "0",
    "retained_interest_paid": "0",
    "retained_interest_receivable": "0",
    "retained_principal_charged_off": "0",
    "retained_principal_outstanding": "0",
    "retained_principal_paid": "0",
    "servicing_fee_payable": "0"
  },
  "canceled_at": null,
  "charged_off_at": null,
  "created_at": "2025-08-03T15:53:27Z",
  "currency": "USD",
  "delinquent_at": null,
  "description": "sample loan",
  "disputed_at": null,
  "id": "loan_30mcttnSZBlSahXy6LUFzbeemlk",
  "interest_config_id": "",
  "is_business_seasoning_days": false,
  "is_revolving": true,
  "loan_program_id": "",
  "maturity_date": "2028-10-10",
  "max_principal_balance": "100000",
  "paid_off_at": null,
  "primary_signer_entity_id": "enti_2zI19bAiyHSmD5iGBZwMx7jwICd",
  "retained_by_column": false,
  "seasoning_days": 0,
  "status": "current"
}
```
