---
title: "Create a charge regulation"
method: POST
path: "/leases/{lease_id}/charges/{charge_id}/regulations"
tags: ["Leases"]
---

# Create a charge regulation

`POST /leases/{lease_id}/charges/{charge_id}/regulations`

## Request

- Base URL: `https://api.faireplace.com/api`
- URL: `https://api.faireplace.com/api/leases/{lease_id}/charges/{charge_id}/regulations`
- Auth: HTTP bearer

Create a new regulation for a charge.

**Validation rules:**
- If `type` is `FREEZE`, then `freeze_period_id` is required
- If `type` is `LEGAL_EXCEPTION`, then `legal_exception_id` is required
- `adjusted_amount` must be less than or equal to `original_amount`

## Path parameters

- `lease_id` string, uuid, required
- `charge_id` string, uuid, required

## Request body

- CreateChargeRegulation: Create a new charge regulation. **Validation rules:** - If `regulation_type` is `FREEZE`, `freeze_period_id` is required - If `regulation_type` is `LEGAL_EXCEPTION`, `legal_exception_id` is required - `adjusted_amount` must not exceed `original_amount`
  - `lease_charge_id` string, uuid, required
  - `regulation_type` 'FREEZE' | 'LEGAL_EXCEPTION', required: Type of charge regulation adjustment. - `FREEZE`: Adjustment due to an active freeze period - `LEGAL_EXCEPTION`: Adjustment due to a legal exception
  - `freeze_period_id` string, uuid, nullable
  - `legal_exception_id` string, uuid, nullable
  - `application_date` string, date, required
  - `original_amount` number, required
  - `adjusted_amount` number, required
  - `adjustment_details` object, nullable

## Response `201`

Regulation created successfully

- ChargeRegulation: A regulation applied to a lease charge that adjusts its amount. Regulations can be triggered by freeze periods or legal exceptions. **Business rules:** - `adjusted_amount` cannot exceed `original_amount` - If `regulation_type` is FREEZE, `freeze_period_id` is required - If `regulation_type` is LEGAL_EXCEPTION, `legal_exception_id` is required
  - `id` string, uuid, required
  - `lease_charge_id` string, uuid, required: The charge being regulated
  - `regulation_type` 'FREEZE' | 'LEGAL_EXCEPTION', required: Type of charge regulation adjustment. - `FREEZE`: Adjustment due to an active freeze period - `LEGAL_EXCEPTION`: Adjustment due to a legal exception
  - `freeze_period_id` string, uuid, nullable: Reference to the freeze period (required if type is FREEZE)
  - `legal_exception_id` string, uuid, nullable: Reference to the legal exception (required if type is LEGAL_EXCEPTION)
  - `application_date` string, date, required: Date the regulation takes effect
  - `original_amount` number, required: Original charge amount before regulation
  - `adjusted_amount` number, required: Adjusted amount after regulation (must be <= original_amount)
  - `adjustment_details` object, nullable: Details about the adjustment calculation (JSON)
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `500`: Internal Server Error

---

[API](https://skmtc.dev/faireplace/apis/faireplace-property-management-api.md) · [All operations](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/revisions/69de39762919?raw)
