---
title: "Modifier ou clore un projet"
method: POST
path: "/projets/{id}"
---

# Modifier ou clore un projet

`POST /projets/{id}`

## Request

- Base URL: `https://pillr.fr/api/v1`
- URL: `https://pillr.fr/api/v1/projets/{id}`
- Auth: HTTP bearer

Modifie un projet du compte : titre, étape, adresse, faits (fusionnés, hors des clés réservées textes et urbanisme), échéances personnelles, clôture ou réouverture, et suivi d'un dépôt d'urbanisme (démarche revalidée et échéances calculées par le moteur du site, jamais reçues). Exige une clé rattachée à un compte Pillr. Coût : 0 crédit par appel réussi.

## Path parameters

- `id` string, uuid, required: Identifiant du projet.

## Request body

- object
  - `titre` string
  - `etape` string
  - `adresse` string, nullable
  - `clos` boolean: Vrai : clôt le projet ; faux : le rouvre.
  - `faits` object: Faits du projet à fusionner : une clé en snake_case, une valeur JSON ; null retire la clé.
  - `echeances` object[]: Échéances personnelles : remplacent les précédentes, celles d'un dépôt d'urbanisme restent.
    - `libelle` string, required
    - `date` string, required
  - `urbanisme` object
    - `demarche` object: La démarche établie par demarche_urbanisme, revalidée ici.
    - `date_depot` string, nullable: Date du dépôt, AAAA-MM-JJ ; null retire les échéances du dépôt.

## Response `200`

Écriture faite et débitée selon le barème.

- object
  - `projet` object, required
    - `id` string, uuid, required
    - `type` string, required
    - `titre` string, required
    - `etape` string, required
    - `annonce_id` string, nullable, required: Identifiant Pillr de l'annonce suivie.
    - `adresse` string, nullable, required
    - `faits` object, required: Faits du projet (clés libres ; textes et urbanisme sont réservés).
    - `echeances` object[], required
    - `clos_le` string, nullable, required: Horodatage ISO 8601.
    - `cree_le` string, nullable, required: Horodatage ISO 8601.
    - `maj_le` string, nullable, required: Horodatage ISO 8601.
    - `nb_conversations` integer, 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 ; Clé sans compte rattaché
- `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)
