# Equipment API

Track fixed installations, fixtures, and built-in equipment in your properties. Equipment is specifically used for **property inspections (État des Lieux)** — the legally required condition report at lease start and end.

> **Equipment vs Inventory**: Equipment tracks **fixed/permanent items** (radiators, doors, plumbing) for the État des Lieux. For **moveable/furnished items** (furniture, appliances) used in furnished lease inventories, see the [Inventory API](/properties/inventory).

## Quick Example

```bash
# Link a radiator to a room with its condition
curl -X POST https://api.faireplace.com/api/rooms/{room_id}/equipment \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "equipment_id": "uuid-of-existing-radiator",
    "description": "Radiateur mural double",
    "quantity": 2,
    "condition_status": "GOOD",
    "condition_notes": "Léger impact sur le coin supérieur droit"
  }'
```

## Common Workflows

### Prepare an État des Lieux
1. `POST /api/equipment` — Create equipment entries with their entity association and condition
2. `POST /api/rooms/{room_id}/equipment` — Or link existing equipment to rooms with condition status
3. The condition data is included in the generated État des Lieux PDF annex

---

## Overview

Equipment management covers fixed property installations:
- **Fixtures**: Doors, windows, shutters, built-in closets
- **HVAC Systems**: Radiators, boilers, air conditioning units
- **Plumbing**: Sinks, toilets, bathtubs, showers
- **Electrical**: Outlets, switches, light fixtures
- **Safety Equipment**: Smoke detectors, fire extinguishers

## Condition Tracking

Each equipment can have a structured condition status, used in the État des Lieux report:

| Status | Description |
|--------|-------------|
| `EXCELLENT` | Excellent état |
| `GOOD` | Bon état |
| `FAIR` | État correct |
| `POOR` | Mauvais état |
| `DAMAGED` | Endommagé |
| `NEEDS_REPAIR` | Nécessite réparation |
| `BROKEN` | Cassé |
| `MISSING` | Manquant |

Additional free-text `condition_notes` can be provided for detailed observations.

## Authentication

Requires **PropertiesRead**, **PropertiesWrite**, or **PropertiesDelete** permissions.

## Base URL

Equipment endpoints: `/api/equipment`

---

## Core Operations

### List Equipment
**GET** `/api/equipment`

### Create Equipment
**POST** `/api/equipment`

**Request:**
```json
{
  "equipment_type_id": "uuid-of-type",
  "entity_id": "uuid-of-room",
  "entity_type": "room",
  "description": "Porte d'entrée blindée",
  "quantity": 1,
  "condition_status": "GOOD",
  "condition_notes": "Serrure 3 points fonctionnelle"
}
```

### Get Equipment
**GET** `/api/equipment/{id}`

### Update Equipment
**PUT** `/api/equipment/{id}`

### Delete Equipment
**DELETE** `/api/equipment/{id}`

---

## Equipment Associations

Equipment can be linked to **places**, **estates**, or **rooms** with condition tracking:

### Link Equipment to Room (with condition)
**POST** `/api/rooms/{room_id}/equipment`

```json
{
  "equipment_id": "uuid-of-existing-equipment",
  "quantity": 1,
  "condition_status": "FAIR",
  "condition_notes": "Traces d'usure normales"
}
```

### Link Equipment to Estate
**POST** `/api/estates/{estate_id}/equipment`

### Link Equipment to Place
**POST** `/api/places/{place_id}/equipment`

### Hierarchical Routes
**POST** `/api/places/{place_id}/estates/{estate_id}/equipment` — With place context

---

## Common Use Cases

- **État des Lieux**: Document condition of fixed installations at lease entry/exit
- **Compliance**: Generate legally compliant inspection reports (Decree 2016-382)
- **Condition Comparison**: Compare equipment condition between entry and exit inspections
- **Asset Tracking**: Track fixed installations across your property portfolio