---
title: "Modifier le profil investisseur"
method: POST
path: "/compte/profil"
---

# Modifier le profil investisseur

`POST /compte/profil`

## Request

- Base URL: `https://pillr.fr/api/v1`
- URL: `https://pillr.fr/api/v1/compte/profil`
- Auth: HTTP bearer

Crée ou met à jour le profil investisseur de l'utilisateur de la clé, champ par champ : seuls les champs fournis changent, mêmes bornes que le formulaire du site. Rend le profil à jour. Exige une clé rattachée à un compte Pillr. Coût : 0 crédit par appel réussi.

## Request body

- object
  - `strategie` 'cashflow' | 'patrimoine' | 'mixte' | 'lcd'
  - `budget_total` integer, nullable
  - `budget_par_bien` integer, nullable
  - `apport_pct` integer
  - `apport_eur` integer, nullable
  - `regions` string[]
  - `villes` string[]
  - `departements` string[]
  - `partout` boolean
  - `types` string[]
  - `surface_min` integer, nullable
  - `surface_max` integer, nullable
  - `pieces_min` integer, nullable
  - `dpe_max` 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G', nullable
  - `tolerance_travaux` 'aucun' | 'legers' | 'moderes' | 'lourds'
  - `rendement_min` number, nullable
  - `score_min` integer, nullable
  - `objectifs` object
    - `nb_biens` integer, nullable
    - `horizon_ans` integer, nullable
    - `revenu_mensuel` integer, nullable
  - `tmi_pct` integer, nullable
  - `profil_pro` object, nullable
    - `metier` string, nullable
    - `reseau` string, nullable
    - `secteurs` string[]
  - `notifications` object
    - `par_courrier_electronique` boolean
    - `tableau_de_bord` boolean
    - `baisses` boolean
    - `negociation` boolean
    - `comparables` boolean
    - `apres_travaux` boolean
    - `tendances_zone` boolean

## Response `200`

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

- object
  - `existe` boolean, required: Faux tant que le compte n'a pas de profil investisseur ; les autres champs valent alors null.
  - `strategie` string, nullable, required: cashflow, patrimoine, mixte ou lcd (courte durée).
  - `budget_total` number, nullable, required
  - `budget_par_bien` number, nullable, required
  - `apport_pct` number, nullable, required
  - `apport_eur` number, nullable, required
  - `regions` string[], required
  - `villes` string[], required
  - `departements` string[], required
  - `partout` boolean, nullable, required: Vrai : ouvert à toute la France.
  - `types` string[], required: appartement, maison.
  - `surface_min` number, nullable, required
  - `surface_max` number, nullable, required
  - `pieces_min` number, nullable, required
  - `dpe_max` string, nullable, required
  - `tolerance_travaux` string, nullable, required: aucun, legers, moderes ou lourds.
  - `rendement_min` number, nullable, required
  - `score_min` number, nullable, required
  - `objectifs` object, required
    - `nb_biens` number, nullable, required
    - `horizon_ans` number, nullable, required
    - `revenu_mensuel` number, nullable, required
  - `tmi_pct` number, nullable, required
  - `profil_pro` object, nullable, required: Profil professionnel déclaré : métier, réseau, secteurs travaillés.
    - `metier` string, nullable, required
    - `reseau` string, nullable, required
    - `secteurs` string[], required
  - `notifications` object, required
    - `par_courrier_electronique` boolean, nullable, required
    - `tableau_de_bord` boolean, nullable, required
    - `baisses` boolean, nullable, required
    - `negociation` boolean, nullable, required
    - `comparables` boolean, nullable, required
    - `apres_travaux` boolean, nullable, required
    - `tendances_zone` boolean, nullable, required
  - `cree_le` string, nullable, required: Horodatage ISO 8601.
  - `maj_le` string, nullable, required: Horodatage ISO 8601.
  - `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

---

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