---
title: "Check legal compliance of a lease"
method: GET
path: "/leases/{lease_id}/compliance"
tags: ["Leases"]
---

# Check legal compliance of a lease

`GET /leases/{lease_id}/compliance`

## Request

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

Checks the regulatory compliance of a lease according to applicable legal rules.

**Features:**
- Rent control verification (Alur law) for French leases
- Rent regulation verification (high-demand zones)
- Verification of regulations specific to the geographic area

**For French leases:**
- Compares the proposed rent with reference rents (reference, increased reference, reduced reference)
- Checks if the property is located in a high-demand zone
- Provides recommendations in case of non-compliance
- Calculates IRL (Rent Reference Index) information in read-only mode

**Currently supported rent control zones:**
- **Paris**: 75001 to 75020
- **Lyon**: 69001 to 69009, 69100
- **Plaine Commune**: 93200, 93300, 93400, 93450, 93800, 93120, 93430, 93380, 93240
- **Est Ensemble**: 93170, 93000, 93140, 93310, 93260, 93100, 93130, 93500, 93230
- **Montpellier**: 34000, 34070, 34080, 34090
- **Bordeaux**: 33000, 33100, 33200, 33300, 33800
- **Lille**: 59000, 59800, 59160, 59260
- **Pays Basque**: All 64xxx postal codes
- **Grenoble**: All 38xxx postal codes

**Note:** This method only performs a check without modifying the lease.
To check AND automatically update the lease, use `POST /leases/{id}/compliance/update`.

## Path parameters

- `lease_id` string, uuid, required

## Response `200`

Compliance check completed successfully.

The response contains:
- The overall compliance status
- A detailed list of each check performed
- Recommendations for each detected issue
- IRL (Rent Reference Index) information calculated in read-only mode:
  - `rent_revision_date`: Calculated revision date (usually one year after the lease start)
  - `irl_reference_quarter`: IRL reference quarter (format "T{quarter}-{year}", e.g.: "T3-2024")
  - `irl_reference_value`: Current official IRL value

- LeaseComplianceCheckResponse: Lease compliance check result
  - `lease_id` string, uuid, required: Lease ID
  - `country_code` string, required: Country code
  - `country_name` string, required: Country name
  - `postal_code` string, required: Postal code
  - `compliance_checks` ComplianceCheck[], required: Checks list
    - `check_type` 'RentControl' | 'RentRegulation' | 'ZoneRegulation', required: Type of compliance check performed. - `RentControl`: Rent control verification (Alur law) - `RentRegulation`: Rent regulation verification (high-demand zones) - `ZoneRegulation`: Verification of regulations specific to the geographical area
    - `status` union, required: Compliance status of a check. **Possible values:** - `"Compliant"`: The lease complies with regulations - `"NonCompliant"`: The lease does not comply (action required) - `"Warning"`: Warning (compliant but attention required) - `"NotApplicable"`: The check is not applicable to this lease - `{"Error": {"message": "..."}}`: Error during verification (with detailed message) **Examples:** ```json "Compliant" ``` ```json { "Error": { "message": "Verification error: Unable to retrieve regulation data" } } ```
      - 'Compliant' | 'NonCompliant' | 'Warning' | 'NotApplicable': Simple compliance status
      - object: Error status with detailed message
        - `Error` object, required
          - `message` string, required: Detailed error message explaining the reason for the error
    - `details` string, required: Check details
    - `recommendations` string[], required: Recommendations
  - `overall_status` union, required: Compliance status of a check. **Possible values:** - `"Compliant"`: The lease complies with regulations - `"NonCompliant"`: The lease does not comply (action required) - `"Warning"`: Warning (compliant but attention required) - `"NotApplicable"`: The check is not applicable to this lease - `{"Error": {"message": "..."}}`: Error during verification (with detailed message) **Examples:** ```json "Compliant" ``` ```json { "Error": { "message": "Verification error: Unable to retrieve regulation data" } } ```
    - 'Compliant' | 'NonCompliant' | 'Warning' | 'NotApplicable': Simple compliance status
    - object: Error status with detailed message
      - `Error` object, required
        - `message` string, required: Detailed error message explaining the reason for the error
  - `rent_revision_date` string, date, nullable: Rent revision date
  - `irl_reference_quarter` string, nullable: IRL reference quarter
  - `irl_reference_value` number, nullable: IRL reference value

## Other responses

- `400`: Invalid request. May occur if: - The lease ID is malformed - The lease data is incomplete for performing the check - The property address is incomplete (missing street name)
- `401`: Unauthorized
- `403`: Access denied. The user does not have the required `leases:read` permission.
- `404`: Lease not found. The specified lease does not exist or does not belong to the user's tenant.
- `500`: Internal server error. May occur if: - Database connection issue - Error when calling compliance verification services - Error when retrieving regulation data

---

[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)
