---
title: "Attacher les annexes obligatoires"
method: POST
path: "/leases/{lease_id}/annexes/attach-mandatory"
tags: ["Lease Annexes"]
---

# Attacher les annexes obligatoires

`POST /leases/{lease_id}/annexes/attach-mandatory`

## Request

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

Attache automatiquement toutes les annexes obligatoires applicables au type de bail.

L'API identifie le type de bail, recherche dans le catalogue systeme les annexes marquees
`is_mandatory = true` et applicables a ce type de bail, puis les attache au bail.

**Idempotency**: Les annexes deja attachees ne sont pas dupliquees. L'operation peut
etre appelee plusieurs fois sans effet de bord.

**Exemple de resultat pour un bail meuble :**
- `attached` : Notice d'information, Charges recuperables, Reparations locatives, Inventaire mobilier
- `already_attached` : [] (si premiere execution)
- `not_applicable` : [] (si le bail est bien un bail meuble)

## Path parameters

- `lease_id` string, uuid, required

## Response `200`

Operation terminee. Le resultat detaille les annexes nouvellement attachees,
celles deja presentes et celles non applicables.

- AttachMandatoryResult: Resultat de l'operation d'attachement automatique des annexes obligatoires. Fournit un bilan detaille des annexes traitees.
  - `attached` LeaseAnnex[], required: Liste des annexes qui ont ete nouvellement attachees au bail.
    - `id` string, uuid, required: Unique identifier of the annex
    - `tenant_id` string, required: Identifiant du tenant proprietaire de cette ressource.
    - `lease_id` string, uuid, required: Identifiant du bail auquel cette annexe est rattachee.
    - `system_annex_id` string, uuid, nullable: Reference vers l'annexe systeme dont cette annexe est derivee. `null` pour les annexes creees manuellement.
    - `annex_type` 'NOTICE_INFORMATION' | 'CHARGES_RECUPERABLES' | 'REPARATIONS_LOCATIVES' | 'GRILLE_VETUSTE' | 'INVENTAIRE_MOBILIER' | 'ETAT_DES_LIEUX' | 'DPE' | 'DIAGNOSTIC_PLOMB' | 'DIAGNOSTIC_AMIANTE' | 'DIAGNOSTIC_ELECTRICITE' | 'DIAGNOSTIC_GAZ' | 'ETAT_RISQUES' | 'REGLEMENT_COPROPRIETE' | 'PERMIS_LOUER' | 'ASSURANCE_HABITATION' | 'CAUTIONNEMENT' | 'CUSTOM', required: Type d'annexe au bail. Chaque type correspond a un document reglementaire ou complementaire qui doit etre joint au contrat de location conformement a la legislation francaise. **Documents reglementaires obligatoires :** - `NOTICE_INFORMATION` - Notice d'information (Loi ALUR art. 3-3) - `CHARGES_RECUPERABLES` - Liste des charges recuperables (Decret 87-713) - `REPARATIONS_LOCATIVES` - Reparations a la charge du locataire (Decret 87-712) - `GRILLE_VETUSTE` - Grille de vetuste indicative (Decret 2016-382) - `INVENTAIRE_MOBILIER` - Inventaire du mobilier (baux meubles, Decret 2015-981) - `ETAT_DES_LIEUX` - Etat des lieux d'entree/sortie (Decret 2016-382) **Diagnostics techniques :** - `DPE` - Diagnostic de Performance Energetique - `DIAGNOSTIC_PLOMB` - Constat de Risque d'Exposition au Plomb (CREP) - `DIAGNOSTIC_AMIANTE` - Etat d'amiante (parties privatives) - `DIAGNOSTIC_ELECTRICITE` - Etat de l'installation interieure d'electricite - `DIAGNOSTIC_GAZ` - Etat de l'installation interieure de gaz - `ETAT_RISQUES` - Etat des Risques et Pollutions (ERP) **Documents complementaires :** - `REGLEMENT_COPROPRIETE` - Extraits du reglement de copropriete - `ASSURANCE_HABITATION` - Attestation d'assurance habitation - `CAUTIONNEMENT` - Acte de cautionnement - `CUSTOM` - Document personnalise
    - `name` string, required: Nom de l'annexe tel qu'il apparait dans le dossier du bail.
    - `description` string, nullable: Description complementaire de l'annexe.
    - `media_id` string, uuid, nullable: Identifiant du media associe (document uploade par l'utilisateur). Utilise pour les annexes de source `USER_UPLOAD`.
    - `generated_pdf_path` string, nullable: Chemin du fichier PDF genere dynamiquement sur le serveur. Renseigne apres la premiere generation d'une annexe `DYNAMIC_TYPST` (ex: inventaire mobilier). Sert de cache pour eviter les regenerations inutiles.
    - `position` integer, required: Position d'affichage de l'annexe dans la liste (0 = premiere position).
    - `is_included` boolean, required: Indique si l'annexe est incluse dans le dossier du bail. Permet d'exclure temporairement une annexe sans la supprimer.
    - `created_at` string, date-time, required: Date de creation.
    - `updated_at` string, date-time, required: Date de derniere mise a jour.
  - `already_attached` string[], required: Identifiants des annexes systeme qui etaient deja attachees (pas de doublons crees).
  - `not_applicable` string[], required: Descriptions des annexes obligatoires qui n'ont pas pu etre attachees (ex: type de bail non compatible, source non resolue).

## Other responses

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