---
title: "Dossier de dépôt"
method: POST
path: "/urbanisme/dossiers"
---

# Dossier de dépôt

`POST /urbanisme/dossiers`

## Request

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

Le dossier de dépôt en mairie d'un projet, établi dans l'appel : le croquis de la parcelle (comme croquis_projet), les coupes et façades quand les projets en portent les faits (comme coupes_facades), puis la formalité et le Cerfa retenus, les pièces dans l'ordre du bordereau avec leur code, leur rôle et leur état (prête, à produire par une opération, à fournir par le demandeur), ce qui manque, les alertes du croquis et les données du Cerfa à passer à l'opération cerfa. La réponse est une tâche (202) dont le résultat se lit ensuite. L'archive ZIP du dossier (pièces graphiques à l'échelle, Cerfa, bordereau) se fabrique dans le Hub : par l'API, chaque pièce se produit par son opération. Coût : 200 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: Les projets, décrits comme pour croquis_projet et, pour les coupes, comme pour coupes_facades.
    - `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
  - `maison_individuelle` boolean: Pour un permis de construire : le projet porte-t-il sur une maison individuelle ou ses annexes ? Le formulaire et les codes des pièces en dépendent.
  - `coupes` boolean: Faux : ne pas dessiner les coupes et façades dans l'appel. Par défaut, elles le sont dès qu'un projet porte ses faits de toiture, de hauteur des murs ou de niveau.
  - `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.
    - `statut` 'pret' | 'formalite_non_etablie' | 'aucune_formalite' | 'question_maison_individuelle', required: pret : la liste des pièces est établie ; sinon le message dit ce qui manque.
    - `message` string, nullable, required
    - `formalite` 'aucune' | 'declaration_prealable' | 'permis_de_construire' | 'permis_d_amenager' | 'permis_de_demolir', nullable, required
    - `libelle_formalite` string, nullable, required
    - `formalite_source` 'croquis' | 'demarche', nullable, required
    - `cerfa` object, nullable, required: Le formulaire retenu : il se pré-remplit par l'opération cerfa avec donnees_cerfa.
      - `numero` string, required
      - `libelle` string, required
      - `fichier` string, required
      - `url_officielle` string, required
    - `donnees_cerfa` object, required: Les faits du dossier pour le Cerfa (terrain, références cadastrales, nature des travaux, emprise) : l'entrée donnees de l'opération cerfa.
    - `cases_a_completer` object[], required
      - `rubrique` string, required
      - `libelle` string, required
      - `raison` string, required
    - `terrain` object, required
      - `adresse` string, nullable, required
      - `parcelle` string, required
      - `commune` string, nullable, required
      - `idu` string, required
    - `pieces` object[], required
      - `code` string, nullable, required: Code du bordereau (DPC1, PCMI2...).
      - `libelle` string, required
      - `role` string, required: Ce que la pièce doit montrer, d'après le bordereau du Cerfa.
      - `etat` 'prete' | 'a_completer' | 'a_produire' | 'a_fournir', required: prete : produite par Pillr depuis le croquis ou les coupes ; a_produire : par l'opération dite ; a_fournir : par le demandeur (photos, insertion).
      - `exigee` 'oui' | 'selon_le_projet', required
      - `a_confirmer` boolean, required
      - `complement` boolean, required: Joint hors bordereau (vue aérienne).
      - `consigne` string, nullable, required
      - `operation` 'croquis_projet' | 'coupes_facades' | 'generer_document', nullable, required: L'opération qui produit ou produirait la pièce.
      - `fichier` string, nullable, required: Nom du fichier de la pièce dans le dossier du Hub.
    - `manques` string[], required: Ce qui manque au dossier, dit en clair.
    - `alertes` string[], required: Points à corriger dans le croquis avant tout dépôt.
    - `notes` string[], required
    - `maison_individuelle` boolean, nullable, required
    - `coupes` object, required: Les coupes et façades dessinées dans l'appel, ou pourquoi elles ne l'ont pas été.
      - `dessinees` boolean, required
      - `refus` string, nullable, required
    - `archive` string, nullable, required: Nom de l'archive du dossier dans le Hub (statut pret).
    - `limites` string[], required
    - `genere_le` string, required
  - `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)
