---
title: "Règlement du PLU lu et cité"
method: POST
path: "/urbanisme/reglements"
---

# Règlement du PLU lu et cité

`POST /urbanisme/reglements`

## Request

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

Les règles écrites du règlement de la zone du PLU ou du PLUi d'une adresse (clé BAN, adresse en texte ou point), par thème : voies, limites séparatives, distances entre constructions, emprise au sol, hauteur, piscines, annexes, stationnement, espaces verts, aspect et clôtures. Chaque règle porte sa valeur ou sa formule, son article, sa page et la citation exacte retrouvée dans le texte du PDF ; une règle dont la citation n'est pas retrouvée est écartée, jamais affirmée. La réponse donne aussi les définitions du lexique, les renvois et les thèmes non trouvés. Une zone déjà lue vient du cache des lectures de Pillr ; sinon le règlement est lu par un modèle, ce qui prend de l'ordre d'une minute : la réponse est une tâche (202) dont le résultat se lit ensuite. Une lecture nouvelle est bornée par le débit du serveur. Sans règlement à lire (commune au RNU, carte communale, aucun PDF publié), rien n'est débité. Seul un certificat d'urbanisme engage la commune. Coût : 60 crédits par appel réussi.

## Request body

- object
  - `cle_ban` string: Clé d'interopérabilité de la Base Adresse Nationale, ex. 69383_1234_00012.
  - `q` 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 q).
  - `lat` number: Latitude d'un point, avec lon.
  - `lon` number: Longitude d'un point, avec lat.
  - `themes` string[]: Thèmes à rendre ; par défaut, tous.
  - `nature_projet` 'maison' | 'extension' | 'veranda' | 'annexe' | 'abri' | 'garage' | 'carport' | 'piscine' | 'terrasse' | 'cloture' | 'autre': Nature du projet : les règles propres à cet objet d'abord, puis celles de toutes les constructions.
  - `attendre` integer: Secondes d'attente de la fin de la tâche avant de répondre (60 au plus).
  - `webhook` string: URL https appelée à la fin de la tâche, signée (Pillr-Signature).

## Response `200`

Tâche terminée (resultat) ou échouée (erreur, crédits rendus).

- object
  - `tache` object, required: La tâche asynchrone.
    - `id` string, required: Identifiant de la tâche, à passer à l'opération de résultat.
    - `operation` string, required
    - `statut` 'en_attente' | 'en_cours' | 'terminee' | 'echouee', required: en_attente, en_cours, terminee (resultat rempli) ou echouee (erreur remplie, crédits rendus).
    - `cree_le` string, required
    - `termine_le` string, nullable, required
    - `expire_le` string, required: Date au-delà de laquelle le résultat n'est plus conservé.
    - `resultat_url` string, required: Chemin de lecture du résultat (GET).
  - `resultat` object, nullable, required: La sortie de l'opération, quand la tâche est terminée ; null sinon.
    - `adresse` object, required
      - `libelle` string, required
      - `insee` string, nullable, required
      - `precision` string, required: Précision du point (numero, voie, lieu_dit, point, autre).
      - `lat` number, required
      - `lon` number, required
    - `statut` 'lu' | 'scanne' | 'zone_absente', required: lu : règles extraites et vérifiées ; scanne : PDF sans texte, rien n'est affirmé ; zone_absente : la zone n'est pas dans ce règlement.
    - `message` string, nullable, required
    - `zone` object, required
      - `code` string, nullable, required
      - `libelle` string, nullable, required
      - `type_document` string, nullable, required
      - `document` string, nullable, required
      - `approuve_le` string, nullable, required
    - `autres_zones` string[], required: Autres zones qui touchent le point : une parcelle en limite peut relever de plusieurs règlements.
    - `reglement_url` string, nullable, required
    - `filtre` object, required
      - `themes` string[], required
      - `nature_projet` 'maison' | 'extension' | 'veranda' | 'annexe' | 'abri' | 'garage' | 'carport' | 'piscine' | 'terrasse' | 'cloture' | 'autre', nullable, required
    - `regles` object[], required
      - `theme` 'voies' | 'limites_separatives' | 'entre_constructions' | 'emprise_sol' | 'hauteur' | 'piscines' | 'annexes' | 'stationnement' | 'espaces_verts' | 'aspect_clotures', required
      - `objets` string[], required: Ce que vise la règle ; vide : toutes les constructions.
      - `secteurs` string[], required: Secteurs visés, tels qu'écrits ; vide : toute la zone.
      - `exceptions` string, nullable, required
      - `forme` string, required: distance_min, formule_hauteur, limite_ou_recul, plafond, pourcentage_max, pourcentage_min, minimum, interdit, non_reglemente, qualitatif.
      - `valeur` number, nullable, required
      - `unite` string, nullable, required
      - `diviseur` number, nullable, required: Formule : distance au moins égale à la hauteur divisée par ce nombre.
      - `minimum_m` number, nullable, required
      - `conditions` string, nullable, required
      - `mesure` string, nullable, required: Comment la valeur se mesure (à l'égout du toit, au faîtage...).
      - `resume` string, required
      - `citation` string, required: Le passage exact du règlement, retrouvé dans le texte du PDF.
      - `article` string, nullable, required
      - `page` integer, required: Page du PDF où la citation a été retrouvée (1 : première page du fichier).
      - `a_confirmer` boolean, required: Citation retrouvée hors du chapitre de la zone : règle à confirmer dans le règlement.
      - `reserves` string[], required: Ce que la citation ne prouve pas.
      - `lien` string, nullable, required: Lien qui ouvre le PDF du règlement à la page de la citation.
      - `portee` 'specifique' | 'generale', nullable, required: Pour une nature de projet : règle propre à cet objet, ou valable pour toutes les constructions.
    - `definitions` object[], required
      - `terme` string, required
      - `resume` string, required
      - `citation` string, required: Le passage exact du règlement, retrouvé dans le texte du PDF.
      - `page` integer, required
      - `a_confirmer` boolean, required
      - `lien` string, nullable, required: Lien qui ouvre le PDF du règlement à la page de la citation.
    - `renvois` object[], required
      - `vers` string, required
      - `objet` string, required
      - `citation` string, required: Le passage exact du règlement, retrouvé dans le texte du PDF.
      - `page` integer, required
      - `a_confirmer` boolean, required
      - `lien` string, nullable, required: Lien qui ouvre le PDF du règlement à la page de la citation.
    - `non_trouve` object[], required
      - `theme` 'voies' | 'limites_separatives' | 'entre_constructions' | 'emprise_sol' | 'hauteur' | 'piscines' | 'annexes' | 'stationnement' | 'espaces_verts' | 'aspect_clotures', required
      - `raison` string, required
    - `citations_ecartees` integer, required: Règles, définitions et renvois écartés : citation introuvable dans le texte, ou valeur absente de la citation.
    - `lecture` object, nullable, required
      - `modele` string, required
      - `extrait_le` string, required
      - `pages_pdf` integer, required
      - `depuis_cache` boolean, 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.
  - `erreur` object, nullable, required: Pourquoi la tâche a échoué ; null sinon.
    - `code` string, required
    - `detail` 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

- `202`: Tâche acceptée, pas encore terminée : lire le résultat à l'adresse de l'en-tête Location (ou attendre avec le paramètre attendre).
- `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 ; Trop de tâches en cours
- `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)
