# 📚 RAPPORT COMPLET - API INFOPARCELLE
## Documentation détaillée pour implémentation MCP

---

## 📋 TABLE DES MATIÈRES

1. [Informations générales](#informations-générales)
2. [Géocodage](#catégorie-géocodage)
3. [Parcelles](#catégorie-parcelles)
4. [Territoires](#catégorie-territoires)
   - Régions, Départements, Municipalités, Sections, Quartiers, EPCI
5. [DPE (Diagnostics de Performance Énergétique)](#dpe)
6. [DVF (Demandes de Valeurs Foncières)](#dvf)
7. [PLU (Plans Locaux d'Urbanisme)](#plu)
8. [Permis de construire](#permis)
9. [Propriétaires](#propriétaires)
10. [Copropriétés](#copropriétés)
11. [Occupants](#occupants)
12. [Annexes - Énumérations complètes](#annexes)

---

## 📋 INFORMATIONS GÉNÉRALES

- **Titre:** Infoparcelle API - Données foncières et immobilières
- **Version:** 1.0
- **URL de base:** `https://app.infoparcelle.fr`
- **Support:** contact@infoparcelle.fr

### 🔐 Authentification

```
Authorization: Bearer YOUR_API_KEY
```

### 📦 Formats de réponse

| Paramètre | Valeur | Description |
|-----------|--------|-------------|
| `format` | `json` (défaut) | Format JSON simple |
| `format` | `geojson` | Format GeoJSON (FeatureCollection) |

### 🗺️ Types de géométries

| Paramètre | Valeur | Description |
|-----------|--------|-------------|
| `geometrie` | `centre` (défaut) | Point central (GeoJSON Point) |
| `geometrie` | `contour` | Géométrie complète (Polygon/MultiPolygon) |
| `geometrie` | `bbox` | Boîte englobante rectangulaire |

### 📄 Pagination

- **limite**: Nombre de résultats par page (défaut: 10, max: 50)
- **curseur**: Token de pagination opaque pour la page suivante

**Headers de réponse:**
- `X-Pagination-Limit`: Limite appliquée
- `X-Pagination-Cursor`: Curseur actuel
- `X-Pagination-Next-Cursor`: Curseur pour page suivante (vide si dernière page)
- `X-Pagination-Has-More`: `true` si plus de résultats disponibles

### ⚠️ Limites et quotas

- **Limite de débit:** 1200 requêtes/minute (20 req/sec)
- **En cas de dépassement:** Erreur 429 avec header `Retry-After`

---


## 🔷 CATÉGORIE: GÉOCODAGE

**Nombre d'endpoints:** 3


### 🔹 Endpoint 1: `GET /api/v1/geocoder/search`

**Résumé:** Rechercher des adresses par texte libre

**Description:**

Permet de rechercher des adresses françaises par texte libre avec recherche par similarité. Retourne les informations d'adresse incluant les coordonnées GPS, identifiants BAN et parcelles cadastrales associées. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 7 (1 requis, 6 optionnels)

##### ✅ Paramètres REQUIS

**`recherche`** (query) - *Type: string*

Terme de recherche (adresse complète ou partielle). La recherche utilise un algorithme de similarité pour trouver les meilleures correspondances.

**Exemple:** `7 Rue de l'Elysée 75008 Paris 8e Arrondissement`

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `similarite` | Champ utilisé pour trier les résultats. Par défaut, le tri s... |
| `ordre_tri` | string | `desc` | Direction du tri (ascendant ou descendant).... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 50.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (8):**

| Champ | Type | Description |
|-------|------|-------------|
| `identifiant_ban` | string | Identifiant unique BAN (Base Adresse Nationale) |
| `adresse_complete` | string | Adresse complète formatée |
| `numero` | string | Numéro de voie |
| `nom_voie` | string | Nom de la voie |
| `municipalite` | object | Informations sur la commune |
| `parcelles` | array | Liste des parcelles associées à l'adresse |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |
| `similarite` | number | Score de similarité entre 0 et 1 indiquant la pertinence du  |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune adresse trouvée

---


### 🔹 Endpoint 2: `GET /api/v1/geocoder/ban/{identifiant_ban}`

**Résumé:** Rechercher une adresse par son identifiant BAN

**Description:**

Permet de récupérer les informations complètes d'une adresse à partir de son identifiant unique BAN (Base Adresse Nationale). Retourne les coordonnées GPS, informations de voirie et parcelles cadastrales associées.

#### 📥 PARAMÈTRES

**Total:** 3 (1 requis, 2 optionnels)

##### ✅ Paramètres REQUIS

**`identifiant_ban`** (path) - *Type: string*

Identifiant BAN de l'adresse (format: CODE_INSEE_VOIE_NUMERO)

**Exemple:** `75108_3190_00007`

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un objet JSON simple... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Retourne les informations de l'adresse

**Champs retournés (7):**

| Champ | Type | Description |
|-------|------|-------------|
| `identifiant_ban` | string | Identifiant unique BAN |
| `adresse_complete` | string | Adresse complète formatée |
| `numero` | string | Numéro de voie |
| `nom_voie` | string | Nom de la voie |
| `municipalite` | object | Informations sur la commune |
| `parcelles` | array | Liste des parcelles associées à l'adresse |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune adresse trouvée

---


### 🔹 Endpoint 3: `GET /api/v1/geocoder/coordinates`

**Résumé:** Rechercher une parcelle par coordonnées géographiques

**Description:**

Permet de rechercher la parcelle cadastrale qui contient un point géographique donné (géocodage inverse). Retourne les informations de la parcelle incluant les données cadastrales, superficie, commune et géométrie.

#### 📥 PARAMÈTRES

**Total:** 5 (2 requis, 3 optionnels)

##### ✅ Paramètres REQUIS

**`lat`** (query) - *Type: number*

Latitude de la coordonnée à géocoder (WGS84, requis pour le géocodage inversé)

**Exemple:** `48.8566`

**`lon`** (query) - *Type: number*

Longitude de la coordonnée à géocoder (WGS84, requis pour le géocodage inversé)

**Exemple:** `2.3522`

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un objet JSON simple... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Retourne les informations de la parcelle

**Champs retournés (11):**

| Champ | Type | Description |
|-------|------|-------------|
| `identifiant_cadastre` | string | Identifiant cadastral unique |
| `section` | string | Section cadastrale |
| `numero` | string | Numéro de parcelle |
| `prefixe` | string | Préfixe de section |
| `superficie` | number | Superficie en m² |
| `perimetre` | number | Périmètre en m |
| `arpente` | boolean | Parcelle arpentée |
| `municipalite` | object | Informations sur la commune |
| `centre` | object | Géométrie GeoJSON du centre de la parcelle (Point) |
| `contour` | object | Géométrie GeoJSON du contour de la parcelle (Polygon ou Mult |
| `bbox` | object | Géométrie GeoJSON de la boîte englobante de la parcelle (Pol |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune parcelle trouvée

---


## 🔷 CATÉGORIE: PARCELLES

**Nombre d'endpoints:** 4


### 🔹 Endpoint 1: `GET /api/v1/parcelles/recherche`

**Résumé:** Recherche de parcelles avec filtres multiples

**Description:**

Recherche permettant de filtrer les parcelles cadastrales selon de nombreux critères. 

⚠️ **IMPORTANT** : Au moins UN filtre géographique est REQUIS parmi : `code_departement`, `code_municipalite`, `code_postal`, `code_iris`, ou la paire de coordonnées GPS (`lat` ET `lon` ensemble). Cela permet de limiter la portée de la recherche et éviter de scanner toute la France.

#### 📥 PARAMÈTRES

**Total:** 79 (0 requis, 79 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher la parc... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher la par... |
| `code_departement` | string | `-` | Code INSEE du département (2 caractères).... |
| `code_municipalite` | string | `-` | Code INSEE de la commune (5 caractères). Accepte plusieurs v... |
| `code_postal` | string | `-` | Code postal (5 caractères). Accepte plusieurs valeurs séparé... |
| `code_iris` | string | `-` | Code IRIS (zone géographique infracommunale - Quartier). Acc... |
| `code_section` | string | `-` | Code de la section cadastrale (2 caractères). Accepte plusie... |
| `parcelle_multiple` | string | `-` | Mode de recherche multi-parcelle (parcelles regroupées). Acc... |
| `superficie_min` | number | `-` | Superficie minimale de la parcelle en m².... |
| `superficie_max` | number | `-` | Superficie maximale de la parcelle en m².... |
| `jardin_min` | number | `-` | Surface minimale du jardin en m².... |
| `jardin_max` | number | `-` | Surface maximale du jardin en m².... |
| `emprise_sol_min` | number | `-` | Emprise au sol minimale en m².... |
| `emprise_sol_max` | number | `-` | Emprise au sol maximale en m².... |
| `surface_habitable_min` | number | `-` | Surface habitable minimale en m².... |
| `surface_habitable_max` | number | `-` | Surface habitable maximale en m².... |
| `altitude_min` | number | `-` | Altitude minimale en mètres.... |
| `altitude_max` | number | `-` | Altitude maximale en mètres.... |
| `arpente` | boolean | `-` | Lorsque le terrain a été mesuré par un Géomètre-Expert, la p... |
| `bati_type` | string | `-` | Type de bâti calculé. Accepte plusieurs valeurs séparées par... |

*... et 59 autres paramètres optionnels (voir documentation OpenAPI)*

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (9):**

| Champ | Type | Description |
|-------|------|-------------|
| `cadastre_id` | array | Liste des identifiants cadastraux (multi-parcelle) |
| `superficie` | number | Superficie de la parcelle en m² |
| `perimetre` | number | Périmètre de la parcelle en m |
| `arpente` | boolean | Parcelle arpentée |
| `section` | object | Informations sur la section cadastrale |
| `municipalite` | object | Informations sur la commune |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |
| `contour` | object | Contour géographique de la parcelle (GeoJSON Polygon/MultiPo |
| `bbox` | object | Boîte englobante de la parcelle (GeoJSON Polygon) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune parcelle trouvée

---


### 🔹 Endpoint 2: `POST /api/v1/parcelles/recherche`

**Résumé:** Recherche avancée de parcelles avec filtres configurables

**Description:**

Recherche avancée permettant de filtrer les parcelles cadastrales selon de nombreux critères. Supporte deux modes de filtrage : strict (WHERE exact) et indicatif (scoring par pertinence).

⚠️ **IMPORTANT** : Au moins UN filtre géographique est REQUIS parmi : `code_departement`, `code_municipalite`, `code_postal`, `code_iris`, ou la paire de coordonnées GPS (`lat` ET `lon` ensemble). Cela permet de limiter la portée de la recherche et éviter de scanner toute la France.

**Mode STRICT (indicatif: false)** : Applique un filtre WHERE SQL classique. Seules les parcelles correspondant exactement au critère sont retournées. Idéal pour des contraintes obligatoires.

**Mode INDICATIF (indicatif: true)** : Utilise un système de scoring pour classer les résultats par pertinence. Les parcelles sont triées selon leur score de correspondance au critère. Idéal pour des préférences plutôt que des contraintes strictes.

#### 📤 RÉPONSES

##### Code 200

**Description:** Recherche effectuée avec succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (10):**

| Champ | Type | Description |
|-------|------|-------------|
| `cadastre_id` | array | Liste des identifiants cadastraux (multi-parcelle) |
| `superficie` | number | Superficie de la parcelle en m² |
| `perimetre` | number | Périmètre de la parcelle en m |
| `arpente` | boolean | Parcelle arpentée |
| `section` | object | Informations sur la section cadastrale |
| `municipalite` | object | Informations sur la commune |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |
| `contour` | object | Contour géographique de la parcelle (GeoJSON Polygon/MultiPo |
| `bbox` | object | Boîte englobante de la parcelle (GeoJSON Polygon) |
| `score_pertinence` | number | Score de pertinence calculé lors de l'utilisation de filtres |

##### Code 400

**Description:** Requête invalide - Exemples d'erreurs :
    *
    * • Aucun filtre géographique fourni (au moins un requis parmi : code_municipalite, code_postal, code_departement, code_region, code_iris, ou la paire lat+lon)
    * • Paramètres manquants ou incorrects
    * • Format de données invalide

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune parcelle trouvée

---


### 🔹 Endpoint 3: `GET /api/v1/parcelles/{cadastre_id}`

**Résumé:** Obtenir une fiche parcelle complète par son identifiant cadastral

#### 📥 PARAMÈTRES

**Total:** 4 (1 requis, 3 optionnels)

##### ✅ Paramètres REQUIS

**`cadastre_id`** (path) - *Type: string*

Identifiant cadastral de la parcelle

**Exemple:** `75108000BO0025`

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un objet JSON simple... |
| `geometrie` | string | `centre` | Type de géométrie à inclure dans la réponse : 'centre' pour ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Retourne une fiche complète avec toutes les données de la parcelle. Format varie selon le paramètre 'format' (json ou geojson)

**Champs retournés (26):**

| Champ | Type | Description |
|-------|------|-------------|
| `cadastre_id` | string | Identifiant cadastral unique de la parcelle (14 caractères)  |
| `section` | string | Code de la section cadastrale (2 caractères) - Subdivision d |
| `numero` | string | Numéro de la parcelle au sein de la section (4 caractères av |
| `prefixe` | string | Préfixe de la parcelle (3 caractères) - Code spécifique util |
| `superficie` | number | Superficie officielle de la parcelle en m² (mètres carrés). |
| `perimetre` | number | Périmètre de la parcelle en m (mètres) - Longueur totale du  |
| `arpente` | boolean | Lorsque le terrain a été mesuré par un Géomètre-Expert, la p |
| `municipalite` | object | Informations sur la commune où est située la parcelle |
| `quartier` | object | Informations sur le quartier IRIS (Îlots Regroupés pour l'In |
| `lieu_dit` | string | Nom du lieu-dit cadastral si applicable - Appellation locale |
| `adresses` | array | Liste des adresses postales associées à la parcelle. Triées  |
| `detail` | object | Détails complets de la parcelle (surfaces, piscines, bâtimen |
| `batiments` | array | Liste des bâtiments sur la parcelle |
| `zones_plu` | array | Zones PLU (Plan Local d'Urbanisme) |
| `dpes` | array | Diagnostics de performance énergétique |
| `dvfs` | array | Transactions immobilières (Demandes de Valeurs Foncières) |
| `coproprietaires` | array | Copropriétés associées |
| `proprietaires` | array | Propriétaires (personnes morales) |
| `occupants` | array | Occupants / Établissements (SIRENE) |
| `permis_construire` | array | Permis de construire et autorisations d'urbanisme (PC, PA, D |
| `monuments_historiques` | array | Liste des monuments historiques à proximité de la parcelle.  |
| `consommations` | object | Consommations énergétiques réelles de la parcelle (électrici |
| `statistiques` | object | Statistiques agrégées sur la parcelle - Compteurs permettant |
| `centre` | object | Coordonnées du centre géographique de la parcelle au format  |
| `contour` | object | Contour géographique complet de la parcelle au format GeoJSO |
| `bbox` | object | Boîte englobante (bounding box) de la parcelle au format Geo |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune parcelle trouvée

---


### 🔹 Endpoint 4: `GET /api/v1/parcelles/previsualisation/{cadastre_id}`

**Résumé:** Générer une prévisualisation SVG d'une parcelle

#### 📥 PARAMÈTRES

**Total:** 12 (1 requis, 11 optionnels)

##### ✅ Paramètres REQUIS

**`cadastre_id`** (path) - *Type: string*

Identifiant(s) cadastral(aux) de la/des parcelle(s) (séparés par des virgules)

**Exemple:** `75101000AD0001,75101000AE0001,75101000AC0002,75101000AB0002`

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `theme` | string | `realisme_terrain` | Thème de rendu (défaut: realisme_terrain)  **THÈMES DE PRÉVI... |
| `width` | integer | `800` | Largeur du SVG en pixels (défaut: 800, min: 10, max: 10000)... |
| `height` | integer | `800` | Hauteur du SVG en pixels (défaut: 800, min: 10, max: 10000)... |
| `dpi` | integer | `96` | Résolution du SVG en DPI (défaut: 96, min: 80, max: 300)... |
| `afficher_surface` | boolean | `False` | Afficher la surface de la parcelle (défaut: false)... |
| `afficher_mesures` | boolean | `False` | Afficher les mesures et dimensions (défaut: false)... |
| `afficher_perimetre` | boolean | `False` | Afficher le périmètre de la parcelle (défaut: false)... |
| `afficher_coordonnees` | boolean | `False` | Afficher les coordonnées géographiques (défaut: false)... |
| `afficher_numero_parcelle` | boolean | `False` | Afficher le numéro de parcelle cadastrale (défaut: false)... |
| `afficher_echelle` | boolean | `False` | Afficher l'échelle graphique (défaut: false)... |
| `echelle` | string | `auto` | Échelle de rendu de la carte (défaut: auto). Valeurs possibl... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Retourne une image SVG de la prévisualisation de la parcelle

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune parcelle trouvée

---


## 🔷 CATÉGORIE: TERRITOIRES

**Nombre d'endpoints:** 13


### 🔹 Endpoint 1: `GET /api/v1/regions`

**Résumé:** Rechercher des régions françaises

**Description:**

Permet de rechercher des régions par différents critères : coordonnées GPS, nom, code INSEE, ou filtres sur la superficie. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 11 (0 requis, 11 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `code` | string | `-` | Code INSEE de la région (2 chiffres).... |
| `nom` | string | `-` | Nom de la région (recherche par similarité).... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher la régi... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher la rég... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `nom` | Champ utilisé pour trier les résultats.... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant).... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 10.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (7):**

| Champ | Type | Description |
|-------|------|-------------|
| `code` | string | Code INSEE de la région |
| `nom` | string | Nom officiel de la région |
| `superficie` | number | Superficie de la région en m² |
| `perimetre` | number | Périmètre de la région en m |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |
| `contour` | object | Contour géographique de la région (GeoJSON Polygon/MultiPoly |
| `bbox` | object | Boîte englobante de la région (GeoJSON Polygon) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune région trouvée

---


### 🔹 Endpoint 2: `GET /api/v1/departements`

**Résumé:** Rechercher des départements français

**Description:**

Permet de rechercher des départements par différents critères : coordonnées GPS, nom, code INSEE, code région, ou filtres sur la superficie. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 12 (0 requis, 12 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `code` | string | `-` | Code INSEE du département (2 chiffres, ex: 75 pour Paris).... |
| `nom` | string | `-` | Nom du département (recherche par similarité).... |
| `code_region` | string | `-` | Code INSEE de la région parente (filtre les départements app... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher le dépa... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher le dép... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `nom` | Champ utilisé pour trier les résultats.... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant)... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 10.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (8):**

| Champ | Type | Description |
|-------|------|-------------|
| `code` | string | Code INSEE du département |
| `nom` | string | Nom officiel du département |
| `superficie` | number | Superficie du département en m² |
| `perimetre` | number | Périmètre du département en m |
| `region` | object | Informations sur la région parente |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |
| `contour` | object | Contour géographique du département (GeoJSON Polygon/MultiPo |
| `bbox` | object | Boîte englobante du département (GeoJSON Polygon) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucun département trouvé

---


### 🔹 Endpoint 3: `GET /api/v1/municipalities`

**Résumé:** Rechercher des communes françaises

**Description:**

Permet de rechercher des communes par différents critères : coordonnées GPS, nom, code INSEE, code postal, code région, code département, statut RNU. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 13 (0 requis, 13 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `code` | string | `-` | Code INSEE de la commune (5 chiffres).... |
| `nom` | string | `-` | Nom de la commune (recherche par similarité).... |
| `code_postal` | string | `-` | Code postal (5 chiffres) pour filtrer les communes.... |
| `est_rnu` | boolean | `-` | Indique si la commune est soumise au Règlement National d'Ur... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher la comm... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher la com... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `nom` | Champ utilisé pour trier les résultats.... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant).... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 20.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (12):**

| Champ | Type | Description |
|-------|------|-------------|
| `code` | string | Code INSEE de la commune |
| `nom` | string | Nom officiel de la commune |
| `codes_postaux` | array | Liste des codes postaux de la commune |
| `departement` | object | Informations sur le département parent |
| `region` | object | Informations sur la région parente |
| `population` | integer | Population municipale |
| `superficie` | number | Superficie de la commune en m² |
| `est_rnu` | boolean | Commune soumise au RNU |
| `perimetre` | number | Périmètre de la commune en m |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |
| `contour` | object | Contour géographique de la commune (GeoJSON Polygon/MultiPol |
| `bbox` | object | Boîte englobante de la commune (GeoJSON Polygon) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune commune trouvée

---


### 🔹 Endpoint 4: `GET /api/v1/sections`

**Résumé:** Rechercher des sections cadastrales

**Description:**

Permet de rechercher des sections cadastrales par différents critères : coordonnées GPS, code de section, code postal, code INSEE de la commune, code département, code région. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 14 (0 requis, 14 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `code` | string | `-` | Code de la section cadastrale (ex: AB, A, 01).... |
| `code_municipalite` | string | `-` | Code INSEE de la commune (5 chiffres) pour filtrer les secti... |
| `code_postal` | string | `-` | Code postal (5 chiffres) pour filtrer les sections cadastral... |
| `code_departement` | string | `-` | Code INSEE du département (2 chiffres) pour filtrer les sect... |
| `code_region` | string | `-` | Code INSEE de la région (2 chiffres) pour filtrer les sectio... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher la sect... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher la sec... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `code` | Champ utilisé pour trier les résultats.... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant).... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 20.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (9):**

| Champ | Type | Description |
|-------|------|-------------|
| `code` | string | Code de la section cadastrale |
| `superficie` | number | Superficie de la section en m² |
| `perimetre` | number | Périmètre de la section en m |
| `municipalite` | object | Informations sur la commune |
| `departement` | object | Informations sur le département |
| `region` | object | Informations sur la région |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |
| `contour` | object | Contour géographique de la section (GeoJSON Polygon/MultiPol |
| `bbox` | object | Boîte englobante de la section (GeoJSON Polygon) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune section trouvée

---


### 🔹 Endpoint 5: `GET /api/v1/quartiers`

**Résumé:** Rechercher des quartiers (IRIS)

**Description:**

Permet de rechercher des quartiers IRIS par différents critères : coordonnées GPS, code IRIS, nom, type d'IRIS, code postal, code INSEE de la commune, code département, code région. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 16 (0 requis, 16 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `code` | string | `-` | Code IRIS du quartier (ex: 751012316).... |
| `nom` | string | `-` | Nom du quartier (recherche par similarité).... |
| `type` | string | `-` | Type d'IRIS du quartier (classification INSEE).  **Liste com... |
| `code_municipalite` | string | `-` | Code INSEE de la commune (5 chiffres) pour filtrer les quart... |
| `code_postal` | string | `-` | Code postal (5 chiffres) pour filtrer les quartiers.... |
| `code_departement` | string | `-` | Code INSEE du département (2 chiffres) pour filtrer les quar... |
| `code_region` | string | `-` | Code INSEE de la région (2 chiffres) pour filtrer les quarti... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher le quar... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher le qua... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `code` | Champ utilisé pour trier les résultats.... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant).... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 20.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (11):**

| Champ | Type | Description |
|-------|------|-------------|
| `code` | string | Code IRIS du quartier |
| `nom` | string | Nom du quartier |
| `type` | string | Type de quartier (H=Habitat, A=Activité, D=Divers, Z=Non déc |
| `superficie` | number | Superficie du quartier en m² |
| `perimetre` | number | Périmètre du quartier en m |
| `municipalite` | object | Informations sur la commune |
| `departement` | object | Informations sur le département |
| `region` | object | Informations sur la région |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |
| `contour` | object | Contour géographique du quartier (GeoJSON Polygon/MultiPolyg |
| `bbox` | object | Boîte englobante du quartier (GeoJSON Polygon) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucun quartier trouvé

---


### 🔹 Endpoint 6: `GET /api/v1/epci`

**Résumé:** Rechercher des EPCI (Établissements publics de coopération intercommunale)

**Description:**

Permet de rechercher des EPCI par différents critères : coordonnées GPS, code SIREN, nom, nature. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 12 (0 requis, 12 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `code` | string | `-` | Code SIREN de l'EPCI (9 chiffres).... |
| `nom` | string | `-` | Nom de l'EPCI (recherche par similarité).... |
| `nature` | string | `-` | Nature juridique de l'EPCI (classification INSEE). Accepte p... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher l'EPCI ... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher l'EPCI... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `nom` | Champ utilisé pour trier les résultats.... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant).... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 20.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (8):**

| Champ | Type | Description |
|-------|------|-------------|
| `code` | string | Code SIREN de l'EPCI |
| `nom` | string | Nom officiel de l'EPCI |
| `nature` | string | Nature juridique de l'EPCI |
| `superficie` | number | Superficie de l'EPCI en m² |
| `perimetre` | number | Périmètre de l'EPCI en m |
| `centre` | object | Coordonnées du centre géographique (GeoJSON Point) |
| `contour` | object | Contour géographique de l'EPCI (GeoJSON Polygon/MultiPolygon |
| `bbox` | object | Boîte englobante de l'EPCI (GeoJSON Polygon) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucun EPCI trouvé

---


### 🔹 Endpoint 7: `GET /api/v1/dpes`

**Résumé:** Rechercher des Diagnostics de Performance Énergétique (DPE)

**Description:**

Permet de rechercher des DPE par différents critères : coordonnées GPS, code postal, étiquettes énergétiques, type de bâtiment, année de construction, consommation énergétique, codes INSEE. Les résultats peuvent être retournés au format JSON ou GeoJSON avec pagination par curseur.

#### 📥 PARAMÈTRES

**Total:** 33 (0 requis, 33 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `numero_dpe` | string | `-` | Numéro unique du DPE. Accepte plusieurs valeurs séparées par... |
| `type_dpe` | integer | `-` | Type de DPE. Accepte plusieurs valeurs séparées par des virg... |
| `etiquette_dpe` | string | `-` | Étiquette de performance énergétique. Accepte plusieurs vale... |
| `etiquette_ges` | string | `-` | Étiquette d'émission de gaz à effet de serre (GES). Accepte ... |
| `type_batiment` | string | `-` | Type de bâtiment. Accepte plusieurs valeurs séparées par des... |
| `bati_type` | string | `-` | Type de bâti calculé. Accepte plusieurs valeurs séparées par... |
| `date_etablissement_min` | string | `-` | Date minimale d'établissement du DPE (format AAAA-MM-JJ).... |
| `date_etablissement_max` | string | `-` | Date maximale d'établissement du DPE (format AAAA-MM-JJ).... |
| `date_reception_dpe_min` | string | `-` | Date minimale de réception du DPE (format AAAA-MM-JJ).... |
| `date_reception_dpe_max` | string | `-` | Date maximale de réception du DPE (format AAAA-MM-JJ).... |
| `annee_construction_min` | integer | `-` | Année minimale de construction du bâtiment.... |
| `annee_construction_max` | integer | `-` | Année maximale de construction du bâtiment.... |
| `surface_habitable_min` | number | `-` | Surface habitable minimale en m².... |
| `surface_habitable_max` | number | `-` | Surface habitable maximale en m².... |
| `conso_energie_min` | number | `-` | Consommation énergétique minimale en kWh/m²/an.... |
| `conso_energie_max` | number | `-` | Consommation énergétique maximale en kWh/m²/an.... |
| `emission_ges_min` | number | `-` | Émission de GES minimale en kg CO2/m²/an.... |
| `emission_ges_max` | number | `-` | Émission de GES maximale en kg CO2/m²/an.... |
| `cout_total_min` | number | `-` | Coût total minimal en € par an... |
| `cout_total_max` | number | `-` | Coût total maximal en € par an... |

*... et 13 autres paramètres optionnels (voir documentation OpenAPI)*

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (31):**

| Champ | Type | Description |
|-------|------|-------------|
| `numero_dpe` | string | Numéro unique du DPE |
| `type_dpe` | integer | Type de DPE : 0=Existant, 1=Neuf, 2=Tertiaire |
| `date_etablissement` | string | Date d'établissement du DPE |
| `date_reception` | string | Date de réception du DPE |
| `date_visite` | string | Date de visite |
| `date_fin_validite` | string | Date de fin de validité |
| `version` | string | Version du DPE |
| `etiquette_dpe` | string | Étiquette énergétique (A à G) |
| `etiquette_ges` | string | Étiquette GES (A à G) |
| `adresse` | string | Adresse complète du bien |
| `type_batiment` | string | Type de bâtiment |
| `bati_type` | integer | Type de bâti calculé (0-17) |
| `annee_construction` | integer | Année de construction |
| `periode_construction` | string | Période de construction |
| `surface_habitable` | number | Surface habitable en m² |
| `nombre_niveau_logement` | integer | Nombre de niveaux du logement |
| `hauteur_sous_plafond` | number | Hauteur sous plafond en m |
| `conso_energie` | number | Consommation énergétique totale en kWh/m²/an |
| `conso_chauffage` | number | Consommation chauffage en kWh/m²/an |
| `conso_ecs` | number | Consommation eau chaude sanitaire en kWh/m²/an |
| `conso_refroidissement` | number | Consommation refroidissement en kWh/m²/an |
| `conso_eclairage` | number | Consommation éclairage en kWh/m²/an |
| `emission_ges` | number | Émission totale de GES en kg CO2/m²/an |
| `emission_ges_chauffage` | number | Émission GES chauffage en kg CO2/m²/an |
| `emission_ges_ecs` | number | Émission GES eau chaude sanitaire en kg CO2/m²/an |
| `cout_total` | number | Coût total annuel en € |
| `cout_chauffage` | number | Coût annuel chauffage en € |
| `cout_ecs` | number | Coût annuel eau chaude sanitaire en € |
| `parcelles` | array | Liste des parcelles cadastrales |
| `municipalite` | object | Informations sur la commune |

*... et 1 autres champs*

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucun DPE trouvé

---


### 🔹 Endpoint 8: `GET /api/v1/dvfs`

**Résumé:** Rechercher des transactions immobilières (Demandes de Valeurs Foncières)

**Description:**

Permet de rechercher des transactions immobilières (DVF) par différents critères : coordonnées GPS, code postal, type de bien, valeur foncière, surfaces, dates de mutation, codes INSEE. Les résultats peuvent être retournés au format JSON ou GeoJSON avec pagination par curseur.

#### 📥 PARAMÈTRES

**Total:** 48 (0 requis, 48 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `code` | string | `-` | Identifiant interne unique de la transaction DVF. Accepte pl... |
| `code_type_bien` | string | `-` | Code du type de bien vendu. Accepte plusieurs valeurs séparé... |
| `valeur_fonciere_min` | number | `-` | Valeur foncière minimale de la transaction en euros.... |
| `valeur_fonciere_max` | number | `-` | Valeur foncière maximale de la transaction en euros.... |
| `surface_habitable_min` | number | `-` | Surface habitable minimale en m² (calculée selon le type de ... |
| `surface_habitable_max` | number | `-` | Surface habitable maximale en m² (calculée selon le type de ... |
| `surface_terrain_min` | number | `-` | Surface de terrain minimale en m².... |
| `surface_terrain_max` | number | `-` | Surface de terrain maximale en m².... |
| `date_mutation_min` | string | `-` | Date de mutation minimale (format AAAA-MM-JJ) - date de sign... |
| `date_mutation_max` | string | `-` | Date de mutation maximale (format AAAA-MM-JJ) - date de sign... |
| `nature_mutation` | string | `-` | Nature de la mutation. Accepte plusieurs valeurs séparées pa... |
| `vefa` | boolean | `-` | Indicateur VEFA (Vente en l'État Futur d'Achèvement).... |
| `nb_lots_min` | integer | `-` | Nombre minimal de lots dans la mutation... |
| `nb_lots_max` | integer | `-` | Nombre maximal de lots dans la mutation.... |
| `nb_parcelles_min` | integer | `-` | Nombre minimal de parcelles dans la mutation.... |
| `nb_parcelles_max` | integer | `-` | Nombre maximal de parcelles dans la mutation.... |
| `nb_locaux_min` | integer | `-` | Nombre minimal de locaux ayant muté.... |
| `nb_locaux_max` | integer | `-` | Nombre maximal de locaux ayant muté.... |
| `nb_maisons_min` | integer | `-` | Nombre minimal de maisons dans la mutation.... |
| `nb_maisons_max` | integer | `-` | Nombre maximal de maisons dans la mutation.... |

*... et 28 autres paramètres optionnels (voir documentation OpenAPI)*

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (25):**

| Champ | Type | Description |
|-------|------|-------------|
| `id_mutation` | string | Identifiant unique de la mutation |
| `date_mutation` | string | Date de signature de l'acte |
| `nature_mutation` | string | Nature de la mutation |
| `valeur_fonciere` | number | Prix de la transaction en euros |
| `vefa` | integer | Indicateur VEFA (0=Non, 1=Oui) |
| `code_type_bien` | integer | Code du type de bien |
| `libelle_type` | string | Libellé du type de bien |
| `bati_type` | integer | Type de bâti calculé (0-17) |
| `nb_dispositions` | integer | Nombre de dispositions |
| `nb_lots` | integer | Nombre de lots |
| `nb_parcelles` | integer | Nombre de parcelles |
| `nb_parcelles_mutees` | integer | Nombre de parcelles mutées |
| `nb_locaux` | integer | Nombre de locaux |
| `nb_maisons` | integer | Nombre de maisons |
| `nb_appartements` | integer | Nombre d'appartements |
| `nb_dependances` | integer | Nombre de dépendances |
| `nb_locaux_activite` | integer | Nombre de locaux d'activité |
| `surface_terrain` | number | Surface de terrain en m² |
| `surface_batie` | number | Surface bâtie totale en m² |
| `surface_maisons` | number | Surface des maisons en m² |
| `surface_appartements` | number | Surface des appartements en m² |
| `surface_activite` | number | Surface des locaux d'activité en m² |
| `parcelles` | array | Liste des parcelles concernées par la transaction |
| `municipalite` | object | Informations sur la commune |
| `centre` | object | Géométrie GeoJSON du point central |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune transaction trouvée

---


### 🔹 Endpoint 9: `GET /api/v1/plu`

**Résumé:** Rechercher des zones PLU avec leurs documents associés

**Description:**

Permet de rechercher des zones d'urbanisme (PLU) avec les documents et fichiers associés par différents critères : coordonnées GPS, code postal, type de zone, codes INSEE. Chaque zone retourne le document PLU parent et ses fichiers. Les résultats peuvent être retournés au format JSON ou GeoJSON avec pagination par curseur.

#### 📥 PARAMÈTRES

**Total:** 15 (0 requis, 15 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `zone` | string | `-` | Zone PLU principale. Accepte plusieurs valeurs séparées par ... |
| `type_zone` | string | `-` | Type de zone PLU spécifique (ex: UBa, AUs, U1e, N, etc.). Ac... |
| `code_postal` | string | `-` | Code postal (5 chiffres) pour filtrer les zones PLU... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher les zon... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher les zo... |
| `code_parcelle` | string | `-` | Code cadastral de la parcelle (Identifiant Cadastral - 14 ca... |
| `code_section` | string | `-` | Code de la section cadastrale (2 caractères). Accepte plusie... |
| `code_municipalite` | string | `-` | Code INSEE de la commune (5 chiffres).... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `zone` | Champ utilisé pour trier les résultats.... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant).... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 50.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (12):**

| Champ | Type | Description |
|-------|------|-------------|
| `titre` | string | Titre de la zone |
| `description` | string | Description longue de la zone |
| `type_zone` | string | Type de zone (U, AU, A, N, etc.) |
| `zone` | string | Zone (Uba, AUs, U1e etc.) |
| `surface` | number | Surface en m² |
| `perimetre` | number | Périmètre en m |
| `parcelles` | array | Liste des parcelles cadastrales dans la zone PLU (limitée à  |
| `documents` | object | Document PLU parent avec fichiers associés |
| `municipalite` | object | - |
| `centre` | object | Point central géographique (GeoJSON Point) |
| `bbox` | object | Boîte englobante (GeoJSON Polygon) |
| `contour` | object | Contour complet de la zone (GeoJSON Polygon/MultiPolygon) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucun PLU trouvé

---


### 🔹 Endpoint 10: `GET /api/v1/permis`

**Résumé:** Rechercher des permis de construire et autres autorisations d'urbanisme

**Description:**

Permet de rechercher des permis de construire et autres autorisations d'urbanisme par différents critères : coordonnées GPS, code postal, type, état, codes INSEE. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 64 (0 requis, 64 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `code` | string | `-` | Numéro du permis de construire ou d'une autre autorisation d... |
| `type_autorisation` | string | `-` | Type d'autorisation depuis le 1er Janvier 2013. Accepte plus... |
| `etat` | string | `-` | État d'avancement du projet depuis le 1er Janvier 2013. Acce... |
| `date_autorisation_min` | string | `-` | Date minimale d'autorisation (format AAAA-MM-JJ).... |
| `date_autorisation_max` | string | `-` | Date maximale d'autorisation (format AAAA-MM-JJ).... |
| `date_doc_min` | string | `-` | Date minimale d'ouverture de chantier (format AAAA-MM-JJ).... |
| `date_doc_max` | string | `-` | Date maximale d'ouverture de chantier (format AAAA-MM-JJ).... |
| `date_daact_min` | string | `-` | Date minimale d'achèvement des travaux (format AAAA-MM-JJ).... |
| `date_daact_max` | string | `-` | Date maximale d'achèvement des travaux (format AAAA-MM-JJ).... |
| `cat_dem` | string | `-` | Catégorie du demandeur du permis depuis le 1er Janvier 2013.... |
| `siren_dem` | string | `-` | Numéro SIREN du demandeur (9 chiffres). Accepte plusieurs va... |
| `rec_archi` | boolean | `-` | Indicateur de recours à un architecte.... |
| `zone_op` | string | `-` | Code zone opératoire. Accepte plusieurs valeurs séparées par... |
| `nature_projet` | string | `-` | Nature du projet depuis le 1er Janvier 2013. Accepte plusieu... |
| `extension` | boolean | `-` | Indicateur d'extension.... |
| `surelevation` | boolean | `-` | Indicateur de surélévation.... |
| `nivsupp` | boolean | `-` | Indicateur de création de niveau(x) supplémentaire(s).... |
| `nb_niv_max_min` | integer | `-` | Nombre minimal de niveaux du bâtiment le plus élevé.... |
| `nb_niv_max_max` | integer | `-` | Nombre maximal de niveaux du bâtiment le plus élevé.... |
| `utilisation` | string | `-` | Utilisation visée du bien après construction ou rénovation. ... |

*... et 44 autres paramètres optionnels (voir documentation OpenAPI)*

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (44):**

| Champ | Type | Description |
|-------|------|-------------|
| `code` | string | Numéro du permis de construire |
| `type_autorisation` | string | Type d'autorisation |
| `etat` | string | État d'avancement |
| `date_autorisation` | string | Date réelle d'autorisation du permis |
| `date_doc` | string | Date réelle de DOC (Déclaration d'Ouverture de Chantier) |
| `date_daact` | string | Date réelle de DAACT (Déclaration d'Achèvement et de Conform |
| `cat_dem` | integer | Catégorie du demandeur |
| `siren_dem` | string | Numéro SIREN du demandeur |
| `denomination_dem` | string | Dénomination du demandeur |
| `rec_archi` | boolean | Recours à un architecte |
| `zone_op` | integer | Code zone opératoire |
| `nature_projet` | integer | Nature du projet |
| `extension` | boolean | Indicateur d'extension |
| `surelevation` | boolean | Indicateur de surélévation |
| `nivsupp` | boolean | Indicateur de niveau(x) supplémentaire(s) |
| `nb_niv_max` | integer | Nombre de niveaux du bâtiment le plus élevé |
| `utilisation` | integer | Utilisation visée |
| `res_princip_ou_second` | integer | Type d'habitation |
| `type_annexe` | integer | Type d'annexe |
| `residence` | integer | Type de résidence |
| `nb_chambres` | integer | Nombre de chambres |
| `nb_lgt_ind_crees` | integer | Nombre de logements individuels créés |
| `nb_lgt_col_crees` | integer | Nombre de logements collectifs créés |
| `nb_lgt_demolis` | integer | Nombre de logements démolis |
| `nb_lgt_1p` | integer | Nombre de logements de 1 pièce |
| `nb_lgt_2p` | integer | Nombre de logements de 2 pièces |
| `nb_lgt_3p` | integer | Nombre de logements de 3 pièces |
| `nb_lgt_4p` | integer | Nombre de logements de 4 pièces |
| `nb_lgt_5p` | integer | Nombre de logements de 5 pièces |
| `nb_lgt_6p_plus` | integer | Nombre de logements de 6 pièces et plus |

*... et 14 autres champs*

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucun permis trouvé

---


### 🔹 Endpoint 11: `GET /api/v1/proprietaires`

**Résumé:** Rechercher des propriétaires (personnes morales)

**Description:**

Permet de rechercher des propriétaires personnes morales (entreprises, sociétés, etc.) par différents critères : SIREN, dénomination, code postal, parcelles cadastrales, codes INSEE. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 18 (0 requis, 18 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `siren` | string | `-` | Numéro SIREN du propriétaire (9 chiffres) - identifiant uniq... |
| `denomination` | string | `-` | Dénomination sociale du propriétaire (recherche par similari... |
| `code_droit` | string | `-` | Code de droit du propriétaire sur le bien. Accepte plusieurs... |
| `forme_juridique` | string | `-` | Code de la forme juridique de la société (ex: 5710 pour SAS,... |
| `type_bien` | integer | `-` | Type de bien possédé par le propriétaire.  **Liste complète ... |
| `code_postal` | string | `-` | Code postal (5 chiffres) pour filtrer les propriétaires par ... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher les pro... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher les pr... |
| `code_parcelle` | string | `-` | Code cadastral de la parcelle (Identifiant Cadastral - 14 ca... |
| `code_section` | string | `-` | Code de la section cadastrale (2 caractères). Accepte plusie... |
| `code_municipalite` | string | `-` | Code INSEE de la commune (5 chiffres).... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `siren` | Champ utilisé pour trier les résultats. Si vous triez sur 'd... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant).... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 50.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (19):**

| Champ | Type | Description |
|-------|------|-------------|
| `siren` | string | Numéro SIREN du propriétaire |
| `denomination` | string | Dénomination sociale du propriétaire |
| `code_droit` | string | Code de droit (P=Propriétaire, U=Usufruitier, etc.) |
| `libelle_code_droit` | string | Libellé lisible du code de droit |
| `forme_juridique` | string | Forme juridique complète de la société |
| `forme_juridique_abregee` | string | Code abrégé de la forme juridique |
| `type_bien` | string | Type de bien : LOCAL (bâti) ou PARCELLE (non-bâti) |
| `adresse_complete` | string | Adresse complète du bien (champ calculé) |
| `adresse_numero` | string | Numéro de voirie |
| `adresse_indice_repetition` | string | Indice de répétition (Bis, Ter, etc.) |
| `adresse_nature_voie` | string | Nature de la voie (rue, avenue, boulevard, etc.) |
| `adresse_nom_voie` | string | Nom de la voie |
| `identification_local` | object | Identification du local (uniquement pour type_bien=LOCAL) |
| `subdivision_fiscale` | string | Subdivision fiscale (uniquement pour type_bien=PARCELLE) |
| `subdivision_nature_culture` | string | Nature de culture de la subdivision fiscale (uniquement pour |
| `subdivision_superficie` | integer | Superficie de la subdivision fiscale en centiares (uniquemen |
| `parcelles` | array | Liste des parcelles cadastrales du propriétaire (limitée à 1 |
| `municipalite` | object | Informations sur la commune (première parcelle) |
| `centre` | object | Coordonnées du centre géographique de la première parcelle ( |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucun propriétaire trouvé

---


### 🔹 Endpoint 12: `GET /api/v1/coproprietes`

**Résumé:** Rechercher des copropriétés

**Description:**

Permet de rechercher des copropriétés immatriculées au registre national des copropriétés. Les résultats peuvent être filtrés par localisation (code postal, commune, parcelle), caractéristiques (nombre de lots, type de syndic) ou statut (mandat, arrêtés). Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 24 (0 requis, 24 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `immatriculation` | string | `-` | Numéro d'immatriculation de la copropriété au registre natio... |
| `nom` | string | `-` | Nom d'usage de la copropriété (recherche par similarité).... |
| `type_syndic` | string | `-` | Type de syndic gérant la copropriété. Accepte plusieurs vale... |
| `mandat` | string | `-` | Statut du mandat du syndic. Accepte plusieurs valeurs séparé... |
| `residence_service` | boolean | `-` | Résidence-services (article 41 de la loi du 10 juillet 1965)... |
| `syndic_cooperatif` | boolean | `-` | Syndicat coopératif (article 14 de la loi de 1965).... |
| `syndic_principal` | boolean | `-` | Syndicat principal (true) ou secondaire (false) selon l'arti... |
| `nb_lot_min` | integer | `-` | Nombre minimum de lots total.... |
| `nb_lot_max` | integer | `-` | Nombre maximum de lots total.... |
| `nb_lot_hab_min` | integer | `-` | Nombre minimum de lots d'habitation.... |
| `nb_lot_hab_max` | integer | `-` | Nombre maximum de lots d'habitation.... |
| `code_postal` | string | `-` | Code postal (5 chiffres) pour filtrer les copropriétés par l... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher les cop... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher les co... |
| `code_parcelle` | string | `-` | Code cadastral de la parcelle (Identifiant Cadastral - 14 ca... |
| `code_section` | string | `-` | Code de la section cadastrale (2 caractères). Accepte plusie... |
| `code_municipalite` | string | `-` | Code INSEE de la commune (5 chiffres).... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `immatriculation` | Champ utilisé pour trier les résultats. Si vous triez sur 'n... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant).... |

*... et 4 autres paramètres optionnels (voir documentation OpenAPI)*

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (29):**

| Champ | Type | Description |
|-------|------|-------------|
| `immatriculation` | string | Numéro d'immatriculation au registre national |
| `nom` | string | Nom d'usage de la copropriété |
| `epci` | string | Code EPCI (Établissement Public de Coopération Intercommunal |
| `type_syndic` | string | Type de syndic |
| `mandat` | string | Statut du mandat |
| `adresse_complete` | string | Adresse complète de la copropriété |
| `adresse_comp1` | string | Complément d'adresse 1 |
| `adresse_comp2` | string | Complément d'adresse 2 |
| `adresse_comp3` | string | Complément d'adresse 3 |
| `nb_adresse_comp` | integer | Nombre de compléments d'adresse |
| `date_reglement` | string | Date du règlement de copropriété |
| `residence_service` | boolean | Résidence-services |
| `syndic_cooperatif` | boolean | Syndicat coopératif |
| `syndic_principal` | boolean | Syndicat principal |
| `num_syndic_principal` | string | Numéro du syndicat principal si secondaire |
| `nb_asl` | integer | Nombre d'ASL |
| `nb_aful` | integer | Nombre d'AFUL |
| `nb_union` | integer | Nombre d'unions de syndicats |
| `nb_lot` | integer | Nombre total de lots |
| `nb_lot_hab_bur_com` | integer | Nombre de lots habitation/bureaux/commerces |
| `nb_lot_hab` | integer | Nombre de lots d'habitation |
| `nb_lot_stationement` | integer | Nombre de lots de stationnement |
| `nb_arrete_sante` | integer | Nombre d'arrêtés de mise en sécurité sanitaire |
| `nb_arrete_peril` | integer | Nombre d'arrêtés de péril |
| `nb_arrete_equipement` | integer | Nombre d'arrêtés d'équipement |
| `syndic` | object | Informations sur le syndic |
| `parcelles` | array | Liste des parcelles cadastrales (limitée à 10) |
| `municipalite` | object | Informations sur la commune |
| `centre` | object | Centre géographique (GeoJSON Point) |

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucune copropriété trouvée

---


### 🔹 Endpoint 13: `GET /api/v1/occupants`

**Résumé:** Rechercher des occupants (établissements/entreprises)

**Description:**

Permet de rechercher des occupants établissements (entreprises, commerces, etc.) présents sur les parcelles cadastrales par différents critères : SIRET, SIREN, dénomination, activité, code postal, parcelles cadastrales, codes INSEE. Les résultats peuvent être retournés au format JSON ou GeoJSON.

#### 📥 PARAMÈTRES

**Total:** 20 (0 requis, 20 optionnels)

##### ⚙️ Paramètres OPTIONNELS (Principaux)

| Paramètre | Type | Défaut | Description |
|-----------|------|--------|-------------|
| `siret` | string | `-` | Numéro SIRET de l'établissement (14 chiffres) - identifiant ... |
| `siren` | string | `-` | Numéro SIREN de l'entreprise (9 chiffres) - identifiant uniq... |
| `denomination_complete` | string | `-` | Dénomination complète de l'établissement (champ calculé - re... |
| `activite_principale` | string | `-` | Code d'activité principale NAF/APE (ex: 10.71C pour boulange... |
| `etat_administratif` | integer | `-` | État administratif de l'établissement.  **Liste complète des... |
| `etablissement_siege` | boolean | `-` | Filtre pour les établissements siège uniquement (true) ou no... |
| `tranche_effectifs` | string | `-` | Tranche d'effectifs salariés de l'établissement. Accepte plu... |
| `code_postal` | string | `-` | Code postal (5 chiffres) pour filtrer les occupants par loca... |
| `lat` | number | `-` | Latitude (en degrés décimaux, WGS84) pour rechercher les occ... |
| `lon` | number | `-` | Longitude (en degrés décimaux, WGS84) pour rechercher les oc... |
| `code_parcelle` | string | `-` | Code cadastral de la parcelle (Identifiant Cadastral - 14 ca... |
| `code_section` | string | `-` | Code de la section cadastrale (2 caractères). Accepte plusie... |
| `code_municipalite` | string | `-` | Code INSEE de la commune (5 chiffres).... |
| `champs` | array | `array` | Liste des champs souhaités dans la réponse (séparés par des ... |
| `champ_tri` | string | `siret` | Champ utilisé pour trier les résultats. Si vous triez sur 'd... |
| `ordre_tri` | string | `asc` | Direction du tri (ascendant ou descendant).... |
| `limite` | integer | `10` | Nombre de résultats par page. Par défaut: 10. Maximum: 50.... |
| `curseur` | string | `-` | Curseur de pagination pour accéder à la page suivante. Utili... |
| `format` | string | `json` | Format de réponse attendu : 'json' pour un tableau JSON simp... |
| `geometrie` | string | `centre` | Type de géométrie à utiliser pour la sortie géographique en ... |

#### 📤 RÉPONSES

##### Code 200

**Description:** Succès - Format varie selon le paramètre 'format' (geojson ou json)

**Champs retournés (35):**

| Champ | Type | Description |
|-------|------|-------------|
| `siret` | string | Numéro SIRET de l'établissement (14 chiffres) |
| `siren` | string | Numéro SIREN de l'unité légale (9 chiffres) |
| `nic` | string | Numéro interne de classement (5 chiffres) |
| `denomination_complete` | string | Dénomination complète de l'établissement - Champ calculé |
| `denomination_usuelle` | string | Dénomination usuelle (nom commercial) |
| `enseigne_1` | string | Première enseigne |
| `enseigne_2` | string | Deuxième enseigne |
| `enseigne_3` | string | Troisième enseigne |
| `activite_principale` | string | Code NAF/APE de l'activité principale |
| `activite_principale_registre_metiers` | string | Code activité du registre des métiers |
| `nomenclature_activite_principale` | string | Référentiel de l'APE (NAFRev2, etc.) |
| `categorie_activite` | string | Catégorie d'activité |
| `categorie_parent_activite` | string | Catégorie parent d'activité |
| `naf_section` | object | Section NAF (niveau 1) |
| `naf_division` | object | Division NAF (niveau 2) |
| `naf_groupe` | object | Groupe NAF (niveau 3) |
| `naf_classe` | object | Classe NAF (niveau 4) |
| `naf_sous_classe` | object | Sous-classe NAF (niveau 5) |
| `etat_administratif` | string | État : Actif ou Fermé |
| `caractere_employeur` | boolean | Indique si l'établissement est employeur |
| `tranche_effectifs` | integer | Tranche d'effectifs (0=0 salarié, 1=1 ou 2, 2=3 à 5, 3=6 à 9 |
| `annee_effectifs` | string | Année de référence des effectifs |
| `date_creation` | string | Date de création (AAAA-MM-JJ) |
| `date_debut` | string | Date de début de période (AAAA-MM-JJ) |
| `date_dernier_traitement` | string | Date de dernière modification (ISO 8601) |
| `etablissement_siege` | boolean | Indique si c'est le siège |
| `statut_diffusion` | integer | Statut de diffusion.  **Liste complète des statuts possibles |
| `adresse_complete` | string | Adresse complète |
| `adresse_numero` | integer | Numéro de voirie |
| `adresse_indice_repetition` | string | Indice de répétition (bis, ter, etc.) |

*... et 5 autres champs*

##### Code 400

**Description:** Requête invalide - Paramètres manquants ou incorrects

##### Code 401

**Description:** Non authentifié

##### Code 403

**Description:** Accès refusé - Quota API dépassé ou permissions insuffisantes

##### Code 404

**Description:** Aucun occupant trouvé

---


## 📊 RÉSUMÉ GLOBAL

### Endpoints par catégorie

| Catégorie | Nombre d'endpoints |
|-----------|-------------------|
| Géocodage | 3 |
| Parcelles | 4 |
| Territoires | 13 |
| **TOTAL** | **20** |


## 🔗 INDEX DES ENDPOINTS


### Géocodage
- `GET    /api/v1/geocoder/search`
  ↳ Rechercher des adresses par texte libre
- `GET    /api/v1/geocoder/ban/{identifiant_ban}`
  ↳ Rechercher une adresse par son identifiant BAN
- `GET    /api/v1/geocoder/coordinates`
  ↳ Rechercher une parcelle par coordonnées géographiques

### Parcelles
- `GET    /api/v1/parcelles/recherche`
  ↳ Recherche de parcelles avec filtres multiples
- `POST   /api/v1/parcelles/recherche`
  ↳ Recherche avancée de parcelles avec filtres configurables
- `GET    /api/v1/parcelles/{cadastre_id}`
  ↳ Obtenir une fiche parcelle complète par son identifiant cadastral
- `GET    /api/v1/parcelles/previsualisation/{cadastre_id}`
  ↳ Générer une prévisualisation SVG d'une parcelle

### Territoires
- `GET    /api/v1/regions`
  ↳ Rechercher des régions françaises
- `GET    /api/v1/departements`
  ↳ Rechercher des départements français
- `GET    /api/v1/municipalities`
  ↳ Rechercher des communes françaises
- `GET    /api/v1/sections`
  ↳ Rechercher des sections cadastrales
- `GET    /api/v1/quartiers`
  ↳ Rechercher des quartiers (IRIS)
- `GET    /api/v1/epci`
  ↳ Rechercher des EPCI (Établissements publics de coopération intercommunale)
- `GET    /api/v1/dpes`
  ↳ Rechercher des Diagnostics de Performance Énergétique (DPE)
- `GET    /api/v1/dvfs`
  ↳ Rechercher des transactions immobilières (Demandes de Valeurs Foncières)
- `GET    /api/v1/plu`
  ↳ Rechercher des zones PLU avec leurs documents associés
- `GET    /api/v1/permis`
  ↳ Rechercher des permis de construire et autres autorisations d'urbanisme
- `GET    /api/v1/proprietaires`
  ↳ Rechercher des propriétaires (personnes morales)
- `GET    /api/v1/coproprietes`
  ↳ Rechercher des copropriétés
- `GET    /api/v1/occupants`
  ↳ Rechercher des occupants (établissements/entreprises)

---

*Rapport généré automatiquement depuis docs-openapi.json*

