---
title: "Coupes, façades et toitures"
method: POST
path: "/urbanisme/coupes"
---

# Coupes, façades et toitures

`POST /urbanisme/coupes`

## Request

- Base URL: `https://pillr.fr/api/v1`
- URL: `https://pillr.fr/api/v1/urbanisme/coupes`
- Auth: HTTP bearer

Le plan en coupe et le plan des façades et des toitures des projets d'un croquis, à l'échelle : terrain naturel lu en direct sur le RGE ALTI de l'IGN (altitudes NGF), hauteur maximale au-dessus du terrain, distances aux limites, surfaces de déblai et de remblai, toitures (plate, un ou deux pans), ouvertures et matériaux, silhouettes des bâtiments existants accolés. Les projets se décrivent comme pour croquis_projet, avec leurs niveaux, leur toiture et leurs ouvertures. Un fait manquant revient en question et le projet n'est pas dessiné ; si l'altimétrie de l'IGN ne répond pas, rien n'est dessiné ni débité. Coût : 20 crédits par appel réussi.

## Request body

- object
  - `adresse` string: Adresse en texte, numéro compris, géocodée par la Base Adresse Nationale.
  - `code_postal` string: Code postal, pour départager une adresse homonyme (avec adresse).
  - `idu` string: Identifiant de la parcelle cadastrale à 14 caractères (ex. 69382000AB0050).
  - `lat` number
  - `lon` number
  - `recul_limites_m` number: Implantation automatique : recul aux limites, en mètres (sinon celui du règlement lu, ou le défaut).
  - `distance_min_batiments_m` number
  - `distance_max_maison_m` number
  - `choix_implantation` 'A' | 'B' | 'C': Implantation automatique : l'emplacement retenu, A, B ou C.
  - `formalite` 'aucune' | 'declaration_prealable' | 'permis_de_construire' | 'permis_d_amenager' | 'permis_de_demolir': Formalité annoncée : jamais crue, comparée à celle que le croquis établit.
  - `demandeur` 'personne_physique' | 'exploitation_agricole' | 'societe'
  - `surface_plancher_creee_m2` number
  - `surface_plancher_totale_apres_travaux_m2` number
  - `emprise_au_sol_totale_apres_travaux_m2` number
  - `annotations` object[]: Éléments du plan : arbres, accès, stationnement, réseaux, points de vue des photos.
    - `type` 'arbre' | 'acces' | 'stationnement' | 'reseau' | 'vue_photo', required
    - `position_wgs84` unknown[]
      - unknown
    - `etat` 'conserve' | 'abattu' | 'plante'
    - `diametre_m` number
    - `azimut_deg` number: Orientation, 0 au nord, 90 à l'est.
    - `nature` 'vehicule' | 'pieton'
    - `largeur_m` number
    - `longueur_m` number
    - `reseau` 'eau' | 'electricite' | 'assainissement'
    - `trace_wgs84` array[]
      - unknown[]
        - unknown
    - `numero` integer
    - `piece` 'proche' | 'lointain'
  - `projets` object[], required
    - `nature` 'extension' | 'annexe' | 'abri' | 'garage' | 'carport' | 'piscine' | 'terrasse' | 'veranda' | 'autre', required: Nature du projet.
    - `libelle` string
    - `largeur_m` number: Largeur, le long du côté de référence, en mètres.
    - `profondeur_m` number: Profondeur, en mètres.
    - `hauteur_m` number: Hauteur totale en mètres ; 0 pour un ouvrage au niveau du sol.
    - `ancrage` 'accole_batiment' | 'depuis_limite' | 'auto' | 'libre': accole_batiment : contre un côté du bâtiment principal ; depuis_limite : à une distance d'une limite ; auto : trois emplacements proposés ; libre : contour donné.
    - `cote` 'nord' | 'sud' | 'est' | 'ouest': Côté visé (bâtiment ou limite) : nord, sud, est, ouest.
    - `distance_limite_m` number: Distance à la limite, en mètres (ancrage depuis_limite).
    - `decalage_m` number: Décalage le long du côté, en mètres.
    - `calage` 'centre' | 'extremite_ouest_sud' | 'extremite_est_nord'
    - `hauteur_couverture_m` number: Piscine : hauteur de la couverture en mètres, 0 si non couverte.
    - `demontable` boolean: Piscine démontable (hors sol).
    - `contour_wgs84` array[]: Ancrage libre : les quatre coins [lon, lat], tels que le croquis les rend.
      - unknown[]
        - unknown
    - `sens_coupe` 'perpendiculaire_au_cote' | 'parallele_au_cote' | 'nord_sud' | 'est_ouest'
    - `facades` 'principale_et_laterale' | 'toutes'
    - `profondeur_bassin_m` number
    - `niveau_margelle_m` number
    - `largeur_margelle_m` number
    - `largeur_plage_m` number
    - `niveau_terrasse_m` number
    - `niveau_plancher_m` number
    - `toiture` 'plate' | 'un_pan' | 'deux_pans'
    - `hauteur_murs_m` number
    - `hauteur_faitage_m` number
    - `pente_toiture_deg` number
    - `sens_faitage` 'parallele_au_cote' | 'perpendiculaire_au_cote'
    - `pan_haut` 'cote_reference' | 'cote_oppose'
    - `materiaux` object
      - `murs` string
      - `toiture` string
      - `menuiseries` string
    - `ouvertures` object[]
      - `type` 'porte' | 'fenetre' | 'baie' | 'porte_garage', required
      - `facade` 'nord' | 'sud' | 'est' | 'ouest', required
      - `largeur_m` number
      - `hauteur_m` number
      - `position_m` number: Position depuis l'extrémité gauche de la façade vue de l'extérieur, en mètres.
      - `allege_m` number: Hauteur d'allège depuis le plancher, en mètres.
      - `libelle` string
      - `materiau` string
      - `couleur` string
  - `pieces` string[]: Pièces à dessiner : coupe, facades, ou les deux (défaut).

