---
title: "Calculate a security-deposit restitution"
method: POST
path: "/public/tools/depot-garantie/calculate"
tags: ["Public Tools"]
---

# Calculate a security-deposit restitution

`POST /public/tools/depot-garantie/calculate`

## Request

- Base URL: `https://api.faireplace.com/api`
- URL: `https://api.faireplace.com/api/public/tools/depot-garantie/calculate`
- Auth: none required

Computes the legal deposit cap, restitution deadline, allowed retentions
and any late penalty (Art. 22 Loi 89-462). Returns JSON.

Public, unauthenticated tool.

## Example

```bash
curl -X POST https://api.faireplace.com/api/public/tools/depot-garantie/calculate \
  -H "Content-Type: application/json" \
  -d '{
    "lease_type": "vide",
    "monthly_rent_hc": 750.00,
    "deposit_amount": 750.00,
    "lease_end_date": "2026-03-31",
    "exit_inspection_conformity": true
  }'
```

## Request body

- DepotGarantieCalculateRequest: Inputs for the security-deposit calculator (Art. 22 Loi 89-462): legal cap, restitution deadline, allowed retentions and late penalty.
  - `lease_type` string, required: Lease type, drives the legal cap: `vide` (1× rent HC), `meuble` (2× rent HC), `mobilite` (deposit forbidden).
  - `monthly_rent_hc` number, required: Monthly rent excluding charges. Used for the late penalty.
  - `deposit_amount` number, required: Deposit actually collected at signature.
  - `lease_end_date` string, date, required: Effective end date of the lease (move-out).
  - `exit_inspection_conformity` boolean, nullable: Exit inspection conform to the entry one? `true` → 1-month restitution deadline; `false` → 2 months. Defaults to `true` if omitted.
  - `retained_for_charges` number, nullable: Optional retention for co-ownership charge provisions (EUR).
  - `retained_for_damages` number, nullable: Optional retention for damages (EUR).
  - `retained_for_unpaid_rent` number, nullable: Optional retention for unpaid rent (EUR).
  - `actual_return_date` string, date, nullable: Actual restitution date (if known): enables late-penalty calc.

## Response `200`

Restitution computed.

- DepotGarantieCalculateResponse
  - `lease_type` string, required
  - `monthly_rent_hc` number, required
  - `deposit_amount` number, required
  - `legal_deposit_cap` number, nullable: Legal cap of the exigible deposit (null for mobility = forbidden).
  - `deposit_exceeds_cap` boolean, required
  - `exit_inspection_conformity` boolean, required
  - `restitution_deadline_months` integer, required
  - `restitution_due_date` string, date, required
  - `max_charge_retention` number, required: Max 20% retention allowed for charge provisions.
  - `retained_for_charges` number, required
  - `retained_for_damages` number, required
  - `retained_for_unpaid_rent` number, required
  - `total_retained` number, required
  - `amount_before_penalty` number, required: Amount remaining after retentions, before any penalty.
  - `late_penalty` number, required: Late penalty owed by the landlord (10% rent HC × months late).
  - `net_to_return_to_tenant` number, required: Total the landlord must return (amount_before_penalty + late_penalty).
  - `legal_basis` string, required
  - `warnings` string[], required

## Other responses

- `400`: Bad request
- `422`: Unprocessable Entity
- `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)
