---
title: "Démarche d'urbanisme d'un projet"
method: POST
path: "/urbanisme/demarche"
---

# Démarche d'urbanisme d'un projet

`POST /urbanisme/demarche`

## Request

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

Démarche d'urbanisme d'un projet de travaux décrit, sans adresse : formalité (aucune, déclaration préalable, permis de construire, d'aménager ou de démolir), formulaire Cerfa, architecte obligatoire ou non, pièces du dossier avec l'opération qui les prépare, délai d'instruction et valeur du silence de la mairie, taxe d'aménagement estimée (aux taux votés par la commune quand son code INSEE est donné, sinon en fourchette du barème légal) et redevance d'archéologie préventive, chaque conclusion avec sa règle et sa source, et la date de la base de règles. Un fait manquant revient en question, jamais en supposition. La zone du PLU et les servitudes ne sont pas lues : les protections du terrain se déclarent en paramètres (urbanisme_adresse les donne pour une adresse). Information générale, ni conseil juridique ni décision de la mairie. Coût : 1 crédit par appel réussi.

## Request body

- object
  - `type_travaux` 'construction_nouvelle' | 'travaux_existant' | 'transformation_garage' | 'piscine' | 'cloture' | 'mur' | 'aspect_exterieur' | 'pompe_a_chaleur' | 'ravalement' | 'changement_destination' | 'division' | 'demolition', required: Nature des travaux. Une annexe séparée est une construction_nouvelle ; une extension ou une véranda accolée, des travaux_existant.
  - `emprise_au_sol_creee_m2` number: Emprise au sol créée, en m² (un carport ou un garage compte même sans surface de plancher).
  - `surface_plancher_creee_m2` number: Surface de plancher créée, ou surface close transformée pour un garage, en m².
  - `hauteur_m` number: Hauteur de la construction ou du mur, en mètres.
  - `surface_plancher_existante_m2` number: Surface de plancher du bâtiment existant, en m².
  - `emprise_au_sol_existante_m2` number: Emprise au sol du bâtiment existant, en m².
  - `modifie_aspect_exterieur` boolean
  - `modifie_volume` boolean
  - `visible_espace_public` boolean
  - `bassin_m2` number: Piscine : surface du bassin, en m².
  - `hauteur_couverture_m` number: Piscine : hauteur de la couverture en mètres, 0 si non couverte.
  - `piscine_demontable` boolean
  - `duree_installation_mois` number: Piscine démontable : mois d'installation par an.
  - `duree_installation_jours` number: Piscine démontable en espace protégé : jours d'installation par an.
  - `deliberation_communale` boolean: La commune a soumis clôtures ou ravalements à déclaration par délibération.
  - `secteur_cloture_plu` boolean: Clôture dans un secteur délimité par le PLU.
  - `reparation_a_l_identique` boolean
  - `pac_visible` boolean: Pompe à chaleur visible depuis l'espace public, la voie ou les autres bâtiments.
  - `date_debut_travaux` string: Date de début des travaux, si elle est passée.
  - `ravalement_change_couleurs` boolean
  - `changement` 'destination' | 'sous_destination'
  - `travaux_structure_ou_facade` boolean
  - `equipements_communs` boolean: Division : création de voies, espaces ou équipements communs.
  - `date_depot` string: Division : date de dépôt prévue (par défaut, aujourd'hui).
  - `permis_demolir_institue` boolean
  - `restauration_immobiliere` boolean
  - `inclut_demolition` boolean
  - `demandeur` 'personne_physique' | 'exploitation_agricole' | 'societe': Qui dépose la demande (une SCI est une société).
  - `maison_individuelle` boolean
  - `serre_production` boolean
  - `hauteur_pied_droit_m` number: Serre : hauteur du pied-droit, en mètres.
  - `erp_ou_igh` boolean: Établissement recevant du public ou immeuble de grande hauteur.
  - `participation_du_public` boolean
  - `evaluation_environnementale` boolean
  - `spr` boolean: Terrain en site patrimonial remarquable.
  - `abords_monument_historique` boolean: Terrain aux abords d'un monument historique.
  - `site_classe` boolean
  - `site_inscrit` boolean
  - `reserve_naturelle` boolean
  - `element_protege_plu` boolean: Bâtiment ou élément protégé par le PLU.
  - `monument_historique` boolean: Travaux sur un monument historique.
  - `coeur_parc_national` boolean
  - `document_urbanisme` 'plu' | 'carte_communale' | 'rnu': Document d'urbanisme de la commune.
  - `zone_urbaine` boolean: Terrain en zone urbaine du PLU.
  - `surface_taxable_creee_m2` number: Taxe d'aménagement : surface taxable créée, en m².
  - `surface_taxable_existante_m2` number: Taxe d'aménagement : surface taxable existante, en m².
  - `places_stationnement_exterieures` number: Taxe d'aménagement : places de stationnement extérieures créées.
  - `residence_principale` boolean: Taxe d'aménagement : le projet porte sur la résidence principale ou ses annexes (abattement).
  - `affecte_sous_sol` boolean: Redevance d'archéologie préventive : les travaux affectent le sous-sol.
  - `code_insee` string: Commune du terrain, pour ses taux de taxe d'aménagement ; sans elle, l'estimation reste une fourchette du barème légal.
  - `taux_communal_pct` number: Taux communal de la taxe d'aménagement, en %, s'il est connu (il prime sur celui de la commune).
  - `taux_departemental_pct` number: Taux départemental de la taxe d'aménagement, en %, s'il est connu.

## Response `200`

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

- object
  - `statut` 'conclusion' | 'faits_manquants', required: faits_manquants : la formalité ou le permis ne peuvent pas être établis sans les réponses de questions.
  - `regles_a_jour_le` string, required: Date de vérification de la base de règles.
  - `projet` object, required
    - `type_travaux` 'construction_nouvelle' | 'travaux_existant' | 'transformation_garage' | 'piscine' | 'cloture' | 'mur' | 'aspect_exterieur' | 'pompe_a_chaleur' | 'ravalement' | 'changement_destination' | 'division' | 'demolition', required
    - `libelle` string, required
    - `faits` string[], required
  - `contexte` object, required
    - `document` 'plu' | 'carte_communale' | 'rnu', nullable, required
    - `zone_urbaine` boolean, nullable, required
    - `protections` object, required
      - `spr` boolean, nullable, required
      - `abords_monument_historique` boolean, nullable, required
      - `site_classe` boolean, nullable, required
      - `site_inscrit` boolean, nullable, required
      - `reserve_naturelle` boolean, nullable, required
      - `element_protege_plu` boolean, nullable, required
      - `monument_historique` boolean, nullable, required
      - `coeur_parc_national` boolean, nullable, required
    - `detection` string, required
    - `details` string[], required
  - `faits_manquants` string[], required
  - `questions` object[], required
    - `fait` string, required: Le paramètre qui reçoit la réponse.
    - `question` string, required
    - `options` object[], nullable, required
      - `libelle` string, required
      - `description` string, nullable, required
    - `choix_multiple` boolean, required
  - `formalite` object, nullable, required
    - `code` 'aucune' | 'declaration_prealable' | 'permis_de_construire' | 'permis_d_amenager' | 'permis_de_demolir', required
    - `libelle` string, required
    - `regle` string, required
    - `sources` string[], required
    - `a_confirmer` boolean, required
    - `notes` string[], required
  - `formalites_associees` object[], required
    - `regle` string, required
    - `sources` string[], required
    - `a_confirmer` boolean, required
    - `notes` string[], required
  - `cerfa` object, nullable, required
    - `numero` string, required
    - `libelle` string, required
    - `notes` string[], required
    - `sources` string[], required
  - `architecte` object, nullable, required
    - `obligatoire` boolean, nullable, required: null : ne se prononce pas (faits manquants ou cas hors de la base de règles).
    - `manque` string[], required
    - `regle` string, required
    - `sources` string[], required
    - `a_confirmer` boolean, required
    - `notes` string[], required
  - `pieces` object[], required
    - `code` string, nullable, required
    - `libelle` string, required
    - `condition` string, required
    - `exigee` 'oui' | 'selon_le_projet', required
    - `sources` string[], required
    - `a_confirmer` boolean, required
    - `operation` 'croquis_projet' | 'coupes_facades' | 'generer_document', nullable, required: L'opération de Pillr Data qui prépare la pièce ; null quand Pillr ne la prépare pas (photos, insertion).
  - `delai` object, nullable, required
    - `mois` number, nullable, required
    - `base_mois` number, nullable, required
    - `detail` string[], required
    - `prolongations_possibles` string[], required
    - `silence` 'acceptation' | 'refus', required: Ce que vaut le silence de la mairie au terme du délai.
    - `refus_tacite_si` string[], required
    - `sources` string[], required
    - `a_confirmer` boolean, required
  - `apres_decision` object[], required
    - `etape` string, required
    - `sources` string[], required
    - `a_confirmer` boolean, required
  - `depot_en_ligne` object[], required
    - `etape` string, required
    - `sources` string[], required
    - `a_confirmer` boolean, required
  - `taxe_amenagement` object, nullable, required: Taxe d'aménagement estimée, avec la redevance d'archéologie préventive ; null tant que la formalité n'est pas établie.
    - `statut` 'estimee' | 'non_due' | 'hors_calcul' | 'faits_manquants', required
    - `regle` string, required
    - `annee_valeurs` integer, required
    - `a_jour_le` string, required
    - `formule` string, required
    - `valeurs` object[], required
      - `libelle` string, required
      - `valeur` string, required
      - `sources` string[], required
    - `assiette` object[], required
      - `libelle` string, required
      - `calcul` string, required
      - `min` number, required
      - `max` number, required
      - `sources` string[], required
    - `assiette_min` number, required
    - `assiette_max` number, required
    - `parts` object[], required
      - `part` 'communale' | 'departementale' | 'regionale', required
      - `libelle` string, required
      - `taux` string, required
      - `taux_min` number, required
      - `taux_max` number, required
      - `montant_min` number, required
      - `montant_max` number, required
      - `source` string, required
      - `a_confirmer` boolean, required
    - `total_min` number, required: Taxe estimée, borne basse, en euros.
    - `total_max` number, required: Taxe estimée, borne haute, en euros.
    - `archeologie` object, nullable, required
      - `statut` 'due' | 'si_sous_sol' | 'non_due', required
      - `taux_pct` number, required
      - `montant_min` number, required
      - `montant_max` number, required
      - `regle` string, required
      - `sources` string[], required
    - `faits_manquants` string[], required
    - `notes` string[], required
    - `a_confirmer` boolean, required
    - `declaration` object[], required
      - `etape` string, required
      - `sources` string[], required
    - `sources` string[], required
    - `limites` 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.
  - `a_confirmer` boolean, required: Vrai si une conclusion est à faire confirmer par le service urbanisme de la mairie.
  - `notes_a_confirmer` string[], required
  - `limites` string[], required
  - `sources` string[], required
  - `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

---

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