## Response `200`

Réponse servie et débitée (sauf réponse identique déjà servie dans les 24 h).

- object
  - `adresse` object, nullable, required
    - `libelle` string, required
    - `lat` number, required
    - `lon` number, required
    - `precision` string, required
  - `origine` object, required
    - `lat` number, required
    - `lon` number, required
  - `parcelle` object, required
    - `idu` string, required
    - `section` string, nullable, required
    - `numero` string, nullable, required
    - `commune` string, nullable, required
    - `code_insee` string, nullable, required
    - `contour` array[], required
      - array[]
        - number[]
  - `batiments` object[], required
  - `projets` object[], required: Projets et leurs altitudes NGF, toitures, ouvertures et mesures.
  - `coupes` object[], required: Plans en coupe : terrain naturel (RGE ALTI), projet, hauteur maximale au-dessus du terrain, distances aux limites, déblai et remblai.
  - `facades` object[], required: Façades et toitures, ouvertures et matériaux.
  - `feuilles` object[], required: Feuilles à l'échelle, prêtes à imprimer.
  - `refus` object, nullable, required
    - `raison` string, required
    - `a_confirmer` boolean, required
  - `formalite_derivee` 'aucune' | 'declaration_prealable' | 'permis_de_construire' | 'permis_d_amenager' | 'permis_de_demolir', nullable, required
  - `faits_manquants` string[], required
  - `questions` object[], required
  - `constats` string[], required
  - `a_confirmer` string[], required
  - `sources` string[], required
  - `limites` string[], required
  - `mention` string, required
  - `genere_le` string, required
  - `qualite` object, required: Ce qui permet de juger la valeur : nombre, provenance, incertitude, drapeaux, date et source.
    - `n` integer, nullable, required: Nombre d'observations derrière la valeur ; null si sans objet.
    - `provenance` 'mesure' | 'estime', nullable, required: mesure : observé sur la donnée ; estime : modèle, barème ou imputation ; null : sans objet.
    - `incertitude` object, nullable, required: Incertitude de la valeur : fourchette et demi-largeur.
      - `demi_largeur_pct` number, nullable, required: Demi-largeur de la fourchette, en % de la valeur.
      - `bas` number, nullable, required
      - `haut` number, nullable, required
    - `drapeaux` string[], required: Ce qui doit faire lire la valeur avec prudence ; vide si rien.
    - `methode` string, nullable, required: Méthode de calcul ou de rattachement, en clair.
    - `donnees_du` string, nullable, required: Date de la donnée (AAAA-MM-JJ ou horodatage ISO 8601).
    - `source` string, required: Source publique ou moteur Pillr, en clair.
  - `credits` object, required: Crédits débités par cet appel (réservés, pour une tâche en cours), et crédits encore utilisables ce mois avant la coupure : crédits offerts, crédits inclus du mois et crédits facturables sous le plafond de dépense (null si inconnus ou en bac à sable).
    - `debites` integer, required
    - `restants` integer, nullable, required

## Other responses

- `400`: Paramètres invalides
- `401`: Clé d'API absente
- `402`: Crédits insuffisants ; Carte requise ; Plafond mensuel de dépense atteint
- `403`: Portée insuffisante
- `404`: Ressource absente : rien n'est débité
- `429`: Trop de requêtes par minute
- `500`: Erreur interne
- `503`: API indisponible ; Donnée momentanément indisponible

---

[API](https://skmtc.dev/pillr/apis/api-pillr.md) · [All operations](https://skmtc.dev/pillr/apis/api-pillr/llms.txt) · [OpenAPI document](https://skmtc.dev/pillr/apis/api-pillr/revisions/218b2866bd6c?raw)
