{"openapi":"3.1.0","info":{"title":"CADA — API Immobilier France","version":"1.0.0","description":"API de calcul immobilier français. 41 simulateurs couvrant la rentabilité, le financement, la fiscalité, la transmission et les dispositifs de défiscalisation.\n\n**Prospection foncière :** les terrains suivis depuis l'outil Analyse PLU et leurs actions sont lisibles et modifiables sous `/api/v1/prospection/*`.\n\n**Données :** cadastre, DVF, DPE, zonage, permis, loyers, sociétés et estimation sous `/api/v1/donnees/*`.\n\n**Crédits :** chaque appel consomme un nombre de crédits fonction de son coût — 1 pour un calcul ou une parcelle, 3 pour des mutations ou des propriétaires, 40 pour une estimation ou un loyer de marché. L'en-tête `X-Usage-Poids` rappelle le débit de l'appel.\n\n**Free tier :** 1 000 crédits/mois sans carte bancaire.\n\n**Authentification :** Header `Authorization: Bearer cada_xxx`\n\n**Base URL :** `https://www.cadaimmo.com`","contact":{"name":"CADA","url":"https://www.cadaimmo.com","email":"contact@cadaimmo.com"}},"servers":[{"url":"https://www.cadaimmo.com","description":"Production"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Rendement & Marché","description":"Outils de la catégorie rendement & marché."},{"name":"Financement","description":"Outils de la catégorie financement."},{"name":"Fiscalité","description":"Outils de la catégorie fiscalité."},{"name":"Transmission","description":"Outils de la catégorie transmission."},{"name":"Stratégie","description":"Outils de la catégorie stratégie."},{"name":"Dispositifs fiscaux","description":"Outils de la catégorie dispositifs fiscaux."},{"name":"Construction & DPE","description":"Outils de la catégorie construction & dpe."},{"name":"Prospection","description":"Terrains suivis et actions de prospection foncière (outil Analyse PLU)."},{"name":"Données","description":"Les bases de données CADA : cadastre, DVF, DPE, zonage d'urbanisme, permis, loyers, sociétés, copropriétés, estimation."}],"paths":{"/api/v1/tools/rentabilite-locative":{"post":{"operationId":"rentabilite-locative","summary":"Rentabilité locative","description":"Calcule la rentabilité brute, nette et nette-nette d'un investissement locatif.","tags":["Rendement & Marché"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","description":"Origine du bien : achat, donation ou succession"},"prix":{"type":"number","description":"Prix d'achat du bien (€)"},"fraisNotaire":{"type":"number","description":"Frais de notaire (€)"},"travaux":{"type":"number","description":"Budget travaux (€)"},"loyerMensuel":{"type":"number","description":"Loyer mensuel hors charges (€)"},"chargesMensuelles":{"type":"number","description":"Charges mensuelles non récupérables (€)"},"taxeFonciere":{"type":"number","description":"Taxe foncière annuelle (€)"},"vacance":{"type":"number","description":"Taux de vacance locative (%)"},"tmi":{"type":"number","description":"Tranche marginale d'imposition (%)"},"apport":{"type":"number","description":"Apport personnel (€)"},"impotMode":{"type":"string","description":"Liquidation de l'impôt : bareme (défaut, barème progressif du foyer, art. 197 CGI) ou tmi (repli au taux plat saisi)","default":"bareme"},"foyerSituation":{"type":"string","description":"Barème : celibataire ou couple","default":"celibataire"},"foyerEnfants":{"type":"number","description":"Barème : enfants à charge (quotient familial)","default":0},"foyerRevenuImposable":{"type":"number","description":"Barème : revenu net imposable annuel du foyer hors ce bien (€)","default":0},"financeMode":{"type":"string","description":"avec-pret ou comptant (aucun prêt)","default":"avec-pret"},"tauxEmprunt":{"type":"number","description":"Taux d'emprunt nominal annuel (%)","default":0},"tauxAssurance":{"type":"number","description":"Taux d'assurance emprunteur ADI (%/an)","default":0},"dureeEmprunt":{"type":"number","description":"Durée d'emprunt (années)","default":0},"fraisDossier":{"type":"number","description":"Frais de dossier bancaires (€)","default":0},"fraisCourtage":{"type":"number","description":"Honoraires de courtage (€)","default":0},"typeGarantie":{"type":"string","description":"Garantie du prêt : aucune, caution, hypotheque ou ppd (hypothèque légale spéciale du prêteur de deniers)","default":"aucune"},"fraisFinances":{"type":"boolean","description":"Frais bancaires ajoutés au capital emprunté (true) ou payés comptant (false)","default":true},"revaloLoyerPct":{"type":"number","description":"Revalorisation du loyer (%/an)","default":1},"revaloChargesPct":{"type":"number","description":"Revalorisation des charges et de la taxe foncière (%/an)","default":1},"revaloPrixPct":{"type":"number","description":"Appréciation du bien (%/an)","default":1},"dureeProjection":{"type":"number","description":"Horizon de projection (années, max 30). Par défaut la durée du prêt, sinon 20"},"fraisReventePct":{"type":"number","description":"Frais de revente (% du prix de vente)","default":7},"tauxActualisation":{"type":"number","description":"Taux d'actualisation pour la VAN (%/an)","default":4},"tauxPlacement":{"type":"number","description":"Taux du placement alternatif comparé (%/an)","default":3},"regimeFiscal":{"type":"string","description":"foncierMicro, foncierReel, lmnpMicro, lmnpMicroTourisme, lmnpReel, sciIR ou sciIS","default":"foncierReel"},"surface":{"type":"number","description":"Surface habitable (m²) — plafond Denormandie 5 500 €/m²","default":0},"denormandieDuree":{"type":"number","description":"Engagement Denormandie : 0 (aucun), 6, 9 ou 12 ans — raccourci historique, équivaut à dispositif=denormandie","default":0},"dispositif":{"type":"string","description":"Dispositif engagé : aucun, jeanbrunNeuf, jeanbrunAncien, amortissementLmnp, denormandie, pinel, malraux, monumentsHistoriques, girardin, lli","default":"aucun"},"dispositifNiveauJeanbrun":{"type":"string","description":"Jeanbrun : niveau de loyer engagé (lli, social, tres_social)","default":"lli"},"dispositifDureeDenormandie":{"type":"number","description":"Denormandie : engagement de location (6, 9 ou 12 ans)","default":9},"dispositifZoneMalraux":{"type":"string","description":"Malraux : secteur (psmv = 30 %, avap = 22 %)","default":"psmv"},"dispositifDureeMalraux":{"type":"number","description":"Malraux : années d'étalement des travaux (1 à 4)","default":4},"dispositifZone":{"type":"string","description":"Zone du bien (Abis, A, B1, B2, C) — contrôle du plafond de loyer du dispositif"},"surfaceAnnexes":{"type":"number","description":"Surface des annexes retenue pour la surface utile (m²)","default":0},"anneeAcquisition":{"type":"number","description":"Année d'acquisition — conditionne l'éligibilité du dispositif (fenêtre Jeanbrun 2026-2028)"},"honoraireGestion":{"type":"number","description":"Honoraires de gestion locative (€/an)","default":0},"honoraireGli":{"type":"number","description":"Prime GLI (€/an)","default":0},"honoraireComptable":{"type":"number","description":"Honoraires comptables (€/an, régimes réels)","default":0},"valeurVenale":{"type":"number","description":"Valeur vénale retenue en donation/succession (€)","default":0},"lienParente":{"type":"string","description":"Lien de parenté en donation/succession","default":"ligne_directe"},"donationAnterieure":{"type":"number","description":"Abattement déjà consommé par des donations < 15 ans (€)","default":0}},"required":["mode","prix","fraisNotaire","travaux","loyerMensuel","chargesMensuelles","taxeFonciere","vacance","tmi","apport"]},"example":{"mode":"achat","prix":200000,"fraisNotaire":15000,"travaux":0,"loyerMensuel":900,"chargesMensuelles":80,"taxeFonciere":1200,"vacance":5,"tmi":30,"apport":20000,"tauxEmprunt":3.5,"tauxAssurance":0.34,"dureeEmprunt":20,"regimeFiscal":"foncierReel"}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"rendementBrut":{"type":"number","description":"Rendement brut (%)"},"rendementNet":{"type":"number","description":"Rendement net de charges (%)"},"rendementNetVacance":{"type":"number","description":"Rendement net après vacance locative (%)"},"rendementNetNet":{"type":"number","description":"Rendement net après impôt (%)"},"cashflowAnnuel":{"type":"number","description":"Cashflow annuel après impôt, hors mensualité (€)"},"cashflowMensuel":{"type":"number","description":"Cashflow mensuel après impôt, hors mensualité (€)"},"cashflowAnnuelAvecCredit":{"type":"number","description":"Cashflow annuel après impôt et mensualité (€)"},"cashflowMensuelAvecCredit":{"type":"number","description":"Cashflow mensuel après impôt et mensualité (€)"},"cashOnCash":{"type":"number","description":"Rendement de l'apport investi (%)"},"impotAnnuel":{"type":"number","description":"Impôt annuel estimé (€, négatif = économie via déficit foncier)"},"deficitFoncierImpute":{"type":"number","description":"Déficit foncier imputé sur le revenu global (€, ≤ 10 700/an)"},"deficitReportable":{"type":"number","description":"Déficit foncier reportable sur revenus fonciers (€, 10 ans)"},"deficitEconomieImpot":{"type":"number","description":"Économie d'impôt sur le revenu procurée par le déficit imputé (€)"},"mensualitePret":{"type":"number","description":"Mensualité capital + intérêts (€)"},"mensualiteAdi":{"type":"number","description":"Prime d'assurance emprunteur mensuelle (€)"},"mensualiteTotale":{"type":"number","description":"Mensualité assurance incluse (€)"},"interetsAnnuelsAn1":{"type":"number","description":"Intérêts d'emprunt de la première année (€)"},"montantEmprunte":{"type":"number","description":"Capital emprunté (€)"},"coutTotal":{"type":"number","description":"Coût total d'acquisition (€)"},"fraisDossier":{"type":"number","description":"Frais de dossier retenus (€)"},"fraisCourtage":{"type":"number","description":"Honoraires de courtage retenus (€)"},"fraisGarantie":{"type":"number","description":"Coût de la garantie à la mise en place (€)"},"fraisGarantieRestituable":{"type":"number","description":"Part de la garantie restituée en fin de prêt, caution seule (€)"},"garantieLabel":{"type":"string","description":"Libellé de la garantie retenue"},"garantieMentions":{"type":"array","description":"Mentions et sources du calcul de garantie"},"fraisBancairesTotal":{"type":"number","description":"Dossier + courtage + garantie (€)"},"coutTotalAvecFrais":{"type":"number","description":"Coût d'acquisition augmenté des frais bancaires (€)"},"taegPret":{"type":"number","description":"TAEG actuariel du prêt, frais et assurance compris (%)"},"projection":{"type":"array","description":"Projection année par année (loyer, charges, intérêts, impôt, cashflow, CRD, patrimoine net)"},"horizonProjection":{"type":"number","description":"Horizon retenu pour la projection (années)"},"valeurReventeHorizon":{"type":"number","description":"Valeur du bien revalorisée à l'horizon (€)"},"patrimoineNetFinal":{"type":"number","description":"Valeur de revente − frais de revente − capital restant dû (€)"},"enrichissementNet":{"type":"number","description":"Patrimoine net final + cashflows cumulés − apport (€)"},"triProjet":{"type":"number","description":"TRI du projet avant impôt de revente (%)"},"impotPlusValueRevente":{"type":"number","description":"Impôt de plus-value estimé à la revente (€, abattements de durée)"},"amortissementsReintegres":{"type":"number","description":"LMNP réel : amortissements réintégrés dans la plus-value (LF 2025) (€)"},"patrimoineNetFinalApresImpot":{"type":"number","description":"Patrimoine net à l'horizon, après impôt de plus-value (€)"},"enrichissementNetApresImpot":{"type":"number","description":"Enrichissement net après impôt de plus-value (€)"},"triNet":{"type":"number","description":"TRI net, revente nette d'impôt de plus-value (%)"},"vanProjet":{"type":"number","description":"VAN au taux d'actualisation (€)"},"placementAlternatifFinal":{"type":"number","description":"Capital final si l'apport était placé au taux alternatif (€)"},"denormandieReductionAnnuelle":{"type":"number","description":"Réduction d'impôt Denormandie annuelle (€, 0 si non éligible)"},"denormandieDureeEngagement":{"type":"number","description":"Durée d'engagement Denormandie retenue (années, 0 si aucun)"},"dispositifCle":{"type":"string","description":"Clé du dispositif retenu"},"dispositifLabel":{"type":"string","description":"Libellé du dispositif retenu"},"dispositifReference":{"type":"string","description":"Référence légale du dispositif"},"dispositifChiffre":{"type":"boolean","description":"true quand le moteur chiffre réellement l'effet du dispositif"},"dispositifAmortissementAnnuel":{"type":"number","description":"Amortissement du dispositif déduit du résultat de l'exercice (€/an)"},"dispositifReductionAnnuelle":{"type":"number","description":"Réduction d'impôt du dispositif imputée sur l'exercice (€/an)"},"dispositifDureeEngagement":{"type":"number","description":"Durée d'engagement de location du dispositif (années, 0 si aucune)"},"dispositifPlafondLoyerMensuel":{"type":"number","description":"Loyer mensuel plafond imposé par le dispositif (€, absent si aucun plafond)"},"dispositifContraintes":{"type":"array","description":"Obstacles, plafonds et limites du calcul, en clair"},"tmiEffective":{"type":"number","description":"Tranche marginale retenue (%) : saisie en mode tmi, dérivée du foyer en mode barème"},"irFoyerSansBien":{"type":"number","description":"Barème : impôt sur le revenu du foyer sans les revenus de ce bien (€)"},"irFoyerAvecBien":{"type":"number","description":"Barème : impôt sur le revenu du foyer avec les revenus de ce bien (€)"},"irBien":{"type":"number","description":"Impôt sur le revenu imputable au bien, année 1 (€, négatif = économie)"},"psBien":{"type":"number","description":"Prélèvements sociaux du bien, année 1 (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"rendementBrut":5.02,"rendementNet":4.02,"rendementNetVacance":3.77,"rendementNetNet":3.74,"cashflowAnnuel":7505,"cashflowMensuel":625,"cashflowAnnuelAvecCredit":-6729,"cashflowMensuelAvecCredit":-561,"cashOnCash":-33.65,"impotAnnuel":595},"tool":"rentabilite-locative"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/estimation-loyer":{"post":{"operationId":"estimation-loyer","summary":"Estimation de loyer","description":"Estime le loyer de marché selon la localisation, la surface et le type de bien.","tags":["Rendement & Marché"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"surface":{"type":"number","description":"Surface habitable (m²)"},"basePriceM2":{"type":"number","description":"Loyer CC de base au m² (idéalement issu de la Carte des loyers via GET /api/loyers). À défaut, repli par segment"},"refSurface":{"type":"number","description":"Surface de référence de la tranche (37/52/72/92) — active l'ajustement surface fin","default":52},"segment":{"type":"string","description":"Segment de repli si basePriceM2 absent : paris, metropole, grande, moyenne, rural","default":"moyenne"},"meuble":{"type":"boolean","description":"Location meublée (majoration selon la surface)"},"dpe":{"type":"string","description":"Classe DPE (A–G)","default":"D"},"etage":{"type":"string","description":"rdc (−8 %), dernier (+5 %) ou eleve_sans_ascenseur (−3 %)"},"exterieur":{"type":"string","description":"Extérieur du logement (balcon, terrasse, jardin, aucun)","default":"aucun"},"parking":{"type":"boolean","description":"Place de stationnement incluse (forfait ajouté au loyer)"},"cave":{"type":"boolean","description":"Cave ou local de rangement (+2 %)"},"etatGeneral":{"type":"string","description":"refait_neuf, bon, correct ou travaux","default":"bon"},"type":{"type":"string","description":"appartement ou maison (décote appliquée seulement en repli par segment)"},"prixAchat":{"type":"number","description":"Prix d'achat (€) — sert au rendement brut","default":0},"chargesMensuelles":{"type":"number","description":"Charges mensuelles (€) — servent au loyer charges comprises","default":0}},"required":["surface"]},"example":{"surface":35,"basePriceM2":16.3,"refSurface":37,"meuble":false,"dpe":"D","prixAchat":130000}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"loyerMensuel":{"type":"number","description":"Loyer mensuel HC estimé (€)"},"loyerMin":{"type":"number","description":"Fourchette basse, −15 % (€)"},"loyerMax":{"type":"number","description":"Fourchette haute, +15 % (€)"},"loyerAnnuel":{"type":"number","description":"Loyer annuel HC (€)"},"loyerCC":{"type":"number","description":"Loyer mensuel charges comprises (€)"},"rendementBrut":{"type":"number","description":"Rendement brut (%) si prixAchat fourni, 0 sinon"},"prixM2Final":{"type":"number","description":"Loyer au m² après ajustements (€/m²)"},"coeffSurface":{"type":"number","description":"Coefficient d'ajustement lié à la surface"}}},"tool":{"type":"string"}}},"example":{"data":{"loyerMensuel":492,"loyerMin":418,"loyerMax":566,"loyerAnnuel":5904,"loyerCC":492,"rendementBrut":4.54,"prixM2Final":14.07,"coeffSurface":1.02},"tool":"estimation-loyer"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/indexation-loyers":{"post":{"operationId":"indexation-loyers","summary":"Indexation des loyers","description":"Calcule le nouveau loyer après révision selon l'IRL, l'ILC ou l'ILAT.","tags":["Rendement & Marché"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"loyerActuel":{"type":"number","description":"Loyer actuel (€)"},"ancienIndice":{"type":"number","description":"Indice de référence du bail (trimestre de référence)"},"nouvelIndice":{"type":"number","description":"Dernier indice publié pour le même trimestre"}},"required":["loyerActuel","ancienIndice","nouvelIndice"]},"example":{"loyerActuel":800,"ancienIndice":138.61,"nouvelIndice":145.47}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"nouveauLoyer":{"type":"number","description":"Loyer révisé (€)"},"variation":{"type":"number","description":"Variation de l'indice (%)"},"variationEuros":{"type":"number","description":"Variation du loyer (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"nouveauLoyer":839.59,"variation":4.95,"variationEuros":39.59},"tool":"indexation-loyers"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/estimation-immeuble":{"post":{"operationId":"estimation-immeuble","summary":"Estimation d'immeuble de rapport","description":"Valorise un immeuble de rapport par capitalisation des loyers et par valeur à la découpe.","tags":["Rendement & Marché"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"surfaceTotale":{"type":"number","description":"Surface totale de l'immeuble (m²)"},"tauxRendement":{"type":"number","description":"Taux de capitalisation cible (%, borné entre 3 et 12 ; 6 si ≤ 0)"},"loyersAnnuelsBruts":{"type":"number","description":"Loyers annuels bruts (€). À défaut, somme des loyers des lots"},"lots":{"type":"array","description":"Lots de l'immeuble : { type, surface, loyerAnnuel, occupe }"},"prixM2Decoupe":{"type":"number","description":"Prix appartement de la commune (€/m²) — active l'approche à la découpe"},"decoteBloc":{"type":"number","description":"Décote de vente en bloc en fraction (0,10 à 0,20)","default":0.15},"chargesNonRecuperables":{"type":"number","description":"Charges non récupérables annuelles (€) — bascule la capitalisation en revenu net","default":0}},"required":["surfaceTotale","tauxRendement"]},"example":{"surfaceTotale":420,"loyersAnnuelsBruts":48000,"tauxRendement":6.5,"prixM2Decoupe":2400,"decoteBloc":0.15,"chargesNonRecuperables":6000}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"valeurCapitalisation":{"type":"number","description":"Valeur par capitalisation des loyers (€), null si l'immeuble est vide"},"valeurDecoupe":{"type":"number","description":"Valeur à la découpe après décote de bloc (€), null sans prixM2Decoupe"},"valeurRetenue":{"type":"number","description":"Valeur de synthèse (€)"},"fourchetteBasse":{"type":"number","description":"Borne basse de la fourchette (€)"},"fourchetteHaute":{"type":"number","description":"Borne haute de la fourchette (€)"},"confiance":{"type":"number","description":"Indice de confiance (2 ou 3)"},"loyersAnnuelsBruts":{"type":"number","description":"Loyers annuels bruts retenus (€)"},"tauxRendementEffectif":{"type":"number","description":"Taux de capitalisation effectivement appliqué (%)"},"decoteBlocEffective":{"type":"number","description":"Décote de bloc effectivement appliquée (fraction)"},"breakdown":{"type":"array","description":"Détail des approches : { label, value }"},"avertissements":{"type":"array","description":"Limites de l'estimation, à afficher telles quelles"}}},"tool":{"type":"string"}}},"example":{"data":{"valeurCapitalisation":646154,"valeurDecoupe":856800,"valeurRetenue":751477,"fourchetteBasse":638755,"fourchetteHaute":864199,"confiance":2,"loyersAnnuelsBruts":48000,"tauxRendementEffectif":6.5,"decoteBlocEffective":0.15},"tool":"estimation-immeuble"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/estimation-terrain":{"post":{"operationId":"estimation-terrain","summary":"Estimation de terrain","description":"Estime la valeur d'un terrain selon sa constructibilité, sa viabilisation et sa pente.","tags":["Rendement & Marché"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"surface":{"type":"number","description":"Surface de la parcelle (m²)"},"constructibilite":{"type":"string","description":"constructible, partiel, non ou inconnu"},"prixM2TerrainLocal":{"type":"number","description":"Médiane DVF terrains locale (€/m²) — source la plus fiable"},"prixM2TerrainDept":{"type":"number","description":"Médiane départementale (€/m²) — repli si le local est indisponible"},"viabilisation":{"type":"string","description":"Réseaux présents : { eau, elec, assainissement, telecom }"},"pente":{"type":"string","description":"plat, faible (−3 %) ou forte (−10 %)"},"bornage":{"type":"boolean","description":"Bornage réalisé (+2 %)"}},"required":["surface","constructibilite"]},"example":{"surface":800,"constructibilite":"constructible","prixM2TerrainLocal":180,"viabilisation":{"eau":true,"elec":true,"assainissement":false,"telecom":true},"pente":"faible","bornage":true}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"prixM2Retenu":{"type":"number","description":"Prix au m² après ajustements (€/m²)"},"valeur":{"type":"number","description":"Valeur estimée (€)"},"fourchetteBasse":{"type":"number","description":"Borne basse (€)"},"fourchetteHaute":{"type":"number","description":"Borne haute (€)"},"confiance":{"type":"number","description":"Indice de confiance (1 ou 2, plafonné à 2)"},"breakdown":{"type":"array","description":"Ajustements appliqués : { label, pct, value }"},"avertissements":{"type":"array","description":"Limites de l'estimation, à afficher telles quelles"},"source":{"type":"string","description":"Origine du prix de base : local, departemental ou aucun"}}},"tool":{"type":"string"}}},"example":{"data":{"prixM2Retenu":178,"valeur":142400,"fourchetteBasse":106800,"fourchetteHaute":178000,"confiance":2,"source":"local"},"tool":"estimation-terrain"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/capacite-emprunt":{"post":{"operationId":"capacite-emprunt","summary":"Capacité d'emprunt","description":"Calcule le montant maximum empruntable selon les revenus, charges et taux.","tags":["Financement"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revenusMensuels":{"type":"number","description":"Revenus mensuels nets du foyer (€)"},"chargesExistantes":{"type":"number","description":"Charges de crédit existantes (€/mois)"},"duree":{"type":"number","description":"Durée du prêt (années)"},"taux":{"type":"number","description":"Taux nominal annuel (%)"},"tauxAssurance":{"type":"number","description":"Taux d'assurance emprunteur ADI (%/an sur capital initial)","default":0.34},"loyerAttendu":{"type":"number","description":"Loyer locatif attendu (€/mois, retenu à 70 %)","default":0},"ptzMontant":{"type":"number","description":"Montant du PTZ lissé avec le prêt principal (€)","default":0},"ptzTranche":{"type":"number","description":"Tranche PTZ 1 à 4 — détermine différé et durée d'amortissement","default":1},"ptzLissage":{"type":"boolean","description":"Lissage de la mensualité totale (activé dès qu'un PTZ est saisi)","default":true},"apport":{"type":"number","description":"Apport personnel (€) — sert au budget d'achat total","default":0},"fraisDossier":{"type":"number","description":"Frais de dossier (€) pour le TAEG estimatif. Par défaut 1 % du capital, plafonnés à 1 500 €"},"fraisGarantie":{"type":"number","description":"Frais de garantie (€) pour le TAEG estimatif. Par défaut 1,3 % du capital"}},"required":["revenusMensuels","chargesExistantes","duree","taux"]},"example":{"revenusMensuels":4000,"chargesExistantes":300,"duree":25,"taux":3.2,"tauxAssurance":0.34,"apport":25000}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"mensualiteMax":{"type":"number","description":"Mensualité maximale, assurance incluse (€)"},"capaciteEmprunt":{"type":"number","description":"Capital empruntable sur le prêt principal (€)"},"capaciteTotalePtz":{"type":"number","description":"Capacité totale prêt principal + PTZ (€)"},"budgetAchatAncien":{"type":"number","description":"Prix de bien max dans l'ancien, apport inclus, frais ~7,5 % (€)"},"budgetAchatNeuf":{"type":"number","description":"Prix de bien max dans le neuf, apport inclus, frais ~2,5 % (€)"},"resteAVivre":{"type":"number","description":"Reste à vivre (€/mois)"},"tauxEndettement":{"type":"number","description":"Taux d'endettement retenu (%)"},"sensibilite":{"type":"array","description":"Capacité selon durée et taux : { duree, taux, capacite }"},"taegEstimatif":{"type":"number","description":"TAEG actuariel estimatif du prêt principal (%, art. R314-1 C. conso)"},"taegHypotheses":{"type":"object","description":"Hypothèses du TAEG : capital, taux, frais, mensualités, coût total du crédit"},"lissagePtz":{"type":"object","description":"Détail du lissage PTZ. Présent uniquement si un PTZ est saisi"}}},"tool":{"type":"string"}}},"example":{"data":{"mensualiteMax":1100,"capaciteEmprunt":214420,"capaciteTotalePtz":214420,"budgetAchatAncien":222716,"budgetAchatNeuf":233580,"resteAVivre":2600,"tauxEndettement":35,"taegEstimatif":3.99},"tool":"capacite-emprunt"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/mensualite-pret":{"post":{"operationId":"mensualite-pret","summary":"Mensualité de prêt","description":"Calcule la mensualité, le coût total du crédit et le TAEG.","tags":["Financement"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"capital":{"type":"number","description":"Capital emprunté (€)"},"taux":{"type":"number","description":"Taux nominal annuel (%)"},"duree":{"type":"number","description":"Durée (années)"},"tauxAssurance":{"type":"number","description":"Taux d'assurance emprunteur ADI (%/an)","default":0},"fraisDossier":{"type":"number","description":"Frais de dossier (€), inclus dans le TAEG","default":0},"fraisGarantie":{"type":"number","description":"Frais de garantie caution ou hypothèque (€), inclus dans le TAEG","default":0},"raMois":{"type":"number","description":"Mois du remboursement anticipé simulé (1 à durée × 12). 0 = aucun","default":0},"raMontant":{"type":"number","description":"Montant remboursé par anticipation (€). Absent ou ≥ CRD = remboursement total"},"raSansIra":{"type":"boolean","description":"IRA contractuelles négociées à 0","default":false}},"required":["capital","taux","duree"]},"example":{"capital":200000,"taux":3.5,"duree":20,"tauxAssurance":0.34,"fraisDossier":1000,"fraisGarantie":2400}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"mensualiteHorsAssurance":{"type":"number","description":"Mensualité hors assurance (€)"},"mensualiteAssurance":{"type":"number","description":"Prime d'assurance mensuelle (€)"},"mensualiteTotale":{"type":"number","description":"Mensualité assurance incluse (€)"},"coutInterets":{"type":"number","description":"Intérêts payés sur la durée (€)"},"coutAssurance":{"type":"number","description":"Primes d'assurance payées sur la durée (€)"},"coutTotal":{"type":"number","description":"Coût total du crédit, frais inclus (€)"},"totalRembourse":{"type":"number","description":"Total remboursé, capital compris (€)"},"taeg":{"type":"number","description":"TAEG actuariel (%) — assurance et frais inclus (art. R314-1 C. conso)"},"remboursementAnticipe":{"type":"object","description":"Présent si raMois est fourni : CRD, IRA plafonnées, intérêts économisés, gain net, nouvelle durée"}}},"tool":{"type":"string"}}},"example":{"data":{"mensualiteHorsAssurance":1159.92,"mensualiteAssurance":56.67,"mensualiteTotale":1216.59,"coutInterets":78381,"coutAssurance":13600,"coutTotal":95381,"totalRembourse":295381,"taeg":4.33},"tool":"mensualite-pret"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/endettement-hcsf":{"post":{"operationId":"endettement-hcsf","summary":"Endettement HCSF","description":"Calcule le taux d'endettement selon la méthode HCSF avec compensation locative à 70%.","tags":["Financement"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revenusMensuels":{"type":"number","description":"Revenus mensuels nets (€)"},"chargesExistantes":{"type":"number","description":"Autres crédits en cours (€/mois)"},"nouvelleMensualite":{"type":"number","description":"Mensualité du nouveau prêt, assurance incluse (€)"},"isLocatif":{"type":"boolean","description":"Projet locatif : active la méthode différentielle (70 % du loyer)"},"loyerAttendu":{"type":"number","description":"Loyer brut attendu (€/mois) si locatif","default":0},"loyerActuel":{"type":"number","description":"Loyer actuellement payé (€/mois) — calcule le saut de charge","default":0}},"required":["revenusMensuels","chargesExistantes","nouvelleMensualite","isLocatif"]},"example":{"revenusMensuels":4000,"chargesExistantes":0,"nouvelleMensualite":1200,"isLocatif":true,"loyerAttendu":900,"loyerActuel":850}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tauxClassique":{"type":"number","description":"Taux d'endettement méthode classique (%)"},"tauxDifferentiel":{"type":"number","description":"Taux méthode différentielle (%)"},"tauxActif":{"type":"number","description":"Taux retenu selon le type de projet (%)"},"mensualiteMax35":{"type":"number","description":"Mensualité maximale sous 35 % (€/mois)"},"isConforme":{"type":"boolean","description":"Conforme HCSF (≤ 35 %)"},"margeDisponible":{"type":"number","description":"Marge de mensualité restante sous 35 % (€/mois)"},"sautDeCharge":{"type":"number","description":"Nouvelle mensualité − loyer actuel (€/mois)"},"sautDeChargePct":{"type":"number","description":"Saut de charge rapporté aux revenus (%)"}}},"tool":{"type":"string"}}},"example":{"data":{"tauxClassique":30,"tauxDifferentiel":14.25,"tauxActif":14.25,"mensualiteMax35":1400,"isConforme":true,"margeDisponible":830,"sautDeCharge":350,"sautDeChargePct":8.75},"tool":"endettement-hcsf"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/ptz":{"post":{"operationId":"ptz","summary":"Prêt à Taux Zéro","description":"Vérifie l'éligibilité PTZ et calcule le montant selon la zone et les revenus.","tags":["Financement"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prix":{"type":"number","description":"Coût total de l'opération (€)"},"zone":{"type":"string","description":"Zone géographique : Abis, A, B1, B2 ou C"},"rfr":{"type":"number","description":"Revenu fiscal de référence du foyer (€)"},"membres":{"type":"number","description":"Nombre de personnes destinées à occuper le logement"},"type":{"type":"string","description":"collectif (immeuble de plus de deux logements) ou individuel","default":"collectif"}},"required":["prix","zone","rfr","membres"]},"example":{"prix":250000,"zone":"B1","rfr":35000,"membres":2,"type":"collectif"}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"eligible":{"type":"boolean","description":"Éligible au PTZ"},"bracket":{"type":"number","description":"Tranche de revenus 1 à 4, null si non éligible"},"quotite":{"type":"number","description":"Quotité de financement retenue (fraction du coût d'opération)"},"plafondOperation":{"type":"number","description":"Plafond d'opération PTZ retenu (€)"},"baseOperation":{"type":"number","description":"Base retenue pour le calcul : min(prix, plafond) (€)"},"montantPTZ":{"type":"number","description":"Montant du PTZ (€)"},"mensualite":{"type":"number","description":"Mensualité du PTZ après différé (€)"},"dureeAmort":{"type":"number","description":"Durée d'amortissement (années)"},"dureeDiffere":{"type":"number","description":"Durée du différé (années)"},"comparisonIncome":{"type":"number","description":"Revenu retenu pour la comparaison aux plafonds (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"eligible":true,"bracket":2,"quotite":0.4,"plafondOperation":189000,"baseOperation":189000,"montantPTZ":75600,"mensualite":525,"dureeAmort":12,"dureeDiffere":8,"comparisonIncome":23333},"tool":"ptz"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/adi-delegation":{"post":{"operationId":"adi-delegation","summary":"ADI / Délégation d'assurance","description":"Compare l'assurance groupe bancaire vs délégation d'assurance (loi Lemoine).","tags":["Financement"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"capital":{"type":"number","description":"Capital emprunté (€)"},"loanRate":{"type":"number","description":"Taux nominal du prêt (%) — sert à l'amortissement du capital restant dû"},"duration":{"type":"number","description":"Durée du prêt (années)"},"bankRate":{"type":"number","description":"Taux de l'assurance groupe bancaire (%/an)"},"delegatedRate":{"type":"number","description":"Taux de l'assurance déléguée (%/an)"}},"required":["capital","loanRate","duration","bankRate","delegatedRate"]},"example":{"capital":200000,"loanRate":3.5,"duration":20,"bankRate":0.36,"delegatedRate":0.12}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"bankCostCI":{"type":"number","description":"Coût de l'assurance groupe, calcul sur capital initial (€)"},"delegatedCostCI":{"type":"number","description":"Coût de la délégation, calcul sur capital initial (€)"},"savingCI":{"type":"number","description":"Économie, calcul sur capital initial (€)"},"bankCostCRD":{"type":"number","description":"Coût de l'assurance groupe, calcul sur capital restant dû (€)"},"delegatedCostCRD":{"type":"number","description":"Coût de la délégation, calcul sur capital restant dû (€)"},"savingCRD":{"type":"number","description":"Économie, calcul sur capital restant dû (€)"},"monthlySavingCRD":{"type":"number","description":"Économie mensuelle moyenne sur capital restant dû (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"bankCostCI":14400,"delegatedCostCI":4800,"savingCI":9600,"bankCostCRD":8390,"delegatedCostCRD":2797,"savingCRD":5593,"monthlySavingCRD":23},"tool":"adi-delegation"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/stress-test":{"post":{"operationId":"stress-test","summary":"Stress test","description":"Teste la résistance d'un investissement face à quatre chocs : taux, loyer, vacance et charges.","tags":["Financement"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"rent":{"type":"number","description":"Loyer mensuel (€)"},"payment":{"type":"number","description":"Mensualité de crédit (€)"},"cashflow":{"type":"number","description":"Cashflow mensuel actuel (€) — sert à déduire les autres charges"},"rateUpPp":{"type":"number","description":"Hausse de taux d'intérêt simulée (points)","default":1},"rentDownPct":{"type":"number","description":"Baisse du loyer simulée (%)","default":10},"vacancyImpactPct":{"type":"number","description":"Vacance supplémentaire, en % du loyer annuel","default":5},"chargesIncrease":{"type":"number","description":"Hausse de charges simulée (€/mois)","default":50}},"required":["rent","payment","cashflow"]},"example":{"rent":900,"payment":1100,"cashflow":-450,"rateUpPp":1,"rentDownPct":10,"vacancyImpactPct":5,"chargesIncrease":50}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"otherCharges":{"type":"number","description":"Autres charges déduites : loyer − mensualité − cashflow (€/mois)"},"cfRateUp":{"type":"number","description":"Cashflow après choc de taux (€/mois)"},"cfRentDown":{"type":"number","description":"Cashflow après baisse de loyer (€/mois)"},"cfVacancy":{"type":"number","description":"Cashflow après vacance supplémentaire (€/mois)"},"cfChargesUp":{"type":"number","description":"Cashflow après hausse de charges (€/mois)"},"cfCombined":{"type":"number","description":"Cashflow avec les quatre chocs simultanés (€/mois)"},"individualPasses":{"type":"number","description":"Nombre de scénarios individuels tenus (0 à 4)"},"allPass":{"type":"boolean","description":"Les quatre scénarios individuels sont tenus"}}},"tool":{"type":"string"}}},"example":{"data":{"otherCharges":250,"cfRateUp":-582,"cfRentDown":-540,"cfVacancy":-495,"cfChargesUp":-500,"cfCombined":-763,"individualPasses":0,"allPass":false},"tool":"stress-test"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/credit-lombard":{"post":{"operationId":"credit-lombard","summary":"Crédit lombard","description":"Simule un crédit adossé au nantissement d'un portefeuille financier.","tags":["Financement"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"valeurPortefeuille":{"type":"number","description":"Valeur du portefeuille nanti (€)"},"typeActif":{"type":"string","description":"Nature des actifs : fonds-euros, obligations, actions-blue, scpi, uc-diversifie — pilote la quotité et le spread"},"duree":{"type":"number","description":"Durée du crédit (années)"},"rendementActif":{"type":"number","description":"Rendement annuel attendu du portefeuille (%)"},"objectif":{"type":"string","description":"max (emprunter le maximum) ou custom (montant souhaité)"},"tauxCustom":{"type":"number","description":"Taux du crédit imposé (%/an). À défaut, Euribor 3M + spread de la classe d'actif"},"montantSouhaite":{"type":"number","description":"Montant souhaité (€) si objectif = custom, plafonné au montant maximal","default":0}},"required":["valeurPortefeuille","typeActif","duree","rendementActif","objectif"]},"example":{"valeurPortefeuille":500000,"typeActif":"actions-blue","duree":15,"rendementActif":5,"objectif":"max"}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"montantMax":{"type":"number","description":"Montant maximal finançable selon la quotité (€)"},"montantEmprunte":{"type":"number","description":"Montant effectivement emprunté (€)"},"ltv":{"type":"number","description":"Quotité de nantissement de la classe d'actif (fraction)"},"tauxAnnuel":{"type":"number","description":"Taux annuel retenu (%)"},"interetsMensuels":{"type":"number","description":"Intérêts mensuels (€)"},"interetsTotaux":{"type":"number","description":"Intérêts sur la durée (€)"},"coutTotal":{"type":"number","description":"Coût total du crédit (€)"},"rendementPortefeuille":{"type":"number","description":"Produits du portefeuille sur la durée (€)"},"gainNet":{"type":"number","description":"Produits du portefeuille − coût du crédit (€)"},"ratioCouverture":{"type":"number","description":"Portefeuille rapporté à l'encours (ratio, 1,67 = 167 %)"},"seuilAppelMarge":{"type":"number","description":"Valeur de portefeuille déclenchant l'appel de marge (€)"},"baisseAvantAppel":{"type":"number","description":"Baisse de marché supportable avant appel de marge (%)"}}},"tool":{"type":"string"}}},"example":{"data":{"montantMax":300000,"montantEmprunte":300000,"ltv":0.6,"tauxAnnuel":3.6,"interetsMensuels":900,"interetsTotaux":162000,"coutTotal":462000,"rendementPortefeuille":539464,"gainNet":377464,"ratioCouverture":1.67},"tool":"credit-lombard"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/location-vs-achat":{"post":{"operationId":"location-vs-achat","summary":"Location vs achat","description":"Comparaison financière sur N années : continuer à louer ou acheter sa résidence principale.","tags":["Stratégie"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"price":{"type":"number","description":"Prix d'achat du bien (€)"},"fees":{"type":"number","description":"Frais d'acquisition : notaire, agence, garantie (€)"},"contribution":{"type":"number","description":"Apport personnel (€)"},"rate":{"type":"number","description":"Taux nominal du prêt (%)"},"loanYears":{"type":"number","description":"Durée du prêt (années)"},"monthlyRent":{"type":"number","description":"Loyer mensuel actuel (€)"},"holdYears":{"type":"number","description":"Horizon de comparaison (années)"},"rentIndex":{"type":"number","description":"Indexation annuelle du loyer, en décimal (0.02 = 2 %/an)","default":0.02},"appreciation":{"type":"number","description":"Appréciation annuelle du bien, en décimal (0.02 = 2 %/an)","default":0.02},"investReturn":{"type":"number","description":"Rendement du placement alternatif du locataire (%/an)","default":3},"fraisReventePct":{"type":"number","description":"Frais de revente à l'horizon (% du prix de vente)","default":7}},"required":["price","fees","contribution","rate","loanYears","monthlyRent","holdYears"]},"example":{"price":250000,"fees":20000,"contribution":30000,"rate":3.5,"loanYears":25,"monthlyRent":1000,"holdYears":10,"rentIndex":0.02,"appreciation":0.015,"investReturn":3}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"netRent":{"type":"number","description":"Coût net de la location sur l'horizon (€)"},"netBuy":{"type":"number","description":"Coût net de l'achat sur l'horizon (€)"},"buyWins":{"type":"boolean","description":"L'achat ressort gagnant sur l'horizon"},"breakEvenYear":{"type":"number","description":"Année où l'achat devient moins coûteux, null si jamais"},"capitalRepaid":{"type":"number","description":"Capital remboursé à l'horizon (€)"},"gainOnAsset":{"type":"number","description":"Plus-value latente sur le bien à l'horizon (€)"},"apportInvested":{"type":"number","description":"Valeur de l'apport placé par le locataire (€)"},"patrimoineAcheteur":{"type":"number","description":"Patrimoine de l'acheteur : revente nette de frais − capital restant dû (€)"},"patrimoineLocataire":{"type":"number","description":"Patrimoine du locataire : apport et différences mensuelles placés (€)"},"avantagePatrimoine":{"type":"number","description":"Écart de patrimoine, positif si acheter enrichit plus (€)"},"breakEvenPatrimoine":{"type":"number","description":"Année où le patrimoine de l'acheteur dépasse celui du locataire, null si jamais sur 30 ans"}}},"tool":{"type":"string"}}},"example":{"data":{"netRent":131397,"netBuy":84614,"buyWins":true,"breakEvenYear":5,"capitalRepaid":71931,"gainOnAsset":40135,"apportInvested":40317,"patrimoineAcheteur":101757,"patrimoineLocataire":93674,"avantagePatrimoine":8082},"tool":"location-vs-achat"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/frais-notaire":{"post":{"operationId":"frais-notaire","summary":"Frais de notaire","description":"Estimation détaillée des frais d'acquisition : DMTO, émoluments, débours, CSI.","tags":["Fiscalité"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prix":{"type":"number","description":"Prix d'achat (€)"},"type":{"type":"string","description":"ancien, neuf ou terrain"},"vendeurTerrain":{"type":"string","description":"Terrain uniquement : particulier (DMTO plein) ou professionnel (TVA, TPF 0,715 %)","default":"particulier"},"tauxDepartement":{"type":"number","description":"Taux DMTO départemental (%) : 4.50 ou 5.00","default":5},"primoAccedant":{"type":"boolean","description":"Primo-accédant en résidence principale : la hausse +0,5 pt n'est pas appliquée"},"exoDepartementale":{"type":"boolean","description":"Exonération départementale totale des primo-accédants, sur délibération"},"remiseNotaire":{"type":"boolean","description":"Remise de 20 % sur la part d'émoluments des tranches ≥ 100 000 €"},"debours":{"type":"number","description":"Débours forfaitaires (€)","default":1200},"mobilier":{"type":"number","description":"Valeur du mobilier vendu avec le bien, déduite de l'assiette (€)","default":0},"fraisAgenceAcquereur":{"type":"number","description":"Frais d'agence à la charge de l'acquéreur, déduits de l'assiette (€)","default":0},"garantie":{"type":"string","description":"Garantie de l'emprunt : aucun, ppd ou hypotheque","default":"aucun"},"montantEmprunte":{"type":"number","description":"Assiette des frais de garantie (€). Par défaut le prix d'achat"}},"required":["prix","type"]},"example":{"prix":200000,"type":"ancien","tauxDepartement":5,"garantie":"hypotheque","montantEmprunte":180000}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"dmto":{"type":"number","description":"Droits de mutation dus (€)"},"dmtoBrut":{"type":"number","description":"Droits de mutation avant exemption primo-accédant (€)"},"reductionPrimo":{"type":"number","description":"Économie liée au statut primo-accédant (€)"},"emolumentsHT":{"type":"number","description":"Émoluments du notaire HT (€)"},"emolumentsHTBrut":{"type":"number","description":"Émoluments HT avant remise (€)"},"remiseNotaire":{"type":"number","description":"Montant de la remise d'émoluments (€)"},"tva":{"type":"number","description":"TVA sur les émoluments (€)"},"emolumentsTTC":{"type":"number","description":"Émoluments TTC (€)"},"csi":{"type":"number","description":"Contribution de sécurité immobilière (€)"},"debours":{"type":"number","description":"Débours (€)"},"total":{"type":"number","description":"Frais d'acquisition totaux (€)"},"pourcentage":{"type":"number","description":"Frais en % du prix"},"assiette":{"type":"number","description":"Assiette des droits et émoluments après déductions (€)"},"economieAssiette":{"type":"number","description":"Économie liée aux déductions mobilier et agence (€)"},"garantie":{"type":"object","description":"Frais de garantie de l'emprunt : type, montant emprunté, TPF, CSI, émoluments, total"},"totalAvecGarantie":{"type":"number","description":"Frais d'acquisition + frais de garantie (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"dmto":12637,"dmtoBrut":12637,"reductionPrimo":0,"emolumentsHT":1995,"emolumentsHTBrut":1995,"remiseNotaire":0,"tva":399,"emolumentsTTC":2394,"csi":200,"debours":1200},"tool":"frais-notaire"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/frais-encheres":{"post":{"operationId":"frais-encheres","summary":"Frais d'enchères immobilières","description":"Frais d'acquisition aux enchères (vente judiciaire ou notariale) : émoluments avocat/notaire, DMTO, CSI, frais préalables.","tags":["Fiscalité"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prixAdjudication":{"type":"number","description":"Montant d'adjudication (€)"},"auctionType":{"type":"string","description":"Type de vente : judiciaire ou notariale"},"acquirerStatus":{"type":"string","description":"Statut de l'acheteur : particulier, mdb ou sci"},"engagementRevente":{"type":"boolean","description":"Engagement de revente sous 5 ans (art. 1115 CGI), réservé au marchand de biens"},"fraisPrealablesTTC":{"type":"number","description":"Frais préalables TTC de la vente judiciaire (€)","default":0},"surenchere":{"type":"boolean","description":"Surenchère du dixième en cours (+10 %)"},"dmtoTauxOverride":{"type":"number","description":"Taux DMTO global imposé (% du prix). À défaut, taux selon le statut de l'acheteur"},"dmtoMajore":{"type":"boolean","description":"Département ayant relevé le DMTO de +0,5 pt (6,32 % au lieu de 5,81 %)"}},"required":["prixAdjudication","auctionType","acquirerStatus"]},"example":{"prixAdjudication":200000,"auctionType":"judiciaire","acquirerStatus":"particulier","fraisPrealablesTTC":4000}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"prixAdjudication":{"type":"number","description":"Montant d'adjudication saisi (€)"},"prixApresSurenchere":{"type":"number","description":"Prix retenu après surenchère éventuelle (€)"},"emolumentsHT":{"type":"number","description":"Émoluments avocat ou notaire HT (€)"},"emolumentsTVA":{"type":"number","description":"TVA sur les émoluments (€)"},"emolumentsTTC":{"type":"number","description":"Émoluments TTC (€)"},"emolumentsBreakdown":{"type":"array","description":"Détail par tranche du barème : { tier, baseHT, emolument }"},"emolumentsType":{"type":"string","description":"Barème appliqué : avocat ou notaire"},"dmtoTauxPct":{"type":"number","description":"Taux DMTO retenu (%)"},"dmtoMontant":{"type":"number","description":"Droits de mutation (€)"},"dmtoLabel":{"type":"string","description":"Régime de droits appliqué, en clair"},"contributionSecuriteImmo":{"type":"number","description":"Contribution de sécurité immobilière (€)"},"fraisPrealablesTTC":{"type":"number","description":"Frais préalables retenus (€)"},"totalFraisTTC":{"type":"number","description":"Total des frais (€)"},"totalAcquisition":{"type":"number","description":"Coût total d'acquisition (€)"},"fraisRapportPct":{"type":"number","description":"Frais en % du prix d'adjudication"},"comparaisonAncienClassique":{"type":"number","description":"Écart de frais avec un achat classique dans l'ancien (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"prixAdjudication":200000,"prixApresSurenchere":200000,"emolumentsHT":3812.18,"emolumentsTVA":762.44,"emolumentsTTC":4574.62,"emolumentsType":"avocat","dmtoTauxPct":5.81,"dmtoMontant":11620,"dmtoLabel":"DMTO 5.81% (taux standard)","contributionSecuriteImmo":200},"tool":"frais-encheres"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/comparateur-fiscal":{"post":{"operationId":"comparateur-fiscal","summary":"Comparateur fiscal","description":"Compare les régimes fiscaux immobiliers français : micro-foncier, foncier réel, LMNP micro/réel, LMP, SCI IR/IS.","tags":["Fiscalité"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"loyerMensuel":{"type":"number","description":"Loyer mensuel hors charges (€)"},"taxeFonciere":{"type":"number","description":"Taxe foncière annuelle (€)"},"copro":{"type":"number","description":"Charges de copropriété non récupérables annuelles (€)"},"pno":{"type":"number","description":"Assurance propriétaire non occupant annuelle (€)"},"purchasePrice":{"type":"number","description":"Prix d'achat (€)"},"fraisNotaire":{"type":"number","description":"Frais de notaire (€)"},"apport":{"type":"number","description":"Apport personnel (€)"},"tauxEmprunt":{"type":"number","description":"Taux nominal du prêt (%)"},"duree":{"type":"number","description":"Durée du prêt (années)"},"tmi":{"type":"number","description":"Tranche marginale d'imposition (%)"},"impotMode":{"type":"string","description":"Liquidation de l'impôt : bareme (défaut, barème progressif du foyer, art. 197 CGI) ou tmi (repli au taux plat saisi)","default":"bareme"},"foyerRevenuImposable":{"type":"number","description":"Barème : revenu net imposable annuel du foyer hors ce bien (€)","default":0},"foyerSituation":{"type":"string","description":"Barème : celibataire ou couple","default":"celibataire"},"foyerEnfants":{"type":"number","description":"Barème : enfants à charge (quotient familial)","default":0},"gestionPct":{"type":"number","description":"Honoraires de gestion locative (% du loyer)","default":7},"gliPct":{"type":"number","description":"Prime GLI (% du loyer)","default":2.5},"fraisAgence":{"type":"number","description":"Frais d'agence à l'acquisition (€)","default":0},"travaux":{"type":"number","description":"Travaux (€)","default":0},"tauxAssurance":{"type":"number","description":"Taux d'assurance emprunteur ADI (%/an)","default":0.34},"furnishedType":{"type":"string","description":"Meublé : meubleClassique, tourismeClasse ou tourismeNonClasse","default":"meubleClassique"},"honoraires":{"type":"number","description":"Honoraires comptables annuels (€), déductibles aux seuls régimes réels","default":0},"adiType":{"type":"string","description":"banque (prime sur capital initial) ou delegation (prime dégressive sur CRD)","default":"banque"},"surface":{"type":"number","description":"Surface habitable (m²) — plafond Denormandie 5 500 €/m²","default":0},"denormandieDuree":{"type":"number","description":"Engagement Denormandie appliqué au foncier réel : 0, 6, 9 ou 12 ans","default":0}},"required":["loyerMensuel","taxeFonciere","copro","pno","purchasePrice","fraisNotaire","apport","tauxEmprunt","duree","tmi"]},"example":{"loyerMensuel":900,"taxeFonciere":1200,"copro":600,"pno":150,"purchasePrice":200000,"fraisNotaire":15000,"apport":20000,"tauxEmprunt":3.5,"duree":20,"tmi":30}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"rent":{"type":"number","description":"Loyer annuel brut (€)"},"totalCharges":{"type":"number","description":"Charges annuelles totales (€)"},"montantEmprunte":{"type":"number","description":"Capital emprunté (€)"},"mensualite":{"type":"number","description":"Mensualité du prêt (€)"},"interetsAnnuels":{"type":"number","description":"Intérêts d'emprunt de la première année (€)"},"adiAnnuel":{"type":"number","description":"Prime d'assurance emprunteur annuelle (€)"},"coutTotalCredit":{"type":"number","description":"Coût total du crédit (€)"},"regimes":{"type":"array","description":"Un objet par régime : impôt, base taxable, IR, PS, IS, amortissement, cashflow net"},"bestRegime":{"type":"string","description":"Identifiant du régime le plus avantageux"},"denormandieReductionAnnuelle":{"type":"number","description":"Réduction Denormandie appliquée au foncier réel (€/an, 0 si aucune)"}}},"tool":{"type":"string"}}},"example":{"data":{"rent":10800,"totalCharges":2976,"montantEmprunte":195000,"mensualite":1131,"interetsAnnuels":6716,"adiAnnuel":663,"coutTotalCredit":284681,"bestRegime":"lmnpReel","denormandieReductionAnnuelle":0},"tool":"comparateur-fiscal"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/plus-value":{"post":{"operationId":"plus-value","summary":"Plus-value immobilière","description":"Calcule la plus-value imposable avec abattements IR/PS pour durée de détention et surtaxe.","tags":["Fiscalité"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"regime":{"type":"string","description":"ir (particulier) ou sci_is"},"prixAchat":{"type":"number","description":"Prix d'acquisition (€)"},"prixVente":{"type":"number","description":"Prix de cession (€)"},"dureeDetention":{"type":"number","description":"Durée de détention (années)"},"residencePrincipale":{"type":"boolean","description":"Cession de la résidence principale : exonération totale"},"fraisNotaire":{"type":"number","description":"Frais d'acquisition réels (€). À défaut, forfait 7,5 %","default":0},"fraisAgence":{"type":"number","description":"Frais de cession supportés par le vendeur (€)","default":0},"travaux":{"type":"number","description":"Travaux déductibles (€). À défaut et au-delà de 5 ans, forfait 15 %","default":0},"remploiPct":{"type":"number","description":"Exonération remploi art. 150 U II 1° bis : part du prix de cession remployée vers la RP (0-100)","default":0},"forfaitFrais":{"type":"boolean","description":"Force (true) ou interdit (false) le forfait d'acquisition de 7,5 %. Absent : forfait si fraisNotaire ≤ 0"},"forfaitTravaux":{"type":"boolean","description":"Force (true) ou interdit (false) le forfait travaux de 15 %. Absent : forfait si travaux ≤ 0"},"amortissementCumule":{"type":"number","description":"SCI à l'IS : amortissements cumulés déduits de la valeur nette comptable (€)","default":0},"travauxActif":{"type":"number","description":"SCI à l'IS : travaux inscrits à l'actif et amortis (€). Ils entrent dans le prix de revient, donc dans la VNC","default":0},"fraisCession":{"type":"number","description":"Frais de cession à la charge du vendeur — diagnostics du DDT, mainlevée d'hypothèque (€). Art. 150 VA II CGI : déduits du prix de vente","default":0}},"required":["regime","prixAchat","prixVente","dureeDetention"]},"example":{"regime":"ir","prixAchat":200000,"prixVente":350000,"fraisNotaire":15000,"travaux":0,"dureeDetention":10}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"plusValueBrute":{"type":"number","description":"Plus-value brute (€)"},"plusValueImposable":{"type":"number","description":"Plus-value imposable après abattements (€)"},"impotIR":{"type":"number","description":"Impôt sur le revenu à 19 % (€)"},"prelevementsSociaux":{"type":"number","description":"Prélèvements sociaux à 17,2 % (€)"},"surtaxe":{"type":"number","description":"Surtaxe sur les plus-values élevées (€)"},"impotTotal":{"type":"number","description":"Impôt total (€)"},"netVendeur":{"type":"number","description":"Prix de vente − impôt total (€)"},"netPlusValue":{"type":"number","description":"Plus-value brute − impôt total (€)"},"abattementIR":{"type":"number","description":"Abattement pour durée de détention, assiette IR (fraction)"},"abattementPS":{"type":"number","description":"Abattement pour durée de détention, assiette PS (fraction)"},"moinsValue":{"type":"boolean","description":"La cession dégage une moins-value (non imputable, art. 150 VD CGI)"},"projection":{"type":"array","description":"Frise pluriannuelle jusqu'à 30 ans. Vide en résidence principale et en SCI à l'IS"},"anneeExonerationIR":{"type":"number","description":"Durée de détention exonérant l'IR (22 ans)"},"anneeExonerationPS":{"type":"number","description":"Durée de détention exonérant les PS (30 ans)"},"vnc":{"type":"number","description":"SCI à l'IS : valeur nette comptable (€)"},"prixRevient":{"type":"number","description":"SCI à l'IS : prix de revient retenu pour la VNC — achat + travaux à l'actif (€)"},"netApresIs":{"type":"number","description":"SCI à l'IS : plus-value brute − IS, avant distribution (€)"},"impotIS":{"type":"number","description":"SCI à l'IS : impôt sur les sociétés (€)"},"pfuDividendes":{"type":"number","description":"SCI à l'IS : PFU sur la distribution du résultat (€)"},"netApresIsPfu":{"type":"number","description":"SCI à l'IS : net après IS et PFU (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"plusValueBrute":105000,"plusValueImposable":73500,"impotIR":13965,"prelevementsSociaux":16570,"surtaxe":1470,"impotTotal":32005,"netVendeur":317995,"netPlusValue":72995,"abattementIR":0.3,"abattementPS":0.08},"tool":"plus-value"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/amortissement-lmnp":{"post":{"operationId":"amortissement-lmnp","summary":"Amortissement LMNP","description":"Tableau d'amortissement comptable LMNP par composants et plafonnement au bénéfice (art. 39 C CGI).","tags":["Fiscalité"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prixBien":{"type":"number","description":"Prix d'acquisition du bien (€)"},"terrainPct":{"type":"number","description":"Quote-part du terrain, non amortissable (%)"},"dureePret":{"type":"number","description":"Durée du prêt (années) — borne la projection cumulée","default":20},"loyerAnnuel":{"type":"number","description":"Recettes locatives annuelles (€)","default":0},"taxeFonciere":{"type":"number","description":"Taxe foncière annuelle (€)","default":0},"chargesCopro":{"type":"number","description":"Charges de copropriété annuelles (€)","default":0},"assurancePno":{"type":"number","description":"Assurance propriétaire non occupant annuelle (€)","default":0},"fraisGestion":{"type":"number","description":"Honoraires de gestion locative annuels (€)","default":0},"assuranceGli":{"type":"number","description":"Prime GLI annuelle (€)","default":0},"comptabilite":{"type":"number","description":"Honoraires comptables annuels (€)","default":0}},"required":["prixBien","terrainPct"]},"example":{"prixBien":200000,"terrainPct":15,"dureePret":20,"loyerAnnuel":10800,"taxeFonciere":1200,"chargesCopro":600,"comptabilite":500}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"baseAmortissable":{"type":"number","description":"Base amortissable, terrain déduit (€)"},"totalAnnuel":{"type":"number","description":"Dotation annuelle totale par composants (€)"},"simplifiedAnnuel":{"type":"number","description":"Dotation annuelle en approche simplifiée (€)"},"composants":{"type":"array","description":"Détail par composant : { nom, part, duree, base, annuel }"},"beneficeAvantAmort":{"type":"number","description":"Bénéfice avant amortissement (€)"},"beneficeApresAmort":{"type":"number","description":"Bénéfice après amortissement déduit (€)"},"amortUtilise":{"type":"number","description":"Amortissement effectivement déduit, plafonné au bénéfice (€)"},"amortReporte":{"type":"number","description":"Amortissement différé, reportable sans limite de durée (€)"},"cumulatif":{"type":"array","description":"Cumul d'amortissement année par année : { annee, cumul }"}}},"tool":{"type":"string"}}},"example":{"data":{"baseAmortissable":170000,"totalAnnuel":6314,"simplifiedAnnuel":8500,"beneficeAvantAmort":8500,"beneficeApresAmort":2186,"amortUtilise":6314,"amortReporte":0},"tool":"amortissement-lmnp"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/liasse-lmnp":{"post":{"operationId":"liasse-lmnp","summary":"Liasse fiscale LMNP","description":"Calcule les tableaux 2031 et 2033-A/B/C d'un loueur en meublé non professionnel au réel.","tags":["Fiscalité"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prixBien":{"type":"number","description":"Prix d'acquisition du bien, hors mobilier (€)"},"loyersAnnuels":{"type":"number","description":"Recettes locatives encaissées sur l'exercice (€)"},"terrainPct":{"type":"number","description":"Quote-part du terrain, non amortissable (%)","default":15},"fraisAcquisition":{"type":"number","description":"Frais d'acquisition immobilisés (€)","default":0},"mobilier":{"type":"number","description":"Valeur du mobilier, amorti sur 7 ans (€)","default":0},"travaux":{"type":"number","description":"Travaux immobilisés, amortis sur 10 ans (€)","default":0},"taxeFonciere":{"type":"number","description":"Taxe foncière de l'exercice (€)","default":0},"chargesCopro":{"type":"number","description":"Charges de copropriété de l'exercice (€)","default":0},"assurancePno":{"type":"number","description":"Assurance propriétaire non occupant (€)","default":0},"fraisGestion":{"type":"number","description":"Honoraires de gestion locative (€)","default":0},"assuranceGli":{"type":"number","description":"Prime GLI (€)","default":0},"comptabilite":{"type":"number","description":"Honoraires comptables et frais d'OGA (€)","default":0},"interetsEmprunt":{"type":"number","description":"Intérêts d'emprunt de l'exercice (€)","default":0},"autresCharges":{"type":"number","description":"Autres charges déductibles (€)","default":0},"capitalRestantDu":{"type":"number","description":"Capital restant dû en clôture, pour le bilan 2033-A (€)","default":0},"amortReporteAnterieur":{"type":"number","description":"Amortissements différés cumulés des exercices antérieurs (art. 39 C) (€)","default":0},"deficitReportable":{"type":"number","description":"Déficit BIC reportable entrant, hors amortissement (€)","default":0}},"required":["prixBien","loyersAnnuels"]},"example":{"prixBien":200000,"terrainPct":15,"fraisAcquisition":15000,"mobilier":8000,"loyersAnnuels":12000,"taxeFonciere":1200,"chargesCopro":800,"assurancePno":150,"comptabilite":600,"interetsEmprunt":4500,"capitalRestantDu":160000}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"baseAmortissable":{"type":"number","description":"Base amortissable du bâti (€)"},"composants":{"type":"array","description":"Composants amortis : { nom, base, duree, dotationAnnuelle }"},"dotationMobilier":{"type":"number","description":"Dotation annuelle du mobilier (€)"},"dotationTravaux":{"type":"number","description":"Dotation annuelle des travaux immobilisés (€)"},"dotationTheorique":{"type":"number","description":"Dotation totale théorique avant plafonnement art. 39 C (€)"},"amortDeduit":{"type":"number","description":"Amortissement déduit sur l'exercice (€)"},"amortReporteFin":{"type":"number","description":"Amortissements différés en fin d'exercice (€)"},"recettes":{"type":"number","description":"Recettes de l'exercice (2033-B) (€)"},"totalChargesDeductibles":{"type":"number","description":"Total des charges déductibles (€)"},"resultatAvantAmort":{"type":"number","description":"Résultat avant amortissement (€)"},"resultatFiscal":{"type":"number","description":"Résultat fiscal de l'exercice (€)"},"deficitExercice":{"type":"number","description":"Déficit BIC de l'exercice, hors amortissement (€)"},"deficitReportableFin":{"type":"number","description":"Déficit BIC reportable en fin d'exercice (€)"},"actifImmobiliseBrut":{"type":"number","description":"Actif immobilisé brut au bilan 2033-A (€)"},"amortissementsCumulesEstimes":{"type":"number","description":"Amortissements cumulés estimés (€)"},"capitalRestantDu":{"type":"number","description":"Capital restant dû porté au bilan (€)"},"regime":{"type":"string","description":"Régime retenu : micro-bic ou reel"},"baseImposableBIC":{"type":"number","description":"Base imposable BIC reportée au 2031 (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"baseAmortissable":182750,"dotationMobilier":1143,"dotationTravaux":0,"dotationTheorique":6625,"amortDeduit":4750,"amortReporteFin":1875,"recettes":12000,"totalChargesDeductibles":7250,"resultatAvantAmort":4750,"resultatFiscal":0},"tool":"liasse-lmnp"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/deficit-foncier":{"post":{"operationId":"deficit-foncier","summary":"Déficit foncier","description":"Simule le déficit foncier : imputation sur le revenu global et report sur revenus fonciers.","tags":["Fiscalité"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"loyerAnnuel":{"type":"number","description":"Revenus fonciers bruts annuels (€)"},"travaux":{"type":"number","description":"Travaux déductibles (€)"},"interets":{"type":"number","description":"Intérêts d'emprunt annuels (€)"},"taxeFonciere":{"type":"number","description":"Taxe foncière annuelle (€)"},"assurancePno":{"type":"number","description":"Assurance propriétaire non occupant annuelle (€)"},"fraisGestion":{"type":"number","description":"Honoraires de gestion locative annuels (€)"},"comptabilite":{"type":"number","description":"Honoraires comptables annuels (€)"},"copro":{"type":"number","description":"Charges de copropriété non récupérables annuelles (€)"},"autresCharges":{"type":"number","description":"Autres charges déductibles (€)"},"tmi":{"type":"number","description":"Tranche marginale d'imposition (%)"},"impotMode":{"type":"string","description":"Liquidation de l'économie d'impôt : bareme (défaut, IR réellement évité par le foyer) ou tmi (repli au taux plat saisi)","default":"bareme"},"foyerRevenuImposable":{"type":"number","description":"Barème : revenu net imposable annuel du foyer hors ce bien (€)","default":0},"foyerSituation":{"type":"string","description":"Barème : celibataire ou couple","default":"celibataire"},"foyerEnfants":{"type":"number","description":"Barème : enfants à charge (quotient familial)","default":0},"isRenovationEnergetique":{"type":"boolean","description":"Rénovation énergétique sortant le bien du statut de passoire : plafond d'imputation doublé à 21 400 €"}},"required":["loyerAnnuel","travaux","interets","taxeFonciere","assurancePno","fraisGestion","comptabilite","copro","autresCharges","tmi"]},"example":{"loyerAnnuel":8000,"travaux":30000,"interets":3000,"taxeFonciere":1200,"assurancePno":150,"fraisGestion":560,"comptabilite":0,"copro":800,"autresCharges":0,"tmi":30}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"totalCharges":{"type":"number","description":"Total des charges déductibles, intérêts compris (€)"},"totalChargesHorsInterets":{"type":"number","description":"Total des charges hors intérêts d'emprunt (€)"},"revenuFoncierNet":{"type":"number","description":"Revenu foncier net (€, négatif = déficit)"},"deficit":{"type":"number","description":"Déficit foncier constaté (€)"},"imputableSurRevenuGlobal":{"type":"number","description":"Part imputable sur le revenu global (€, plafond 10 700 ou 21 400)"},"economieImpot":{"type":"number","description":"Économie d'impôt de l'année (€)"},"deficitReportable":{"type":"number","description":"Déficit reportable sur revenus fonciers 10 ans (€)"},"reportInterets":{"type":"number","description":"Part du report due aux intérêts non absorbés (€)"},"reportCapDepasse":{"type":"number","description":"Part du report due au dépassement du plafond (€)"},"projection":{"type":"array","description":"Résorption du report : { annee, soldeDebut, impute, soldeFin }"}}},"tool":{"type":"string"}}},"example":{"data":{"totalCharges":35710,"totalChargesHorsInterets":32710,"revenuFoncierNet":-27710,"deficit":27710,"imputableSurRevenuGlobal":10700,"economieImpot":3210,"deficitReportable":17010,"reportInterets":0,"reportCapDepasse":17010},"tool":"deficit-foncier"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/impot-revenu":{"post":{"operationId":"impot-revenu","summary":"Impôt sur le revenu","description":"Simulation IR complète : quotient familial, décote, revenus fonciers et BIC, réductions et crédits.","tags":["Fiscalité"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"situation":{"type":"string","description":"celibataire ou couple"},"enfants":{"type":"number","description":"Nombre d'enfants à charge"},"revenuNet":{"type":"number","description":"Salaires et traitements nets annuels, avant abattement (€)"},"deductionMode":{"type":"string","description":"abattement (10 %) ou frais_reels"},"fraisReels":{"type":"number","description":"Frais réels déclarés (€) si deductionMode = frais_reels","default":0},"revenusFonciers":{"type":"number","description":"Revenus fonciers bruts (€)","default":0},"chargesFoncieres":{"type":"number","description":"Charges foncières déductibles (€)","default":0},"deficitFoncierAnterieur":{"type":"number","description":"Déficit foncier reportable des années antérieures (€)","default":0},"revenusBIC":{"type":"number","description":"Bénéfices industriels et commerciaux nets (€)","default":0},"revenusCapitaux":{"type":"number","description":"Revenus de capitaux mobiliers soumis au PFU (€)","default":0},"pensionsAlimentaires":{"type":"number","description":"Pensions alimentaires versées et déductibles (€)","default":0},"retraitesRentes":{"type":"number","description":"Pensions et retraites perçues (€)","default":0},"donsAssociations":{"type":"number","description":"Dons ouvrant droit à réduction (€)","default":0},"emploiDomicile":{"type":"number","description":"Dépenses d'emploi à domicile (€)","default":0},"gardeEnfants":{"type":"number","description":"Frais de garde de jeunes enfants (€)","default":0},"prelSrcMensuel":{"type":"number","description":"Prélèvement à la source mensuel déjà acquitté (€)","default":0}},"required":["situation","enfants","revenuNet","deductionMode"]},"example":{"situation":"couple","enfants":2,"revenuNet":62000,"deductionMode":"abattement","revenusFonciers":9000,"chargesFoncieres":3000,"prelSrcMensuel":250}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"revenuImposable":{"type":"number","description":"Revenu net imposable (€)"},"parts":{"type":"number","description":"Nombre de parts du quotient familial"},"tmi":{"type":"number","description":"Tranche marginale d'imposition, en décimal (0.30 = 30 %)"},"tauxMoyen":{"type":"number","description":"Taux moyen d'imposition (%)"},"irBrut":{"type":"number","description":"Impôt brut avant décote (€)"},"decote":{"type":"number","description":"Décote appliquée (€)"},"irNet":{"type":"number","description":"Impôt net après décote et réductions (€)"},"psFonciers":{"type":"number","description":"Prélèvements sociaux sur revenus fonciers (€)"},"pfuCapitaux":{"type":"number","description":"PFU sur revenus de capitaux mobiliers (€)"},"impotTotal":{"type":"number","description":"Impôt total dû (€)"},"prelSrcAnnuel":{"type":"number","description":"Prélèvement à la source acquitté sur l'année (€)"},"soldeAPayer":{"type":"number","description":"Solde à payer ou à restituer (€)"},"revenusTotaux":{"type":"number","description":"Revenus totaux du foyer (€)"},"resteApresImpot":{"type":"number","description":"Revenus disponibles après impôt (€/an)"},"resteMensuel":{"type":"number","description":"Revenus disponibles après impôt (€/mois)"},"totalReductions":{"type":"number","description":"Réductions et crédits d'impôt (€)"},"deficitSurGlobal":{"type":"number","description":"Déficit foncier imputé sur le revenu global (€)"},"deficitReportable":{"type":"number","description":"Déficit foncier reportable (€)"},"detailTranches":{"type":"array","description":"Détail par tranche : { min, max, rate, base, impot }"}}},"tool":{"type":"string"}}},"example":{"data":{"revenuImposable":61800,"parts":3,"tmi":0.11,"tauxMoyen":4.58,"irBrut":2970,"decote":139,"irNet":2831,"psFonciers":1032,"pfuCapitaux":0,"impotTotal":3863},"tool":"impot-revenu"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/simulateur-ifi":{"post":{"operationId":"simulateur-ifi","summary":"Simulateur IFI","description":"Calcul de l'Impôt sur la Fortune Immobilière : abattement RP, décote, plafonnement et réduction pour dons.","tags":["Fiscalité"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"biens":{"type":"array","description":"Biens détenus : { valeur, isRP, quote_part } — quote_part en % de détention"},"dettesImmo":{"type":"number","description":"Capital restant dû des emprunts immobiliers (€)","default":0},"dettesTravaux":{"type":"number","description":"Dettes de travaux déductibles (€)","default":0},"impotsDus":{"type":"number","description":"Taxes foncières et impôts déductibles (€)","default":0},"dons":{"type":"number","description":"Dons ouvrant droit à réduction d'IFI (€)","default":0},"revenusFoyer":{"type":"number","description":"Revenus du foyer, pour le plafonnement à 75 % (€)","default":0},"irPaye":{"type":"number","description":"Impôt sur le revenu acquitté, pour le plafonnement (€)","default":0}},"required":["biens"]},"example":{"biens":[{"valeur":900000,"isRP":true,"quote_part":100},{"valeur":1400000,"isRP":false,"quote_part":100}],"dettesImmo":300000,"revenusFoyer":150000,"irPaye":30000}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"actifBrut":{"type":"number","description":"Actif immobilier brut après abattement RP (€)"},"actifBrutAvantAbattement":{"type":"number","description":"Actif immobilier brut avant abattement RP (€)"},"abattementRP":{"type":"number","description":"Abattement de 30 % sur la résidence principale (€)"},"totalDettes":{"type":"number","description":"Passif déductible (€)"},"patrimoineNet":{"type":"number","description":"Patrimoine net taxable (€)"},"ifiBrut":{"type":"number","description":"IFI brut au barème (€)"},"decote":{"type":"number","description":"Décote pour patrimoine entre 1,3 et 1,4 M€ (€)"},"reductionDons":{"type":"number","description":"Réduction pour dons (€)"},"plafonnement":{"type":"number","description":"Réduction issue du plafonnement à 75 % des revenus (€)"},"ifiNet":{"type":"number","description":"IFI net dû (€)"},"tmi":{"type":"number","description":"Taux marginal du barème IFI, en décimal (0.007 = 0,7 %)"},"assujetti":{"type":"boolean","description":"Assujetti à l'IFI (patrimoine net > 1,3 M€)"},"detailTranches":{"type":"array","description":"Détail par tranche : { min, max, rate, base, impot }"}}},"tool":{"type":"string"}}},"example":{"data":{"actifBrut":2030000,"actifBrutAvantAbattement":2300000,"abattementRP":270000,"totalDettes":300000,"patrimoineNet":1730000,"ifiBrut":5510,"decote":0,"reductionDons":0,"plafonnement":0,"ifiNet":5510},"tool":"simulateur-ifi"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/frais-donation":{"post":{"operationId":"frais-donation","summary":"Frais de donation","description":"Calcule les droits de donation avec abattements par lien de parenté, démembrement, SCI et pacte Dutreil.","tags":["Transmission"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"valeurBien":{"type":"number","description":"Valeur du bien ou des titres donnés (€)"},"lien":{"type":"string","description":"enfant, petit-enfant, arriere-petit-enfant, epoux, frere-soeur, neveu-niece ou autre (les variantes avec tiret bas et « tiers » sont acceptées)"},"mode":{"type":"string","description":"pleine_propriete (ou pleine-propriete) ou nue-propriete","default":"pleine_propriete"},"ageDonateur":{"type":"number","description":"Âge du donateur — barème usufruit art. 669 CGI","default":60},"handicap":{"type":"boolean","description":"Donataire handicapé : abattement supplémentaire de 159 325 €"},"donationsAnterieures":{"type":"number","description":"Donations antérieures de moins de 15 ans (€)","default":0},"nbDonataires":{"type":"number","description":"Nombre de donataires","default":1},"deuxParents":{"type":"boolean","description":"Donation par les deux parents : abattement doublé"},"donSarkozy":{"type":"boolean","description":"Don familial de somme d'argent exonéré (art. 790 G CGI)"},"donLogement":{"type":"boolean","description":"Don exonéré affecté à l'achat ou à la rénovation énergétique d'un logement"},"isSCI":{"type":"boolean","description":"Donation de parts de SCI plutôt que du bien en direct"},"sciDette":{"type":"number","description":"Dette de la SCI, déduite de l'actif (€)","default":0},"sciTresorerie":{"type":"number","description":"Trésorerie de la SCI (€)","default":0},"sciNbParts":{"type":"number","description":"Nombre total de parts de la SCI","default":100},"sciPartsTransmises":{"type":"number","description":"Nombre de parts transmises. Par défaut la totalité"},"sciDecote":{"type":"number","description":"Décote pour illiquidité des parts (%)","default":0},"sciDetentionPct":{"type":"number","description":"Part du capital de la SCI détenue par le donateur (%)","default":100},"dutreil":{"type":"boolean","description":"Pacte Dutreil (art. 787 B) : exonération de 75 % de la valeur des titres d'une société opérationnelle ou d'une holding animatrice"}},"required":["valeurBien","lien"]},"example":{"valeurBien":300000,"lien":"enfant","mode":"pleine_propriete","ageDonateur":62,"nbDonataires":1}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"droitsTotal":{"type":"number","description":"Droits de donation dus (€)"},"fraisNotaire":{"type":"number","description":"Frais de notaire : émoluments, TPF, CSI, débours (€)"},"total":{"type":"number","description":"Coût total, droits et notaire (€)"},"valeurTransmise":{"type":"number","description":"Valeur transmise après démembrement et décote (€)"},"abattementUtilise":{"type":"number","description":"Abattement effectivement consommé (€)"},"taxableParDonateur":{"type":"number","description":"Base taxable par donateur (€)"},"valeurTransmiseTotale":{"type":"number","description":"Valeur transmise, tous donataires confondus (€)"},"partParDonataire":{"type":"number","description":"Part revenant à chaque donataire (€)"},"partParDonateurParDonataire":{"type":"number","description":"Part par couple donateur/donataire (€)"},"npPct":{"type":"number","description":"Quote-part de nue-propriété retenue (%)"},"nbDonateurs":{"type":"number","description":"Nombre de donateurs retenus"},"abattementBase":{"type":"number","description":"Abattement légal du lien de parenté (€)"},"exonerations":{"type":"number","description":"Exonérations spécifiques appliquées (€)"},"abattementParDonateur":{"type":"number","description":"Abattement disponible par donateur (€)"},"droitsParDonateur":{"type":"number","description":"Droits par donateur (€)"},"droitsParDonataire":{"type":"number","description":"Droits par donataire (€)"},"tmi":{"type":"number","description":"Taux marginal du barème de donation, en décimal (0.20 = 20 %)"},"emolumentsHT":{"type":"number","description":"Émoluments du notaire HT (€)"},"emolumentsTTC":{"type":"number","description":"Émoluments TTC (€)"},"tvaNotaire":{"type":"number","description":"TVA sur les émoluments (€)"},"csi":{"type":"number","description":"Contribution de sécurité immobilière (€)"},"tpf":{"type":"number","description":"Taxe de publicité foncière (€)"},"fraisAssiette":{"type":"number","description":"Frais d'assiette et de recouvrement (€)"},"droitEnregistrement":{"type":"number","description":"Droit d'enregistrement fixe (€)"},"debours":{"type":"number","description":"Débours (€)"},"actifNet":{"type":"number","description":"Actif net de la SCI (€, 0 hors SCI)"},"valeurPartSCI":{"type":"number","description":"Valeur unitaire d'une part de SCI (€)"},"valeurAvantDecote":{"type":"number","description":"Valeur transmise avant décote d'illiquidité (€)"},"valeurBase":{"type":"number","description":"Valeur de base retenue avant démembrement (€)"},"dutreilExoneration":{"type":"number","description":"Montant exonéré par le pacte Dutreil (€, 0 sans pacte)"},"reductionDutreil":{"type":"number","description":"Réduction de droits de 50 % art. 790 CGI (€, 0 si conditions non réunies)"}}},"tool":{"type":"string"}}},"example":{"data":{"droitsTotal":38194,"fraisNotaire":6732,"total":44926,"valeurTransmise":300000,"abattementUtilise":100000,"taxableParDonateur":200000,"valeurTransmiseTotale":300000,"partParDonataire":300000,"partParDonateurParDonataire":300000,"npPct":1},"tool":"frais-donation"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/frais-succession":{"post":{"operationId":"frais-succession","summary":"Frais de succession","description":"Calcule les droits de succession : actif net, abattements, option du conjoint, assurance-vie et frais de notaire.","tags":["Transmission"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"valeurImmo":{"type":"number","description":"Valeur des biens immobiliers (€)"},"lien":{"type":"string","description":"enfant, petit-enfant, arriere-petit-enfant, epoux, frere-soeur, neveu-niece ou autre (variantes avec tiret bas et « tiers » acceptées)"},"nbHeritiers":{"type":"number","description":"Nombre d'héritiers de ce rang"},"valeurMobilier":{"type":"number","description":"Valeur du mobilier (€)","default":0},"valeurComptes":{"type":"number","description":"Comptes bancaires et liquidités (€)","default":0},"valeurAutres":{"type":"number","description":"Autres actifs successoraux (€)","default":0},"dettes":{"type":"number","description":"Dettes du défunt (€)","default":0},"fraisFuneraires":{"type":"number","description":"Frais funéraires déductibles (€, plafond forfaitaire 1 500)","default":0},"isResidencePrincipale":{"type":"boolean","description":"Abattement de 20 % sur la résidence principale (art. 764 bis CGI)"},"handicap":{"type":"boolean","description":"Héritier handicapé : abattement supplémentaire de 159 325 €"},"donationsAnterieures":{"type":"number","description":"Donations antérieures de moins de 15 ans (€)","default":0},"frSoeurExo":{"type":"boolean","description":"Frère ou sœur remplissant les conditions d'exonération de l'art. 796-0 ter CGI"},"optionConjoint":{"type":"string","description":"Option du conjoint survivant : aucune, quart_pp ou usufruit_total","default":"aucune"},"ageConjoint":{"type":"number","description":"Âge du conjoint survivant — barème usufruit art. 669 CGI","default":65},"avMontant":{"type":"number","description":"Capitaux d'assurance-vie transmis (€)","default":0},"avPrimesAvant70":{"type":"number","description":"Part des primes versées avant 70 ans (€, régime 990 I)"},"avPrimesApres70":{"type":"number","description":"Part des primes versées après 70 ans (€, régime 757 B)"},"dutreil":{"type":"boolean","description":"Pacte Dutreil applicable à la transmission"},"dutreilValeur":{"type":"number","description":"Valeur des titres sous pacte Dutreil (€)","default":0},"paiementFractionne":{"type":"boolean","description":"Paiement fractionné ou différé des droits : ajoute les intérêts"},"avecPartage":{"type":"boolean","description":"Acte de partage établi : émoluments de partage inclus","default":true}},"required":["valeurImmo","lien","nbHeritiers"]},"example":{"valeurImmo":500000,"lien":"enfant","nbHeritiers":2,"valeurComptes":60000,"dettes":20000,"isResidencePrincipale":true}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"actifBrut":{"type":"number","description":"Actif brut successoral (€)"},"passifDeductible":{"type":"number","description":"Passif déductible (€)"},"actifNet":{"type":"number","description":"Actif net successoral (€)"},"partParHeritier":{"type":"number","description":"Part revenant à chaque héritier (€)"},"abattementUtilise":{"type":"number","description":"Abattement consommé par héritier (€)"},"taxableParHeritier":{"type":"number","description":"Base taxable par héritier (€)"},"droitsParHeritier":{"type":"number","description":"Droits par héritier (€)"},"droitsTotal":{"type":"number","description":"Droits de succession totaux (€)"},"tauxEffectif":{"type":"number","description":"Taux effectif d'imposition (%)"},"abattementRP":{"type":"number","description":"Abattement de 20 % sur la résidence principale (€)"},"actifApresRP":{"type":"number","description":"Actif après abattement résidence principale (€)"},"exonerationDutreil":{"type":"number","description":"Exonération Dutreil appliquée (€)"},"actifApresExonerations":{"type":"number","description":"Actif après exonérations (€)"},"partConjoint":{"type":"number","description":"Part revenant au conjoint survivant (€)"},"partHeritiers":{"type":"number","description":"Part revenant aux autres héritiers (€)"},"abattementDisponible":{"type":"number","description":"Abattement disponible après donations antérieures (€)"},"taxable":{"type":"number","description":"Base taxable totale (€)"},"tmi":{"type":"number","description":"Taux marginal du barème de succession, en décimal (0.20 = 20 %)"},"avParBenef":{"type":"number","description":"Capitaux d'assurance-vie par bénéficiaire (€)"},"droitsAV":{"type":"number","description":"Fiscalité totale de l'assurance-vie (€)"},"avAbat990I":{"type":"number","description":"Abattement de 152 500 € par bénéficiaire (art. 990 I) (€)"},"avTax20":{"type":"number","description":"Prélèvement à 20 % (art. 990 I) (€)"},"avTax31":{"type":"number","description":"Prélèvement à 31,25 % (art. 990 I) (€)"},"avAbat757B":{"type":"number","description":"Abattement global de 30 500 € (art. 757 B) (€)"},"avTaxBareme757B":{"type":"number","description":"Droits au barème sur les primes après 70 ans (€)"},"emolDeclarationHT":{"type":"number","description":"Émoluments de déclaration de succession HT (€)"},"emolPartageHT":{"type":"number","description":"Émoluments de partage HT (€)"},"acteNotorieteHT":{"type":"number","description":"Acte de notoriété HT (€)"},"inventaireHT":{"type":"number","description":"Inventaire HT (€)"},"totalEmolHT":{"type":"number","description":"Total des émoluments HT (€)"},"tvaNotaire":{"type":"number","description":"TVA sur les émoluments (€)"},"emolTTC":{"type":"number","description":"Émoluments TTC (€)"},"csi":{"type":"number","description":"Contribution de sécurité immobilière (€)"},"debours":{"type":"number","description":"Débours (€)"},"fraisNotaire":{"type":"number","description":"Frais de notaire totaux (€)"},"interetsFractionne":{"type":"number","description":"Intérêts du paiement fractionné ou différé (€)"},"total":{"type":"number","description":"Coût total, droits et frais de notaire (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"actifBrut":560000,"passifDeductible":20000,"actifNet":540000,"partParHeritier":220000,"abattementUtilise":100000,"taxableParHeritier":120000,"droitsParHeritier":22194,"droitsTotal":44388,"tauxEffectif":10.09,"abattementRP":100000},"tool":"frais-succession"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/bilan-marchand-de-biens":{"post":{"operationId":"bilan-marchand-de-biens","summary":"Bilan marchand de biens","description":"Bilan complet d'une opération d'achat-revente : prix de revient, portage, TVA, impôt, sensibilité et art. 1115 CGI. Les champs descriptifs de l'écran (statut du vendeur, DPE avant/après) sont acceptés mais n'entrent dans aucun calcul : c'est tvaMode qui commande la TVA.","tags":["Stratégie"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prixAchat":{"type":"number","description":"Prix d'achat (€)"},"prixVente":{"type":"number","description":"Prix de revente TTC (€)"},"surface":{"type":"number","description":"Surface du bien (m²) — sert aux ratios au m²"},"regime":{"type":"string","description":"Régime d'imposition du résultat : ir ou is"},"tvaMode":{"type":"string","description":"Régime de TVA : marge, prixTotal ou aucune"},"operationType":{"type":"string","description":"bati, terrain ou lotissement","default":"bati"},"surfaceTerrain":{"type":"number","description":"Surface de la parcelle (m²), opérations terrain et lotissement"},"zonagePLU":{"type":"string","description":"Zonage PLU : U, AU, A, N ou autre","default":"U"},"constructible":{"type":"boolean","description":"Terrain à bâtir","default":true},"surfaceConstructibleSDP":{"type":"number","description":"Surface de plancher autorisée par le PLU (m²)","default":0},"bornageGeometre":{"type":"number","description":"Bornage par géomètre (€), opérations terrain et lotissement. Compté à 1 500 € à défaut de saisie, comme l'outil du site","default":1500},"etudeSolG2":{"type":"number","description":"Étude de sol G2 (€), opérations terrain et lotissement. Non comptée à défaut de saisie ; 1 200 à 3 500 € en zone argileuse (loi Élan)","default":0},"diagnosticPollution":{"type":"number","description":"Diagnostic de pollution BASIAS/BASOL (€)","default":0},"viabilisationGaz":{"type":"number","description":"Viabilisation gaz (€)","default":0},"viabilisationAssainissement":{"type":"number","description":"Viabilisation assainissement, collectif ou ANC (€)","default":0},"voirieAcces":{"type":"number","description":"Voirie et accès (€)","default":0},"divisionParcellaire":{"type":"number","description":"Division parcellaire : géomètre et permis d'aménager (€)","default":0},"permisAmenagerFrais":{"type":"number","description":"Instruction du permis d'aménager et garanties (€)","default":0},"engagementRevente":{"type":"boolean","description":"Engagement de revente sous 5 ans (art. 1115 CGI) : frais de notaire réduits","default":true},"nbLots":{"type":"number","description":"Lotissement : nombre de lots à la revente","default":1},"prixVenteParLot":{"type":"number","description":"Lotissement : prix de vente uniforme par lot (€) — prime sur prixVente"},"lotsPrix":{"type":"array","description":"Lotissement : prix par lot (€). Prioritaire sur nbLots et prixVenteParLot"},"lotsSurfaces":{"type":"array","description":"Lotissement : surface de chaque lot (m²), dans l'ordre de lotsPrix. Clé de répartition seulement : renseignée pour TOUS les lots, elle répartit le foncier et l'aménagement au m² de lot dans la synthèse et donne la surface cessible (lotissement.surfaceCessible) ; aucun total du bilan n'en dépend"},"lots":{"type":"array","description":"Ventilation de l'opération par lot : { nom, surface, acquisition, travaux, valeur, grosOeuvre, secondOeuvre, menuiseries }. surface/acquisition/valeur sont des CLÉS DE RÉPARTITION appliquées aux totaux du bilan. grosOeuvre/secondOeuvre/menuiseries sont les BUDGETS RÉELS du lot : dès qu'un lot en porte un, le budget travaux de l'opération est la somme des lots et les champs de travaux globaux sont ignorés (jamais deux chiffres concurrents). À travaux égaux, le bilan est identique"},"fraisNotairePct":{"type":"number","description":"Frais de notaire (% du prix). À défaut : 2,5 % en bâti, 2,2 % en terrain avec engagement, 7,5 % sans"},"fraisNotaireMontant":{"type":"number","description":"Frais de notaire en euros. Renseigné (> 0), il prime sur fraisNotairePct"},"fraisAgencePct":{"type":"number","description":"Frais d'agence à l'achat (% du prix)","default":0},"taxeAmenagement":{"type":"number","description":"Taxe d'aménagement (€)","default":0},"pfac":{"type":"number","description":"Participation au financement de l'assainissement collectif (€)","default":0},"raccordementElec":{"type":"number","description":"Raccordement électricité (€)","default":0},"raccordementEau":{"type":"number","description":"Raccordement eau (€)","default":0},"raccordementFibre":{"type":"number","description":"Raccordement fibre (€)","default":0},"raccordementAutre":{"type":"number","description":"Autres raccordements (€)","default":0},"fondations":{"type":"number","description":"Gros œuvre — fondations (€)","default":0},"structureMurs":{"type":"number","description":"Gros œuvre — structure et murs (€)","default":0},"charpente":{"type":"number","description":"Gros œuvre — charpente (€)","default":0},"toiture":{"type":"number","description":"Gros œuvre — toiture (€)","default":0},"facade":{"type":"number","description":"Gros œuvre — façade (€)","default":0},"demolition":{"type":"number","description":"Gros œuvre — démolition (€)","default":0},"terrassement":{"type":"number","description":"Gros œuvre — terrassement (€)","default":0},"plomberie":{"type":"number","description":"Second œuvre — plomberie (€)","default":0},"electricite":{"type":"number","description":"Second œuvre — électricité (€)","default":0},"carrelage":{"type":"number","description":"Second œuvre — carrelage et sols (€)","default":0},"peinture":{"type":"number","description":"Second œuvre — peinture (€)","default":0},"isolation":{"type":"number","description":"Second œuvre — isolation (€)","default":0},"platrerie":{"type":"number","description":"Second œuvre — plâtrerie (€)","default":0},"chauffageClim":{"type":"number","description":"Second œuvre — chauffage et climatisation (€)","default":0},"fenetres":{"type":"number","description":"Menuiseries — fenêtres (€)","default":0},"portesInt":{"type":"number","description":"Menuiseries — portes intérieures (€)","default":0},"porteEntree":{"type":"number","description":"Menuiseries — porte d'entrée (€)","default":0},"volets":{"type":"number","description":"Menuiseries — volets (€)","default":0},"montantCredit":{"type":"number","description":"Montant du crédit (€). À défaut : prix de revient avant financement − apport"},"tauxCredit":{"type":"number","description":"Taux annuel du crédit (%)","default":5},"dureeCredit":{"type":"number","description":"Durée du crédit (mois)","default":18},"fraisDossierPct":{"type":"number","description":"Frais de dossier (% du crédit)","default":1},"fraisGarantiePct":{"type":"number","description":"Frais de garantie (% du crédit)","default":1},"differeMois":{"type":"number","description":"Différé de remboursement (mois), plafonné à la durée du crédit","default":0},"differeType":{"type":"string","description":"partiel (intérêts payés au fil de l'eau) ou total (intérêts capitalisés)","default":"partiel"},"apport":{"type":"number","description":"Apport en fonds propres (€)","default":0},"dureePortageMois":{"type":"number","description":"Durée de détention (mois). Par défaut, la durée du crédit"},"taxeFonciereAnnuelle":{"type":"number","description":"Taxe foncière pendant le portage (€/an)","default":0},"chargesCoproMensuelles":{"type":"number","description":"Charges de copropriété pendant le portage (€/mois)","default":0},"assurancesPortageAnnuelles":{"type":"number","description":"Assurances PNO et RC pro pendant le portage (€/an)","default":0},"assuranceDommagesOuvrage":{"type":"number","description":"Assurance dommages-ouvrage, forfait unique (€)","default":0},"autresChargesPortageMensuelles":{"type":"number","description":"Autres charges de détention : énergie, gardiennage (€/mois)","default":0},"moisDemarrageTravaux":{"type":"number","description":"Échéancier : mois entre l'acte d'achat et le démarrage des travaux","default":1},"dureeTravauxMois":{"type":"number","description":"Échéancier : durée du chantier (mois)","default":6},"dureeCommercialisationMois":{"type":"number","description":"Échéancier : mise en vente jusqu'au compromis (mois)","default":4},"delaiCompromisActeMois":{"type":"number","description":"Échéancier : compromis jusqu'à l'acte (mois)","default":3},"fraisAgenceVentePct":{"type":"number","description":"Frais d'agence à la revente (% du prix de vente)","default":0},"fraisDiagnostics":{"type":"number","description":"Diagnostics obligatoires (€)","default":0},"fraisHomeStaging":{"type":"number","description":"Home staging et mise en valeur (€)","default":0},"tmi":{"type":"number","description":"TMI si régime IR, en décimal (0.30 = 30 %)","default":0.3},"impotMode":{"type":"string","description":"Option IR : bareme (défaut, barème progressif du foyer, art. 197 CGI) ou tmi (repli au taux plat saisi)","default":"bareme"},"foyerRevenuImposable":{"type":"number","description":"Barème : revenu net imposable annuel du foyer hors cette opération (€)","default":0},"foyerSituation":{"type":"string","description":"Barème : celibataire ou couple","default":"celibataire"},"foyerEnfants":{"type":"number","description":"Barème : enfants à charge (quotient familial)","default":0},"cotisationsSocialesPct":{"type":"number","description":"Cotisations SSI sur le bénéfice BIC (% du bénéfice ; réel ~40-45 %)","default":0},"dmtoPleinPct":{"type":"number","description":"DMTO de droit commun retenu pour l'art. 1115 (%)","default":6.32}},"required":["prixAchat","prixVente","surface","regime","tvaMode"]},"example":{"prixAchat":150000,"prixVente":250000,"surface":80,"regime":"is","tvaMode":"marge","demolition":5000,"plomberie":12000,"electricite":10000,"peinture":8000,"fenetres":5000,"apport":40000,"tauxCredit":5,"dureeCredit":18,"taxeFonciereAnnuelle":900,"fraisAgenceVentePct":4,"fraisDiagnostics":600}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"operationType":{"type":"string","description":"Type d'opération retenu"},"terrain":{"type":"object","description":"Bloc terrain : études, viabilisation, aménagement, ratios au m². Présent en opération terrain ou lotissement"},"lotissement":{"type":"object","description":"Bloc lotissement : nombre de lots, prix et marge par lot. Présent en opération lotissement"},"portage":{"type":"object","description":"Coût de détention : coût mensuel, frais fixes, coût d'un mois de retard, mois avant marge nulle"},"echeancier":{"type":"object","description":"Phases de l'opération, durée cumulée et marge de sécurité"},"sensibilite":{"type":"object","description":"Grille prix × retard, prix d'équilibre et marge de sécurité en prix"},"article1115":{"type":"object","description":"Engagement de revendre : économie de droits, coût d'une déchéance, mention d'acte"},"prixAchat":{"type":"number","description":"Prix d'achat (€)"},"fraisNotaire":{"type":"number","description":"Frais de notaire à l'achat (€)"},"fraisAgence":{"type":"number","description":"Frais d'agence à l'achat (€)"},"totalAcquisition":{"type":"number","description":"Coût total d'acquisition (€)"},"taxeAmenagement":{"type":"number","description":"Taxe d'aménagement (€)"},"pfac":{"type":"number","description":"Participation assainissement collectif (€)"},"raccordements":{"type":"number","description":"Total des raccordements (€)"},"totalTaxes":{"type":"number","description":"Total taxes et raccordements (€)"},"grosOeuvre":{"type":"number","description":"Total gros œuvre (€)"},"grosOeuvreDetail":{"type":"array","description":"Détail gros œuvre : { label, montant }"},"secondOeuvre":{"type":"number","description":"Total second œuvre (€)"},"secondOeuvreDetail":{"type":"array","description":"Détail second œuvre : { label, montant }"},"menuiseries":{"type":"number","description":"Total menuiseries (€)"},"menuiseriesDetail":{"type":"array","description":"Détail menuiseries : { label, montant }"},"totalTravaux":{"type":"number","description":"Total des travaux (€)"},"coutTravauxM2":{"type":"number","description":"Coût des travaux au m² (€)"},"montantCredit":{"type":"number","description":"Montant du crédit retenu (€)"},"interetsCredit":{"type":"number","description":"Intérêts du crédit sur la durée (€), capitalisation du différé total comprise"},"creditApresDiffere":{"type":"number","description":"Dette à l'issue du différé, intérêts capitalisés compris (€)"},"interetsCapitalises":{"type":"number","description":"Intérêts capitalisés pendant un différé total (€) — nuls en différé partiel"},"differeMois":{"type":"number","description":"Différé retenu (mois)"},"differeType":{"type":"string","description":"Forme du différé appliquée"},"fraisDossier":{"type":"number","description":"Frais de dossier (€)"},"fraisGarantie":{"type":"number","description":"Frais de garantie (€)"},"totalFinancement":{"type":"number","description":"Coût total du financement (€)"},"totalChargesPortage":{"type":"number","description":"Charges de détention sur la durée de portage (€)"},"fraisAgenceVente":{"type":"number","description":"Frais d'agence à la revente (€)"},"fraisDiagnostics":{"type":"number","description":"Diagnostics (€)"},"fraisHomeStaging":{"type":"number","description":"Home staging (€)"},"totalCommercialisation":{"type":"number","description":"Total commercialisation (€)"},"prixRevient":{"type":"number","description":"Prix de revient de l'opération (€)"},"prixRevientM2":{"type":"number","description":"Prix de revient au m² (€)"},"prixVente":{"type":"number","description":"Prix de vente retenu (€)"},"prixVenteM2":{"type":"number","description":"Prix de vente au m² (€)"},"tvaMode":{"type":"string","description":"Régime de TVA appliqué"},"tvaBrute":{"type":"number","description":"TVA collectée (€)"},"tvaRecuperee":{"type":"number","description":"TVA déductible (€)"},"tvaNetteDue":{"type":"number","description":"TVA nette due (€)"},"margeBrute":{"type":"number","description":"Marge brute après TVA (€)"},"margeBrutePct":{"type":"number","description":"Marge brute rapportée au prix de revient (%)"},"impot":{"type":"number","description":"Impôt sur le résultat (€)"},"impotLabel":{"type":"string","description":"Régime d'imposition appliqué, en clair"},"cotisationsSociales":{"type":"number","description":"Cotisations SSI sur le bénéfice BIC (€)"},"cotisationsSocialesLabel":{"type":"string","description":"Base des cotisations sociales, en clair"},"resultatFiscalLabel":{"type":"string","description":"Nature fiscale du résultat selon la structure"},"margeNette":{"type":"number","description":"Marge nette après impôt et cotisations (€)"},"margeNettePct":{"type":"number","description":"Marge nette rapportée au prix de revient (%)"},"rentabilite":{"type":"number","description":"Rentabilité de l'opération (%)"},"verdict":{"type":"string","description":"Appréciation synthétique de l'opération"},"synthese":{"type":"object","description":"Synthèse financière : lots, travauxSaisisParLot, lignes de la cascade (acquisition, travaux, autres frais, prix de revient, prix de vente, TVA, marge brute et nette) avec leurs valeurs par lot et leurs ratios au m², consommation de l'enveloppe de crédit poste par poste (chaque étape porte la clé de sa ligne), chiffres clés et bloc financement (crédit, apport, portage, taux, différé, coût du financement). Purement dérivée des autres sorties"}}},"tool":{"type":"string"}}},"example":{"data":{"operationType":"bati","prixAchat":150000,"fraisNotaire":3750,"fraisAgence":0,"totalAcquisition":153750,"taxeAmenagement":0,"pfac":0,"raccordements":0,"totalTaxes":0,"grosOeuvre":5000},"tool":"bilan-marchand-de-biens"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/bilan-promoteur":{"post":{"operationId":"bilan-promoteur","summary":"Bilan promoteur","description":"Bilan financier d'une opération de promotion immobilière : charge foncière, coût technique, plan de financement, VEFA sociale.","tags":["Stratégie"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prixTerrain":{"type":"number","description":"Prix du foncier (€)"},"totalSdp":{"type":"number","description":"Surface de plancher totale (m²)"},"totalShab":{"type":"number","description":"Surface habitable totale (m²)"},"coutConstructionM2":{"type":"number","description":"Coût de construction (€/m² SDP)"},"prixVenteM2":{"type":"number","description":"Prix de vente des logements libres (€/m² SHAB)"},"fraisNotaireTerrain":{"type":"number","description":"Frais de notaire sur le foncier (% du prix)","default":2},"nbParkingsSouterrain":{"type":"number","description":"Nombre de places en sous-sol","default":0},"coutParkingSouterrain":{"type":"number","description":"Coût d'une place en sous-sol (€)","default":17000},"nbParkingsExterieur":{"type":"number","description":"Nombre de places extérieures","default":0},"coutParkingExterieur":{"type":"number","description":"Coût d'une place extérieure (€)","default":5000},"prixVenteParkingSouterrain":{"type":"number","description":"Prix de vente d'une place en sous-sol (€ HT)","default":20000},"prixVenteParkingExterieur":{"type":"number","description":"Prix de vente d'une place extérieure (€ HT)","default":10000},"prixVenteMode":{"type":"string","description":"Le prix de vente saisi est HT ou TTC","default":"HT"},"tvaTaux":{"type":"number","description":"Taux de TVA de la vente libre (%)","default":20},"caCommerces":{"type":"number","description":"Chiffre d'affaires des commerces (€ HT)","default":0},"partSocialePct":{"type":"number","description":"Part de la SHAB cédée en bloc à un bailleur social (%)","default":0},"prixVenteSocialM2":{"type":"number","description":"Prix de cession social (€/m² SHAB). Sans valeur saisie, le repère de la zone ABC est appliqué ; sans zone, le prix libre diminué de 25 %"},"prixVenteSocialMode":{"type":"string","description":"Le prix de cession social saisi est HT ou TTC","default":"HT"},"produitSocial":{"type":"string","description":"Produit de financement social : PLAI, PLUS ou PLS — pilote le taux de TVA","default":"PLUS"},"enQpvOuAnru":{"type":"boolean","description":"Opération en QPV ou sous convention ANRU : PLUS ramené de 10 % à 5,5 %","default":false},"zoneAbc":{"type":"string","description":"Zone ABC : Abis, A, B1, B2 ou C. Fixe le prix de cession social retenu quand prixVenteSocialM2 n'est pas fourni (3 800 / 2 950 / 2 500 / 2 250 / 2 100 € HT par m² SHAB) et le plafond PSLA"},"partAccessionPct":{"type":"number","description":"Part de la SHAB vendue en accession encadrée — PSLA ou prix maîtrisé (%), plafonnée à 100 − partSocialePct","default":0},"produitAccession":{"type":"string","description":"PSLA (TVA 5,5 %, prix plafonné par zone : 5 837 / 4 423 / 3 542 / 3 269 / 2 857 € HT par m² de surface utile en 2026) ou PRIX_MAITRISE (charte locale, TVA 20 % ou 5,5 % en QPV/ANRU)","default":"PSLA"},"prixVenteAccessionM2":{"type":"number","description":"Prix de vente en accession encadrée (€/m² SHAB). Sans valeur saisie : plafond PSLA de la zone ramené au m² SHAB, sinon le prix libre diminué de 15 % (PSLA) ou 20 % (prix maîtrisé)"},"prixVenteAccessionMode":{"type":"string","description":"Le prix d'accession encadrée saisi est HT ou TTC","default":"HT"},"tauxHonorairesTech":{"type":"number","description":"Honoraires techniques (% du coût technique)","default":12},"tauxAssurances":{"type":"number","description":"Assurances (% du coût technique)","default":3},"tauxCommercialisation":{"type":"number","description":"Commercialisation (% du CA HT)","default":4},"tauxFraisFinanciers":{"type":"number","description":"Frais financiers (% annuel des fonds mobilisés), mode simplifié","default":5},"dureeProjet":{"type":"number","description":"Durée de l'opération (mois)","default":24},"tauxGestion":{"type":"number","description":"Frais de gestion (% du CA HT)","default":4},"tauxTA":{"type":"number","description":"Taux de taxe d'aménagement (%)","default":5},"valeurForfaitaireTA":{"type":"number","description":"Valeur forfaitaire de la taxe d'aménagement (€/m²) : 892 hors IDF, 1011 en IDF","default":892},"nbLogements":{"type":"number","description":"Nombre de logements — abattement de 50 % sur les 100 premiers m² par logement"},"surfaceTaxableTA":{"type":"number","description":"Surface taxable de la taxe d'aménagement (m²) : surfaces closes et couvertes au nu intérieur des façades, sans les déductions de la SDP (art. 1635 quater H du CGI), environ 1,14 × SDP en collectif. Absente : la SDP"},"tauxTADepartement":{"type":"number","description":"Part départementale de la taxe d'aménagement (%, 2,5 au plus), ajoutée à tauxTA. Absente : 0","default":0},"tauxTARegion":{"type":"number","description":"Part régionale de la taxe d'aménagement, Île-de-France seulement (%, 1 au plus), ajoutée à tauxTA. Absente : 0","default":0},"tauxArcheologiePreventive":{"type":"number","description":"Taxe d'archéologie préventive (%, 0,40 depuis 2024, art. 235 ter ZG du CGI), sur la même assiette que la taxe d'aménagement et comptée avec elle. Absente : 0","default":0},"valeurPlaceExterieureTA":{"type":"number","description":"Valeur forfaitaire d'une place de stationnement extérieure pour la taxe d'aménagement (€ : 2 928 en 2026, jusqu'à 5 857 par délibération). S'applique aux nbParkingsExterieur ; les places intégrées au bâti sont exonérées. Absente : 0, places non taxées","default":0},"coutDemolition":{"type":"number","description":"Démolition et libération du terrain (€ HT), comptée dans le coût technique. Absente : 0","default":0},"tauxVrd":{"type":"number","description":"VRD et aménagements extérieurs (% du coût de construction, usage 5 à 15 %), comptés dans le coût technique. Absent : 0","default":0},"coutFondationsSpeciales":{"type":"number","description":"Fondations spéciales et adaptation au sol : pente, argiles, nappe (€ HT), comptées dans le coût technique. Absentes : 0","default":0},"tauxAleas":{"type":"number","description":"Aléas (% des travaux : construction, stationnements, démolition, VRD, fondations ; usage 3 à 5 %), comptés dans le coût technique. Absents : 0","default":0},"tauxFraisFinanciersCa":{"type":"number","description":"Frais financiers forfaitaires (% du CA HT : intérêts, garantie financière d'achèvement, frais bancaires ; 2,5 à 3,5 % dans les bilans publiés). Présent, il remplace la formule simplifiée ; le mode détaillé garde la main. Absent : la formule"},"margeCiblePct":{"type":"number","description":"Marge visée (% du CA HT) qui juge le verdict : viable à la marge visée, tendue jusqu'à 3 points sous elle. Absente : 8 %"},"modeFinancement":{"type":"string","description":"simplifie (forfait) ou detaille (simulation mensuelle de trésorerie)","default":"simplifie"},"tauxFondsPropres":{"type":"number","description":"Fonds propres (% du prix de revient)","default":18},"tauxCreditAnnuel":{"type":"number","description":"Taux annuel du crédit d'accompagnement (%)","default":5.5},"commissionEngagement":{"type":"number","description":"Commission de non-utilisation annuelle sur l'enveloppe non tirée (%)","default":0.75},"enveloppeCreditPct":{"type":"number","description":"Enveloppe de crédit autorisée (% du prix de revient)","default":38},"tauxRemunerationFondsPropres":{"type":"number","description":"Rémunération annuelle des comptes courants d'associés (%)","default":0},"dureeEtudes":{"type":"number","description":"Études, montage, instruction du PC et purge des recours (mois)","default":12},"dureeTravaux":{"type":"number","description":"Durée du chantier (mois). Par défaut, dérivée de la durée d'opération"},"dureeCommercialisation":{"type":"number","description":"Durée de commercialisation au détail (mois). Par défaut, 75 % de la durée d'opération"},"seuilPrecommercialisation":{"type":"number","description":"Seuil de pré-commercialisation exigé par la banque (% du CA TTC)","default":50},"lots":{"type":"array","description":"Ventilation de la synthèse financière par lot ou par typologie : { nom, surface, acquisition, travaux, valeur }. Les montants sont des CLÉS DE RÉPARTITION appliquées aux totaux du bilan, jamais un second calcul : le bilan est identique avec ou sans. Le modèle du promoteur étant une construction au m² par typologie, il n'accepte pas de postes de travaux par lot"}},"required":["prixTerrain","totalSdp","totalShab","coutConstructionM2","prixVenteM2"]},"example":{"prixTerrain":500000,"totalSdp":2200,"totalShab":2000,"coutConstructionM2":1650,"prixVenteM2":3800,"nbParkingsSouterrain":24,"nbLogements":30,"dureeProjet":24}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"chargeFonciere":{"type":"number","description":"Charge foncière, frais de notaire inclus (€)"},"coutConstruction":{"type":"number","description":"Coût de construction du bâti (€)"},"coutDemolition":{"type":"number","description":"Démolition et libération du terrain (€), 0 sans coutDemolition"},"coutVrd":{"type":"number","description":"VRD et aménagements extérieurs (€), 0 sans tauxVrd"},"coutFondationsSpeciales":{"type":"number","description":"Fondations spéciales et adaptation au sol (€), 0 sans coutFondationsSpeciales"},"aleas":{"type":"number","description":"Aléas sur l'ensemble des travaux (€), 0 sans tauxAleas"},"coutTechnique":{"type":"number","description":"Coût technique : construction, parkings et, quand ils sont saisis, démolition, VRD, fondations spéciales et aléas (€)"},"honoraires":{"type":"number","description":"Honoraires techniques (€)"},"assurances":{"type":"number","description":"Assurances (€)"},"commercialisation":{"type":"number","description":"Frais de commercialisation (€)"},"fraisFinanciers":{"type":"number","description":"Frais financiers imputés au compte de résultat (€)"},"gestion":{"type":"number","description":"Frais de gestion (€)"},"taxeAmenagement":{"type":"number","description":"Taxe d'aménagement, parts saisies et archéologie préventive comprises (€)"},"taxeArcheologie":{"type":"number","description":"Dont taxe d'archéologie préventive (€), 0 sans tauxArcheologiePreventive"},"totalDepenses":{"type":"number","description":"Total des dépenses (€)"},"caTotal":{"type":"number","description":"Chiffre d'affaires HT (€)"},"marge":{"type":"number","description":"Marge de l'opération (€)"},"tauxMarge":{"type":"number","description":"Taux de marge sur CA HT (%)"},"prixRevientM2":{"type":"number","description":"Prix de revient au m² SHAB (€)"},"verdict":{"type":"string","description":"Appréciation synthétique de l'opération"},"shabLibre":{"type":"number","description":"SHAB vendue au prix libre (m²)"},"shabSocial":{"type":"number","description":"SHAB cédée en bloc au bailleur social (m²)"},"caLogementsLibre":{"type":"number","description":"CA HT des logements libres (€)"},"caLogementsSocial":{"type":"number","description":"CA HT du bloc social (€)"},"decoteSocialePct":{"type":"number","description":"Décote consentie sur le bloc social (% du prix libre)"},"decoteSocialeMontant":{"type":"number","description":"Manque à gagner par rapport à une vente intégralement libre (€)"},"tvaTauxSocial":{"type":"number","description":"Taux de TVA retenu pour le bloc social (%)"},"tvaTauxLibre":{"type":"number","description":"Taux de TVA retenu pour la vente libre (%)"},"tvaCollecteeLibre":{"type":"number","description":"TVA collectée sur la vente libre (€, pour mémoire)"},"tvaCollecteeSocial":{"type":"number","description":"TVA collectée sur le bloc social (€, pour mémoire)"},"shabAccession":{"type":"number","description":"SHAB vendue en accession encadrée (m²)"},"caLogementsAccession":{"type":"number","description":"CA HT de l'accession encadrée — PSLA ou prix maîtrisé (€)"},"prixAccessionM2":{"type":"number","description":"Prix retenu en accession encadrée (€ HT/m² SHAB)"},"decoteAccessionPct":{"type":"number","description":"Décote de l'accession encadrée par rapport au prix libre (%)"},"decoteAccessionMontant":{"type":"number","description":"Manque à gagner de l'accession encadrée (€)"},"tvaTauxAccession":{"type":"number","description":"Taux de TVA retenu pour l'accession encadrée (%)"},"tvaCollecteeAccession":{"type":"number","description":"TVA collectée sur l'accession encadrée (€, pour mémoire)"},"caParkings":{"type":"number","description":"CA HT des stationnements (€)"},"caTotalTtc":{"type":"number","description":"CA TTC — base du seuil de pré-commercialisation (€)"},"financement":{"type":"object","description":"Plan de financement : fonds propres, encours de crédit, commission de non-utilisation, frais financiers"},"precommercialisation":{"type":"object","description":"Seuil de pré-commercialisation : CA et nombre de lots à réserver avant déblocage"},"sensibilite":{"type":"array","description":"Grille 3×3 : prix de vente ±5 % × coûts ±5 %"},"synthese":{"type":"object","description":"Synthèse financière : lots, lignes de la cascade (charge foncière, coût technique, autres frais, prix de revient, chiffre d'affaires, marge) avec leurs valeurs par lot et leurs ratios au m² SHAB, consommation de l'enveloppe de crédit poste par poste (chaque étape porte la clé de sa ligne), chiffres clés et bloc financement (fonds propres, enveloppe, pic d'encours, frais financiers, durée). Purement dérivée des autres sorties"}}},"tool":{"type":"string"}}},"example":{"data":{"chargeFonciere":510000,"coutConstruction":3630000,"coutTechnique":4038000,"honoraires":484560,"assurances":121140,"commercialisation":323200,"fraisFinanciers":251628,"gestion":323200,"taxeAmenagement":53520,"totalDepenses":6105248},"tool":"bilan-promoteur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/offre-achat":{"post":{"operationId":"offre-achat","summary":"Offre d'achat optimale","description":"Calcule le prix d'achat maximum compatible avec un objectif de cashflow et la contrainte d'endettement.","tags":["Stratégie"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"loyerMensuel":{"type":"number","description":"Loyer mensuel hors charges attendu (€)"},"tauxEmprunt":{"type":"number","description":"Taux nominal du prêt (%)"},"duree":{"type":"number","description":"Durée du prêt (années)"},"apport":{"type":"number","description":"Apport personnel (€)"},"revenusMensuels":{"type":"number","description":"Revenus mensuels nets du foyer (€)"},"tmi":{"type":"number","description":"Tranche marginale d'imposition (%)"},"impotMode":{"type":"string","description":"Liquidation de l'impôt : bareme (défaut, barème progressif du foyer, art. 197 CGI) ou tmi (repli au taux plat saisi)","default":"bareme"},"foyerRevenuImposable":{"type":"number","description":"Barème : revenu net imposable annuel du foyer hors ce bien (€)","default":0},"foyerSituation":{"type":"string","description":"Barème : celibataire ou couple","default":"celibataire"},"foyerEnfants":{"type":"number","description":"Barème : enfants à charge (quotient familial)","default":0},"regime":{"type":"string","description":"Régime fiscal envisagé : nuMicro, nuReel, lmnpMicro, lmnpReel, lmpReel, sciIR ou sciIS. Commande le calcul de l'impôt, donc le cashflow et le rendement net-net. Toute autre valeur retombe sur une imposition simplifiée au barème + prélèvements sociaux"},"vacance":{"type":"number","description":"Taux de vacance locative (%)","default":5},"chargesMensuelles":{"type":"number","description":"Charges non récupérables (€/mois)","default":0},"gestionPct":{"type":"number","description":"Honoraires de gestion locative (% du loyer)","default":7},"taxeFonciere":{"type":"number","description":"Taxe foncière annuelle (€)","default":0},"tauxNotaire":{"type":"number","description":"Frais de notaire (% du prix)","default":7.5},"tauxAgence":{"type":"number","description":"Frais d'agence (% du prix)","default":5},"travaux":{"type":"number","description":"Budget travaux (€)","default":0},"ameublement":{"type":"number","description":"Budget ameublement (€)","default":0},"dettesExistantes":{"type":"number","description":"Mensualités de crédits en cours (€/mois)","default":0},"cashflowCible":{"type":"number","description":"Cashflow mensuel visé (€)","default":0}},"required":["loyerMensuel","tauxEmprunt","duree","apport","revenusMensuels","tmi","regime"]},"example":{"loyerMensuel":800,"tauxEmprunt":3.5,"duree":20,"apport":20000,"revenusMensuels":3500,"tmi":30,"regime":"lmnpReel","taxeFonciere":900,"chargesMensuelles":60,"cashflowCible":0}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"prixMax":{"type":"number","description":"Prix d'achat maximum (€)"},"fraisNotaire":{"type":"number","description":"Frais de notaire correspondants (€)"},"fraisAgence":{"type":"number","description":"Frais d'agence correspondants (€)"},"montantEmprunte":{"type":"number","description":"Capital à emprunter (€)"},"mensualite":{"type":"number","description":"Mensualité correspondante (€)"},"cashflowMensuel":{"type":"number","description":"Cashflow mensuel obtenu (€)"},"rendementBrut":{"type":"number","description":"Rendement brut au prix maximum (%)"},"rendementNet":{"type":"number","description":"Rendement net de charges (%)"},"rendementNetNet":{"type":"number","description":"Rendement net après impôt (%)"},"tauxEndettement":{"type":"number","description":"Taux d'endettement résultant (%)"}}},"tool":{"type":"string"}}},"example":{"data":{"prixMax":101975,"fraisNotaire":7648,"fraisAgence":5099,"montantEmprunte":94722,"mensualite":549,"cashflowMensuel":-18,"rendementBrut":7.95,"rendementNet":6.74,"rendementNetNet":6.34,"tauxEndettement":15.69},"tool":"offre-achat"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/simulateur-viager":{"post":{"operationId":"simulateur-viager","summary":"Simulateur viager","description":"Calcule le bouquet, la rente viagère et le droit d'usage selon l'âge et le sexe du crédirentier.","tags":["Stratégie"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"valeur":{"type":"number","description":"Valeur vénale du bien (€)"},"type":{"type":"string","description":"libre ou occupe"},"sexe":{"type":"string","description":"homme ou femme (tables de mortalité INSEE)"},"age":{"type":"number","description":"Âge du crédirentier (vendeur)"},"loyerMensuel":{"type":"number","description":"Valeur locative mensuelle (€) — sert au DUH en viager occupé","default":0},"pctBouquet":{"type":"number","description":"Bouquet en % de la valeur occupée","default":30},"tauxTechnique":{"type":"number","description":"Taux technique annuel d'actualisation de la rente et du DUH (%). 0 = calcul simple","default":0}},"required":["valeur","type","sexe","age"]},"example":{"valeur":300000,"type":"occupe","sexe":"homme","age":75,"loyerMensuel":1000,"pctBouquet":30,"tauxTechnique":2.5}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"esperanceVie":{"type":"number","description":"Espérance de vie résiduelle (années, tables INSEE)"},"duh":{"type":"number","description":"Droit d'usage et d'habitation (€, viager occupé)"},"valeurOccupee":{"type":"number","description":"Valeur occupée = valeur vénale − DUH (€)"},"bouquet":{"type":"number","description":"Bouquet (€)"},"renteMensuelle":{"type":"number","description":"Rente mensuelle (€)"},"coutTotal":{"type":"number","description":"Bouquet + rentes sur l'espérance de vie (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"esperanceVie":12.5,"duh":108352,"valeurOccupee":191648,"bouquet":57494,"renteMensuelle":1041,"coutTotal":213644},"tool":"simulateur-viager"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/simulateur-demembrement":{"post":{"operationId":"simulateur-demembrement","summary":"Simulateur démembrement","description":"Valorise l'usufruit et la nue-propriété selon le barème fiscal (art. 669 CGI), en viager ou à durée fixe.","tags":["Stratégie"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"valeur":{"type":"number","description":"Valeur en pleine propriété (€)"},"type":{"type":"string","description":"viager (barème par âge) ou temporaire (23 % par période de 10 ans entamée)"},"age":{"type":"number","description":"Âge de l'usufruitier — plafonne aussi l'usufruit temporaire","default":65},"duree":{"type":"number","description":"Durée de l'usufruit temporaire (années)","default":10},"loyerMensuel":{"type":"number","description":"Loyer mensuel du bien (€) — sert au rendement de la nue-propriété","default":0}},"required":["valeur","type"]},"example":{"valeur":400000,"type":"viager","age":65,"loyerMensuel":1200}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tauxUsufruit":{"type":"number","description":"Quote-part d'usufruit (fraction)"},"tauxNP":{"type":"number","description":"Quote-part de nue-propriété (fraction)"},"valeurUsufruit":{"type":"number","description":"Valeur de l'usufruit (€)"},"valeurNP":{"type":"number","description":"Valeur de la nue-propriété (€)"},"rendementNP":{"type":"number","description":"Rendement du loyer rapporté à la nue-propriété (%)"},"economieIFI":{"type":"number","description":"Assiette IFI évitée par le nu-propriétaire (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"tauxUsufruit":0.4,"tauxNP":0.6,"valeurUsufruit":160000,"valeurNP":240000,"rendementNP":6,"economieIFI":160000},"tool":"simulateur-demembrement"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/simulateur-scpi":{"post":{"operationId":"simulateur-scpi","summary":"Simulateur SCPI","description":"Projection d'un investissement en SCPI : revenus, fiscalité, plus-value, achat à crédit et nue-propriété.","tags":["Stratégie"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"montant":{"type":"number","description":"Capital investi (€)"},"prixPart":{"type":"number","description":"Prix d'une part (€)"},"tauxDistribution":{"type":"number","description":"Taux de distribution (%)"},"fraisSouscription":{"type":"number","description":"Frais de souscription (%)"},"tmi":{"type":"number","description":"Tranche marginale d'imposition (%)"},"impotMode":{"type":"string","description":"Liquidation de l'impôt : bareme (défaut, barème progressif du foyer, art. 197 CGI) ou tmi (repli au taux plat saisi)","default":"bareme"},"foyerRevenuImposable":{"type":"number","description":"Barème : revenu net imposable annuel du foyer hors ces parts (€)","default":0},"foyerSituation":{"type":"string","description":"Barème : celibataire ou couple","default":"celibataire"},"foyerEnfants":{"type":"number","description":"Barème : enfants à charge (quotient familial)","default":0},"revalorisationAnnuelle":{"type":"number","description":"Revalorisation annuelle du prix de part (%)","default":0},"dureeDetention":{"type":"number","description":"Durée de détention (années)","default":10},"apport":{"type":"number","description":"Apport personnel en achat à crédit (€)","default":0},"tauxCredit":{"type":"number","description":"Taux du crédit SCPI (%/an) — active le mode crédit","default":0},"dureeCredit":{"type":"number","description":"Durée du crédit (années)","default":0},"cleNuePropriete":{"type":"number","description":"Clé de répartition nue-propriété (% de la pleine propriété) — active le mode démembrement","default":0},"dureeDemembrement":{"type":"number","description":"Durée du démembrement (années)","default":0}},"required":["montant","prixPart","tauxDistribution","fraisSouscription","tmi"]},"example":{"montant":50000,"prixPart":200,"tauxDistribution":4.5,"fraisSouscription":10,"tmi":30,"revalorisationAnnuelle":1,"dureeDetention":10}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"nombreParts":{"type":"number","description":"Nombre de parts souscrites"},"montantReel":{"type":"number","description":"Capital effectivement investi (€)"},"frais":{"type":"number","description":"Frais de souscription (€)"},"revenuBrutAnnuel":{"type":"number","description":"Revenus annuels bruts (€)"},"irAnnuel":{"type":"number","description":"Impôt sur le revenu annuel (€)"},"psAnnuel":{"type":"number","description":"Prélèvements sociaux annuels (€)"},"revenuNetAnnuel":{"type":"number","description":"Revenus annuels nets d'IR et de PS (€)"},"revenuNetMensuel":{"type":"number","description":"Revenus mensuels nets (€)"},"rendementBrut":{"type":"number","description":"Rendement brut (%)"},"rendementNet":{"type":"number","description":"Rendement net d'impôt (%)"},"valeurFinale":{"type":"number","description":"Valeur des parts à l'horizon (€)"},"plusValueBrute":{"type":"number","description":"Plus-value brute à la revente (€)"},"impotPlusValue":{"type":"number","description":"Impôt de plus-value (€)"},"plusValueNette":{"type":"number","description":"Plus-value nette d'impôt (€)"},"resultatNetTotal":{"type":"number","description":"Résultat net total à l'horizon, plus-value et frais inclus (€)"},"comparaisonLivretA":{"type":"number","description":"Résultat d'un placement équivalent sur livret A (€)"},"credit":{"type":"object","description":"Mode crédit : mensualité, intérêts et impôt de l'année 1, effort d'épargne. Présent si tauxCredit et dureeCredit sont fournis"},"demembrement":{"type":"object","description":"Mode nue-propriété : prix, gain mécanique, rendement actuariel de la décote. Présent si cleNuePropriete est fournie"}}},"tool":{"type":"string"}}},"example":{"data":{"nombreParts":250,"montantReel":50000,"frais":5000,"revenuBrutAnnuel":2250,"irAnnuel":675,"psAnnuel":387,"revenuNetAnnuel":1188,"revenuNetMensuel":99,"rendementBrut":4.5,"rendementNet":2.38},"tool":"simulateur-scpi"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/simulateur-airbnb":{"post":{"operationId":"simulateur-airbnb","summary":"Simulateur Airbnb","description":"Étude de marché courte durée (prix à la nuit et occupation par saison, à partir du loyer ANIL de la commune) et rentabilité nette après impôt.","tags":["Stratégie"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"valeurBien":{"type":"number","description":"Valeur du bien (€)"},"chargesAnnuelles":{"type":"number","description":"Charges fixes annuelles (€)"},"tmi":{"type":"number","description":"Tranche marginale d'imposition (%)"},"impotMode":{"type":"string","description":"Liquidation de l'impôt : bareme (défaut, barème progressif du foyer, art. 197 CGI) ou tmi (repli au taux plat saisi)","default":"bareme"},"foyerRevenuImposable":{"type":"number","description":"Barème : revenu net imposable annuel du foyer hors ce bien (€)","default":0},"foyerSituation":{"type":"string","description":"Barème : celibataire ou couple","default":"celibataire"},"foyerEnfants":{"type":"number","description":"Barème : enfants à charge (quotient familial)","default":0},"regime":{"type":"string","description":"Régime fiscal : micro ou reel"},"loyerNuit":{"type":"number","description":"Prix moyen par nuit (€). Repris du scénario médian de l'étude s'il est omis","default":0},"tauxOccupation":{"type":"number","description":"Taux d'occupation des nuits proposées (%). Repris de l'étude s'il est omis","default":0},"partAnneeProposee":{"type":"number","description":"Part de l'année où le bien est proposé à la location (%). 33 % correspond au quota de 120 jours en résidence principale","default":100},"fraisMenage":{"type":"number","description":"Frais de ménage par séjour (€)","default":0},"nbSejours":{"type":"number","description":"Nombre de séjours par an","default":0},"commissionPlateforme":{"type":"number","description":"Commission de la plateforme (% des revenus bruts)","default":3},"tauxConciergerie":{"type":"number","description":"Conciergerie (% des revenus bruts)","default":0},"classTourisme":{"type":"boolean","description":"Meublé classé tourisme : abattement micro-BIC de 50 %"},"loyerMensuelLLD":{"type":"number","description":"Loyer mensuel de référence en longue durée (€). À défaut, estimé à loyerNuit × 20"},"etude":{"type":"string","description":"Étude de marché : { surface, insee, communeNom, loyerM2CC, refSurface, typeMarche, capacite, parking, dpe, classeTourisme, type }"}},"required":["valeurBien","chargesAnnuelles","tmi","regime"]},"example":{"valeurBien":250000,"chargesAnnuelles":3000,"tmi":30,"regime":"micro","commissionPlateforme":3,"fraisMenage":45,"nbSejours":40,"etude":{"surface":60,"insee":"66004","loyerM2CC":9.36,"refSurface":72,"dpe":"A","parking":true}}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"nuitsProposees":{"type":"number","description":"Nuits offertes à la réservation sur l'année"},"nuitsParAn":{"type":"number","description":"Nuits effectivement louées"},"revenusBruts":{"type":"number","description":"Revenus bruts annuels (€)"},"totalCharges":{"type":"number","description":"Charges annuelles totales, commissions incluses (€)"},"revenusNetsAvantImpot":{"type":"number","description":"Revenus nets avant impôt (€/an)"},"baseImposable":{"type":"number","description":"Base imposable après abattement ou charges réelles (€)"},"irAmount":{"type":"number","description":"Impôt sur le revenu (€)"},"psAmount":{"type":"number","description":"Prélèvements sociaux (€)"},"impotTotal":{"type":"number","description":"Impôt total (€)"},"revenusNetsApresImpot":{"type":"number","description":"Revenus nets après impôt (€/an)"},"revenuNetMensuel":{"type":"number","description":"Revenus nets après impôt (€/mois)"},"rentaBrute":{"type":"number","description":"Rentabilité brute (%)"},"rentaNette":{"type":"number","description":"Rentabilité nette après impôt (%)"},"netLLDApresImpot":{"type":"number","description":"Net après impôt en location longue durée (€/an)"},"rentaLLD":{"type":"number","description":"Rentabilité nette en location longue durée (%)"},"etudeMarche":{"type":"object","description":"Étude de marché détaillée : saisons, mois par mois, comparaison longue durée. Présent uniquement si `etude` est fourni"}}},"tool":{"type":"string"}}},"example":{"data":{"nuitsProposees":365,"nuitsParAn":128,"revenusBruts":12160,"totalCharges":5165,"revenusNetsAvantImpot":6995,"baseImposable":8512,"irAmount":2554,"psAmount":1583,"impotTotal":4137,"revenusNetsApresImpot":2858},"tool":"simulateur-airbnb"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/jeanbrun-simulation":{"post":{"operationId":"jeanbrun-simulation","summary":"Simulation statut bailleur privé (Jeanbrun 2026)","description":"Simule le dispositif Jeanbrun 2026 (statut du bailleur privé) : amortissement déductible, loyer plafond et rentabilité à 9/15/20 ans.","tags":["Dispositifs fiscaux"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prix":{"type":"number","description":"Prix d'acquisition (€)"},"surfaceHabitable":{"type":"number","description":"Surface habitable ou Carrez (m²)"},"surfaceAnnexes":{"type":"number","description":"Surfaces annexes brutes (m², comptées pour moitié dans la limite de 8 m²)"},"zone":{"type":"string","description":"Zone du bien : Abis, A, B1, B2 ou C"},"nature":{"type":"string","description":"neuf (VEFA ou DPE A/B) ou ancien (rénové, travaux ≥ 30 % du prix)"},"apport":{"type":"number","description":"Apport personnel (€)"},"fraisAcquisitionPct":{"type":"number","description":"Frais d'acquisition (% du prix)"},"fraisBancairesPct":{"type":"number","description":"Frais bancaires (% du capital emprunté)"},"tauxEmprunt":{"type":"number","description":"Taux du prêt en décimal (0.035 = 3,5 %)"},"dureeEmprunt":{"type":"number","description":"Durée du prêt (années)"},"tauxAdi":{"type":"number","description":"Taux d'assurance emprunteur annuel en décimal (0.003 = 0,30 %)"},"taxeFonciereAnnuelle":{"type":"number","description":"Taxe foncière annuelle (€)"},"chargesCoproMensuel":{"type":"number","description":"Charges de copropriété restant à la charge du bailleur (€/mois)"},"gestionPct":{"type":"number","description":"Honoraires de gestion locative (% du loyer brut)"},"gliPct":{"type":"number","description":"Prime GLI (% du loyer brut)"},"assurancePnoAnnuel":{"type":"number","description":"Assurance propriétaire non occupant annuelle (€)"},"fraisComptablesAnnuel":{"type":"number","description":"Frais comptables annuels (€)"},"typeAmort":{"type":"string","description":"Niveau social : lli (intermédiaire), social ou tres_social"},"dureeEngagement":{"type":"number","description":"Durée d'engagement de location : 9, 12, 15, 16 ou 20 ans ; l'amortissement se déduit pendant cette durée"},"revaloLoyerPct":{"type":"number","description":"Revalorisation annuelle du loyer (%)"},"revaloChargesPct":{"type":"number","description":"Revalorisation annuelle des charges et de la taxe foncière (%)"},"revaloPrixPct":{"type":"number","description":"Appréciation annuelle du bien (%), mode annuel"},"fraisRevente":{"type":"number","description":"Frais de revente à la sortie (% du prix)"},"revenuNetImposable":{"type":"number","description":"Revenu net imposable du foyer, hors revenus fonciers (€)"},"partsFiscales":{"type":"number","description":"Nombre de parts fiscales"},"tmi":{"type":"number","description":"Tranche marginale d'imposition en décimal (0.30 = 30 %)"},"revenusFonciersExterieurs":{"type":"number","description":"Revenus fonciers d'autres biens (€)"},"loyerMensuelOverride":{"type":"number","description":"Loyer mensuel pratiqué (€) si inférieur au plafond Jeanbrun"},"revaloMode":{"type":"string","description":"annuel (taux composé) ou horizon (% total cumulé par horizon)","default":"annuel"},"revaloPrix9":{"type":"number","description":"Mode horizon : appréciation totale cumulée à 9 ans (%)"},"revaloPrix15":{"type":"number","description":"Mode horizon : appréciation totale cumulée à 15 ans (%)"},"revaloPrix20":{"type":"number","description":"Mode horizon : appréciation totale cumulée à 20 ans (%)"},"fraisBancairesMode":{"type":"string","description":"inclus (frais capitalisés dans le prêt) ou exclus (payés comptant)","default":"inclus"},"lli":{"type":"boolean","description":"Logement locatif intermédiaire détenu par une société : crédit d'impôt égal à la taxe foncière pendant 20 ans, taxe alors non déductible","default":false},"premiereAnnee":{"type":"number","description":"Année civile de la première année de location (numérote les lignes de la projection)"}},"required":["prix","surfaceHabitable","surfaceAnnexes","zone","nature","apport","fraisAcquisitionPct","fraisBancairesPct","tauxEmprunt","dureeEmprunt","tauxAdi","taxeFonciereAnnuelle","chargesCoproMensuel","gestionPct","gliPct","assurancePnoAnnuel","fraisComptablesAnnuel","typeAmort","dureeEngagement","revaloLoyerPct","revaloChargesPct","revaloPrixPct","fraisRevente","revenuNetImposable","partsFiscales","tmi","revenusFonciersExterieurs"]},"example":{"prix":250000,"surfaceHabitable":50,"surfaceAnnexes":6,"zone":"A","nature":"neuf","apport":30000,"fraisAcquisitionPct":2.5,"fraisBancairesPct":1,"tauxEmprunt":0.035,"dureeEmprunt":20,"tauxAdi":0.003,"taxeFonciereAnnuelle":900,"chargesCoproMensuel":50,"gestionPct":7,"gliPct":2.5,"assurancePnoAnnuel":150,"fraisComptablesAnnuel":0,"typeAmort":"social","dureeEngagement":15,"revaloLoyerPct":1,"revaloChargesPct":2,"revaloPrixPct":1,"fraisRevente":7,"revenuNetImposable":55000,"partsFiscales":2,"tmi":0.3,"revenusFonciersExterieurs":0}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"fraisAcquisition":{"type":"number","description":"Frais d'acquisition (€)"},"fraisBancaires":{"type":"number","description":"Frais bancaires (€)"},"capitalEmprunte":{"type":"number","description":"Capital emprunté (€)"},"mensualite":{"type":"number","description":"Mensualité du prêt (€)"},"adiMensuel":{"type":"number","description":"Prime d'assurance emprunteur mensuelle (€)"},"loyerMensuel":{"type":"number","description":"Loyer mensuel retenu, plafond Jeanbrun (€)"},"loyerAnnuel":{"type":"number","description":"Loyer annuel retenu (€)"},"amortissementAnnuel":{"type":"number","description":"Amortissement annuel déductible (€)"},"coutTotal":{"type":"number","description":"Coût total : prix, frais d'acquisition et frais bancaires (€)"},"rows":{"type":"array","description":"Projection année par année : revenus, charges, résultat foncier avant et après amortissement, déficit imputé sur le revenu global et reports, économie fiscale, crédit d'impôt LLI, cashflow et épargne"},"horizon9":{"type":"object","description":"Synthèse à 9 ans : prix de revente, CRD, épargne de sortie, TRE, TRI"},"horizon15":{"type":"object","description":"Synthèse à 15 ans"},"horizon20":{"type":"object","description":"Synthèse à 20 ans"}}},"tool":{"type":"string"}}},"example":{"data":{"fraisAcquisition":6250,"fraisBancaires":2262.5,"capitalEmprunte":228512.5,"mensualite":1325.28,"adiMensuel":57.13,"loyerMensuel":677.53,"loyerAnnuel":8130.37,"amortissementAnnuel":9000,"coutTotal":258512.5},"tool":"jeanbrun-simulation"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/loi-malraux":{"post":{"operationId":"loi-malraux","summary":"Loi Malraux","description":"Simulation de la réduction d'impôt Malraux (22 % ou 30 % des travaux, plafond 400 000 € sur 4 ans).","tags":["Dispositifs fiscaux"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"travaux":{"type":"number","description":"Montant des travaux (€)"},"duree":{"type":"number","description":"Durée d'étalement des travaux (années)"},"zone":{"type":"string","description":"psmv (site patrimonial remarquable avec PSMV, 30 %) ou avap (22 %)"},"irN1":{"type":"number","description":"Impôt sur le revenu de l'année (€) — plafonne la réduction imputable. Absent : imputation intégrale"}},"required":["travaux","duree","zone"]},"example":{"travaux":200000,"duree":3,"zone":"psmv","irN1":18000}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"taux":{"type":"number","description":"Taux de réduction retenu (fraction)"},"travauxRetenus":{"type":"number","description":"Travaux retenus après plafond de 400 000 € (€)"},"reductionTotale":{"type":"number","description":"Réduction d'impôt totale (€)"},"reductionAnnuelle":{"type":"number","description":"Réduction d'impôt annuelle (€)"},"reductionImputable":{"type":"number","description":"Réduction effectivement imputable sur l'impôt de l'année (€)"},"excedentReportable":{"type":"number","description":"Excédent reportable (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"taux":0.3,"travauxRetenus":200000,"reductionTotale":60000,"reductionAnnuelle":20000,"reductionImputable":18000,"excedentReportable":2000},"tool":"loi-malraux"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/denormandie":{"post":{"operationId":"denormandie","summary":"Denormandie","description":"Simulation de la réduction Denormandie (12/18/21 % selon la durée d'engagement, plafond 5 500 €/m²).","tags":["Dispositifs fiscaux"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"prixAchat":{"type":"number","description":"Prix d'achat (€)"},"travaux":{"type":"number","description":"Montant des travaux (€, au moins 25 % du coût total)"},"surface":{"type":"number","description":"Surface habitable (m²) — plafond de 5 500 €/m²"},"duree":{"type":"number","description":"Durée d'engagement : 6, 9 ou 12 ans"}},"required":["prixAchat","travaux","surface","duree"]},"example":{"prixAchat":200000,"travaux":70000,"surface":65,"duree":9}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"coutTotal":{"type":"number","description":"Coût total de l'opération (€)"},"baseRetenue":{"type":"number","description":"Base retenue après plafonds (€)"},"taux":{"type":"number","description":"Taux de réduction retenu (fraction)"},"reductionTotale":{"type":"number","description":"Réduction d'impôt totale (€)"},"reductionAnnuelle":{"type":"number","description":"Réduction d'impôt annuelle (€)"},"partTravaux":{"type":"number","description":"Part des travaux dans le coût total (%)"},"travauxSuffisants":{"type":"boolean","description":"Le seuil de travaux de 25 % est atteint"}}},"tool":{"type":"string"}}},"example":{"data":{"coutTotal":270000,"baseRetenue":270000,"taux":0.18,"reductionTotale":48600,"reductionAnnuelle":5400,"partTravaux":25.93,"travauxSuffisants":true},"tool":"denormandie"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/monuments-historiques":{"post":{"operationId":"monuments-historiques","summary":"Monuments historiques","description":"Déduction des charges d'un monument historique sur le revenu global, sans plafond, avec calcul d'IR et de PS réels.","tags":["Dispositifs fiscaux"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"travaux":{"type":"number","description":"Travaux validés par l'architecte des Bâtiments de France (€)"},"interetsEmprunt":{"type":"number","description":"Intérêts d'emprunt, acquisition et travaux (€)"},"taxeFonciere":{"type":"number","description":"Taxe foncière annuelle (€)"},"assurance":{"type":"number","description":"Assurance du bien (€)"},"fraisGestion":{"type":"number","description":"Gestion locative et comptabilité (€)"},"autresCharges":{"type":"number","description":"Autres charges : promotion, billetterie, personnel d'accueil (€)"},"subventions":{"type":"number","description":"Subventions perçues, déduites des travaux (€)"},"revenusFonciers":{"type":"number","description":"Revenus fonciers et recettes de visite (€)"},"occupation":{"type":"string","description":"loue (charges sur les revenus fonciers), occupe_non_ouvert (50 % des charges sur le revenu global) ou occupe_ouvert_public (100 %)"},"situation":{"type":"string","description":"celibataire ou couple"},"enfants":{"type":"number","description":"Nombre d'enfants à charge"},"revenuNetGlobal":{"type":"number","description":"Revenu net imposable avant déduction monument historique (€)"}},"required":["travaux","interetsEmprunt","taxeFonciere","assurance","fraisGestion","autresCharges","subventions","revenusFonciers","occupation","situation","enfants","revenuNetGlobal"]},"example":{"travaux":300000,"interetsEmprunt":8000,"taxeFonciere":4000,"assurance":1500,"fraisGestion":2000,"autresCharges":0,"subventions":40000,"revenusFonciers":12000,"occupation":"loue","situation":"couple","enfants":2,"revenuNetGlobal":180000}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"totalCharges":{"type":"number","description":"Total des charges éligibles (€)"},"chargesDeductibles":{"type":"number","description":"Charges déductibles après quote-part (€)"},"quotePart":{"type":"number","description":"Quote-part déductible selon l'occupation (0,5, 0,75 ou 1)"},"travauxNets":{"type":"number","description":"Travaux nets de subventions (€)"},"resultatFoncier":{"type":"number","description":"Résultat foncier (€)"},"deficitFoncier":{"type":"number","description":"Déficit foncier imputable sans plafond (€)"},"foncierImposable":{"type":"number","description":"Revenu foncier imposable, soumis aux prélèvements sociaux (€)"},"deductionRevenuGlobal":{"type":"number","description":"Déduction imputée sur le revenu global (€)"},"parts":{"type":"number","description":"Nombre de parts du quotient familial"},"revenuImposableSans":{"type":"number","description":"Revenu imposable sans le monument (€)"},"revenuImposableAvec":{"type":"number","description":"Revenu imposable avec le monument (€)"},"irSans":{"type":"number","description":"Impôt sur le revenu sans le monument (€)"},"irAvec":{"type":"number","description":"Impôt sur le revenu avec le monument (€)"},"economieIR":{"type":"number","description":"Économie d'impôt sur le revenu (€)"},"psSans":{"type":"number","description":"Prélèvements sociaux sans le monument (€)"},"psAvec":{"type":"number","description":"Prélèvements sociaux avec le monument (€)"},"economiePS":{"type":"number","description":"Économie de prélèvements sociaux (€)"},"totalEconomie":{"type":"number","description":"Économie fiscale totale (€)"},"effortReel":{"type":"number","description":"Travaux nets − économie fiscale (€)"},"tauxEffortReel":{"type":"number","description":"Effort réel rapporté aux travaux nets (fraction)"}}},"tool":{"type":"string"}}},"example":{"data":{"totalCharges":275500,"chargesDeductibles":275500,"quotePart":1,"travauxNets":260000,"resultatFoncier":-263500,"deficitFoncier":263500,"foncierImposable":0,"deductionRevenuGlobal":263500,"parts":3,"revenuImposableSans":180000},"tool":"monuments-historiques"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/girardin":{"post":{"operationId":"girardin","summary":"Girardin industriel","description":"Simulation de la réduction Girardin outre-mer : investissement à consentir, plafond des niches et gain net.","tags":["Dispositifs fiscaux"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","description":"industriel (quote-part 34 %) ou social (quote-part 30 %)"},"revenuBrut":{"type":"number","description":"Revenu brut annuel du foyer (€), abattement de 10 % appliqué"},"nbParts":{"type":"number","description":"Nombre de parts fiscales"},"rendementFiscal":{"type":"number","description":"Rendement fiscal annoncé par le monteur (%)"},"mode":{"type":"string","description":"effacer (calculer l'investissement effaçant l'impôt) ou montant (investissement imposé)"},"revenuLocatif":{"type":"number","description":"Revenus locatifs à ajouter au revenu imposable (€)","default":0},"montantInvesti":{"type":"number","description":"Montant investi (€) si mode = montant","default":0},"nichesUtilisees":{"type":"number","description":"Plafond de niches outre-mer déjà consommé (€)","default":0}},"required":["type","revenuBrut","nbParts","rendementFiscal","mode"]},"example":{"type":"industriel","revenuBrut":90000,"nbParts":2,"rendementFiscal":112,"mode":"effacer","nichesUtilisees":0}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"irAvant":{"type":"number","description":"Impôt sur le revenu avant Girardin (€)"},"investissement":{"type":"number","description":"Investissement retenu (€)"},"reductionBrute":{"type":"number","description":"Réduction brute au rendement annoncé (€)"},"reductionAppliquee":{"type":"number","description":"Réduction effectivement imputée (€)"},"irApres":{"type":"number","description":"Impôt sur le revenu après Girardin (€)"},"gainNet":{"type":"number","description":"Réduction imputée − investissement (€)"},"rendementNet":{"type":"number","description":"Gain net rapporté à l'investissement (%)"},"depassePlafond":{"type":"boolean","description":"Le plafond des niches outre-mer est dépassé"},"tmi":{"type":"number","description":"Tranche marginale d'imposition du foyer, en décimal (0.30 = 30 %)"}}},"tool":{"type":"string"}}},"example":{"data":{"irAvant":10508,"investissement":9383,"reductionBrute":10509,"reductionAppliquee":10508,"irApres":0,"gainNet":1125,"rendementNet":11.99,"depassePlafond":false,"tmi":0.3},"tool":"girardin"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/lmp-statut":{"post":{"operationId":"lmp-statut","summary":"Statut LMNP / LMP","description":"Vérifie les conditions du statut LMP, calcule les cotisations SSI, l'IR et l'exonération de plus-value professionnelle.","tags":["Dispositifs fiscaux"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"recettes":{"type":"number","description":"Recettes locatives meublées annuelles (€)"},"autresRevenus":{"type":"number","description":"Autres revenus d'activité du foyer (€)"},"charges":{"type":"number","description":"Charges déductibles hors intérêts et amortissement (€)"},"interets":{"type":"number","description":"Intérêts d'emprunt annuels (€)"},"amortissement":{"type":"number","description":"Amortissement de l'exercice (€)"},"tmi":{"type":"number","description":"Tranche marginale d'imposition (%)"},"impotMode":{"type":"string","description":"Liquidation de l'impôt : bareme (défaut, barème progressif du foyer, art. 197 CGI) ou tmi (repli au taux plat saisi)","default":"bareme"},"foyerRevenuImposable":{"type":"number","description":"Barème : revenu net imposable annuel du foyer hors cette activité (€) — à défaut, autresRevenus fait foi","default":0},"foyerSituation":{"type":"string","description":"Barème : celibataire ou couple","default":"celibataire"},"foyerEnfants":{"type":"number","description":"Barème : enfants à charge (quotient familial)","default":0},"dureeActivite":{"type":"number","description":"Durée d'activité LMP (années) — l'exonération de l'art. 151 septies suppose 5 ans","default":0}},"required":["recettes","autresRevenus","charges","interets","amortissement","tmi"]},"example":{"recettes":35000,"autresRevenus":30000,"charges":6000,"interets":5000,"amortissement":9000,"tmi":30,"dureeActivite":6}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"isLmp":{"type":"boolean","description":"Statut LMP atteint"},"condition1":{"type":"boolean","description":"Recettes supérieures à 23 000 €"},"condition2":{"type":"boolean","description":"Recettes supérieures aux autres revenus d'activité"},"resultatBic":{"type":"number","description":"Résultat BIC de l'exercice (€)"},"cotisationsSsi":{"type":"number","description":"Cotisations SSI estimées (€)"},"cotisationsMinimumAppliquees":{"type":"boolean","description":"Le minimum forfaitaire de cotisations s'applique"},"ir":{"type":"number","description":"Impôt sur le revenu au TMI (€)"},"totalImpots":{"type":"number","description":"Cotisations et impôt cumulés (€)"},"deficitImputableRevenuGlobal":{"type":"number","description":"Déficit BIC imputable sur le revenu global sans plafond (€)"},"economieDeficit":{"type":"number","description":"Économie d'impôt liée au déficit imputé (€)"},"pvExoneration":{"type":"string","description":"Exonération de plus-value professionnelle : totale, partielle, aucune ou non_applicable"},"pvTauxExoneration":{"type":"number","description":"Taux d'exonération de la plus-value (0 à 1)"}}},"tool":{"type":"string"}}},"example":{"data":{"isLmp":true,"condition1":true,"condition2":true,"resultatBic":15000,"cotisationsSsi":6000,"cotisationsMinimumAppliquees":false,"ir":2700,"totalImpots":8700,"deficitImputableRevenuGlobal":0,"economieDeficit":0},"tool":"lmp-statut"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/estimation-travaux":{"post":{"operationId":"estimation-travaux","summary":"Estimation travaux","description":"Budget d'une construction neuve : gros œuvre, second œuvre, VRD, concessionnaires, jardin, piscine et taxe d'aménagement.","tags":["Construction & DPE"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"constructionType":{"type":"string","description":"Type de construction — détermine le prix au m² de référence"},"constructionSurface":{"type":"number","description":"Surface construite (m²)","default":0},"constructionPriceM2":{"type":"number","description":"Prix au m² imposé (€). À défaut, prix du type de construction"},"constructionMode":{"type":"string","description":"forfait (prix au m² global) ou detaille (gros œuvre / second œuvre / finitions)","default":"forfait"},"grosOeuvreM2":{"type":"number","description":"Mode détaillé : gros œuvre (€/m²)"},"secondOeuvreM2":{"type":"number","description":"Mode détaillé : second œuvre (€/m²)"},"finitionsM2":{"type":"number","description":"Mode détaillé : finitions (€/m²)"},"vrdComplexity":{"type":"string","description":"Complexité des VRD : simple, standard ou complexe","default":"standard"},"vrdCustom":{"type":"number","description":"Montant de VRD imposé (€)","default":15000},"elec":{"type":"number","description":"Raccordement électricité (€)","default":0},"eau":{"type":"number","description":"Raccordement eau (€)","default":0},"assainissement":{"type":"number","description":"Raccordement ou dispositif d'assainissement (€)","default":0},"fibre":{"type":"number","description":"Raccordement fibre (€)","default":0},"surfaceJardin":{"type":"number","description":"Surface d'aménagement paysager (m²)","default":0},"niveauJardin":{"type":"string","description":"Niveau de finition du jardin : simple, standard ou haut","default":"standard"},"typePiscine":{"type":"string","description":"Type de piscine. Absent ou vide : aucune piscine"},"surfacePiscine":{"type":"number","description":"Surface du bassin (m²)","default":32},"surfaceTaxable":{"type":"number","description":"Surface taxable pour la taxe d'aménagement (m²). Par défaut, la surface construite"},"tauxTA":{"type":"number","description":"Taux communal de taxe d'aménagement (%)","default":5}},"required":["constructionType"]},"example":{"constructionType":"traditionnelle","constructionSurface":120,"constructionMode":"forfait","vrdComplexity":"standard","elec":2500,"eau":1800,"assainissement":8000,"surfaceJardin":400,"niveauJardin":"standard","surfaceTaxable":130,"tauxTA":5}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"totalConstruction":{"type":"number","description":"Coût de construction du bâti (€)"},"grosOeuvre":{"type":"number","description":"Part gros œuvre (€), 0 en mode forfait"},"secondOeuvre":{"type":"number","description":"Part second œuvre (€), 0 en mode forfait"},"finitions":{"type":"number","description":"Part finitions (€), 0 en mode forfait"},"totalVRD":{"type":"number","description":"Voirie et réseaux divers (€)"},"totalConcessionnaires":{"type":"number","description":"Raccordements concessionnaires (€)"},"totalJardin":{"type":"number","description":"Aménagement paysager (€)"},"totalPiscine":{"type":"number","description":"Piscine (€)"},"taxeAmenagement":{"type":"number","description":"Taxe d'aménagement estimée (€)"},"totalHorsTaxe":{"type":"number","description":"Total hors taxe d'aménagement (€)"},"totalAvecTaxe":{"type":"number","description":"Total taxe d'aménagement incluse (€)"},"prixM2":{"type":"number","description":"Coût au m² construit (€)"}}},"tool":{"type":"string"}}},"example":{"data":{"totalConstruction":204000,"grosOeuvre":0,"secondOeuvre":0,"finitions":0,"totalVRD":15000,"totalConcessionnaires":12300,"totalJardin":6000,"totalPiscine":0,"taxeAmenagement":5798,"totalHorsTaxe":237300},"tool":"estimation-travaux"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/taxe-amenagement":{"post":{"operationId":"taxe-amenagement","summary":"Taxe d'aménagement","description":"Calcul de la taxe d'aménagement par typologie de surface, avec piscine, stationnement, installations et PFAC.","tags":["Construction & DPE"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"surfaces":{"type":"string","description":"Surfaces taxables par typologie (m²). Clés : rp_inf100, rp_sup100, ptz_inf100, ptz_sup100 (résidence principale / PTZ : surface TOTALE des logements de 100 m² ou moins, entièrement abattue de 50 % ; ou de plus de 100 m², 50 % sur les 100 premiers m² de chaque logement puis plein tarif — voir logementsParLigne), rp et logement_ptz (anciennes lignes non scindées, l'abattement y est réparti sur nbLogements), logement_autre, parties_communes, social_sieg, social_hors_plai, social_plai, transformation_habitation, bureaux, industriel, commerces, entrepots, parkings_couverts, service_public, reconstruction, classe"},"tauxCommunal":{"type":"number","description":"Taux communal (%)"},"tauxDepartemental":{"type":"number","description":"Taux départemental (%)"},"isIdf":{"type":"boolean","description":"Île-de-France : valeur forfaitaire au m² majorée"},"nbLogements":{"type":"number","description":"Nombre total de logements du projet (PFAC, pool des anciennes lignes rp / logement_ptz). Absent : somme des logements des lignes RP / PTZ remplies","default":1},"logementsParLigne":{"type":"string","description":"Logements concernés par ligne RP / PTZ ({ rp_sup100: 2, rp_inf100: 3 }) — 100 m² abattus par logement sur les lignes « supérieur à 100 m² », total du projet pour la PFAC. Défaut 1 par ligne"},"exoPtzPct":{"type":"number","description":"Exonération facultative PTZ votée par la commune : part du surplus au-delà des 100 premiers m² sortie de l'assiette, 0 à 50 % (CGI art. 1635 quater E I-2°)","default":0},"tauxRegional":{"type":"number","description":"Taux régional, Île-de-France uniquement (%)","default":0},"hasPiscine":{"type":"boolean","description":"Piscine à déclarer"},"surfacePiscine":{"type":"number","description":"Surface du bassin (m²)","default":0},"nbParkings":{"type":"number","description":"Places de stationnement extérieures non comprises dans la surface","default":0},"valeurParking":{"type":"number","description":"Valeur par place fixée par la commune (€, plancher 2 928 à plafond 5 857). Par défaut le plancher"},"parkingMajore":{"type":"boolean","description":"Obsolète, remplacé par valeurParking. Conservé pour la restauration d'anciennes sauvegardes"},"surfacePvSol":{"type":"number","description":"Surface de panneaux photovoltaïques au sol (m²)","default":0},"nbEoliennes":{"type":"number","description":"Nombre d'éoliennes de plus de 12 m","default":0},"nbEmplacementsCamping":{"type":"number","description":"Emplacements de tentes, caravanes ou résidences mobiles","default":0},"nbEmplacementsHll":{"type":"number","description":"Emplacements d'habitations légères de loisirs","default":0},"zoneExoneree":{"type":"boolean","description":"ZAC, PUP ou OIN : exonère la seule part communale ou intercommunale ; les parts départementale et régionale et l'archéologie préventive restent dues"},"pfacParLogement":{"type":"number","description":"PFAC votée par la collectivité, par logement (€)","default":0},"pfacParM2":{"type":"number","description":"PFAC votée par la collectivité, par m² de bureaux, commerces ou artisanat (€)","default":0}},"required":["surfaces","tauxCommunal","tauxDepartemental"]},"example":{"surfaces":{"rp_sup100":120,"parties_communes":0},"nbLogements":1,"tauxCommunal":5,"tauxDepartemental":2.5,"hasPiscine":true,"surfacePiscine":32,"nbParkings":2}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"taxeSurface":{"type":"number","description":"Part de taxe assise sur les surfaces (€)"},"taxePiscine":{"type":"number","description":"Part piscine (€)"},"taxeParking":{"type":"number","description":"Part stationnement extérieur (€)"},"taxeInstallations":{"type":"number","description":"Part installations : photovoltaïque au sol, éoliennes, camping, HLL (€)"},"taxeAmenagement":{"type":"number","description":"Taxe d'aménagement seule (€)"},"rap":{"type":"number","description":"Redevance d'archéologie préventive, 0,40 % de l'assiette (€)"},"total":{"type":"number","description":"Taxe d'aménagement + RAP (€)"},"partCommunale":{"type":"number","description":"Part communale (€)"},"partDepartementale":{"type":"number","description":"Part départementale (€)"},"partRegionale":{"type":"number","description":"Part régionale (€)"},"enDeuxFois":{"type":"boolean","description":"Taxe payable en deux échéances (au-delà de 1 500 €)"},"forfaitM2":{"type":"number","description":"Valeur forfaitaire au m² retenue (€)"},"valeurParking":{"type":"number","description":"Valeur par place effectivement retenue (€)"},"assietteTotale":{"type":"number","description":"Assiette totale de la taxe (€)"},"pfac":{"type":"number","description":"Participation au financement de l'assainissement collectif (€)"},"totalProjet":{"type":"number","description":"Total taxe et PFAC (€)"},"lignes":{"type":"array","description":"Détail par typologie : { key, label, surface, logements?, surfaceAbattue, surfacePleine, surfaceExoneree, assiette, avertissement? }"},"nbLogements":{"type":"number","description":"Logements retenus pour la PFAC : nbLogements fourni, sinon somme des lignes RP / PTZ"}}},"tool":{"type":"string"}}},"example":{"data":{"taxeSurface":4683,"taxePiscine":602,"taxeParking":439,"taxeInstallations":0,"taxeAmenagement":5724,"rap":305,"total":6029,"partCommunale":3816,"partDepartementale":1908,"partRegionale":0},"tool":"taxe-amenagement"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/simulateur-dpe":{"post":{"operationId":"simulateur-dpe","summary":"Simulateur DPE","description":"Estime le DPE (double étiquette énergie + climat, classe A-G) et la consommation à partir des caractéristiques du bâti — moteur 3CL-DPE 2021 simplifié (non opposable).","tags":["Construction & DPE"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"surface":{"type":"number","description":"Surface habitable (m²)"},"anneeConstruction":{"type":"number","description":"Année de construction — détermine le coefficient G de base"},"typeChauffage":{"type":"string","description":"electrique, gaz, fioul, bois, pac ou reseau-chaleur"},"isolation":{"type":"string","description":"aucune, partielle, bonne ou complete","default":"partielle"},"zoneClimatique":{"type":"string","description":"H1 (froid), H2 (tempéré) ou H3 (doux)","default":"H2"},"typeBien":{"type":"string","description":"maison ou appartement","default":"maison"},"menuiseries":{"type":"string","description":"simple, double ou triple","default":"double"},"ventilation":{"type":"string","description":"naturelle, vmc-simple ou vmc-double","default":"vmc-simple"},"hauteurSousPlafond":{"type":"number","description":"Hauteur sous plafond (m)","default":2.5},"energyCostPerKwh":{"type":"number","description":"Coût de l'énergie (€/kWh). À défaut, tarif par énergie"}},"required":["surface","anneeConstruction","typeChauffage"]},"example":{"surface":70,"anneeConstruction":1975,"typeChauffage":"gaz","isolation":"partielle","zoneClimatique":"H2","typeBien":"maison"}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"classeEnergie":{"type":"string","description":"Étiquette énergie (kWhEP/m²/an)"},"classeClimat":{"type":"string","description":"Étiquette climat (kgCO₂/m²/an)"},"classeDpe":{"type":"string","description":"Classe DPE finale, la pire des deux étiquettes"},"consommation":{"type":"number","description":"Consommation d'énergie primaire (kWhEP/m²/an)"},"consoFinaleAnnuelle":{"type":"number","description":"Consommation d'énergie finale (kWh/an)"},"emissionsGes":{"type":"number","description":"Émissions de GES (kgCO₂/m²/an)"},"coutAnnuel":{"type":"number","description":"Coût énergétique annuel estimé (€)"},"coefficientG":{"type":"number","description":"Coefficient de déperdition volumique effectif (W/m³·K)"},"besoinChauffage":{"type":"number","description":"Besoin de chauffage utile avant rendement système (kWh/an)"},"detail":{"type":"object","description":"Consommations finales détaillées : { chauffage, ecs, auxiliaires } (kWh/an)"}}},"tool":{"type":"string"}}},"example":{"data":{"classeEnergie":"C","classeClimat":"D","classeDpe":"D","consommation":175,"consoFinaleAnnuelle":11990,"emissionsGes":38,"coutAnnuel":1475,"coefficientG":1.2,"besoinChauffage":9314},"tool":"simulateur-dpe"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/tools/liasse-urbanisme":{"post":{"operationId":"liasse-urbanisme","summary":"Liasse urbanisme","description":"Compile en quatorze rubriques les données publiques d'urbanisme, de risques et de servitudes d'une parcelle, en annexe de promesse de vente.","tags":["Construction & DPE"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"commune":{"type":"string","description":"Nom de la commune de situation"},"codeInsee":{"type":"string","description":"Code INSEE de la commune"},"parcelles":{"type":"array","description":"Parcelles concernées : { commune, prefixe, section, numero, contenance }"},"adresse":{"type":"string","description":"Adresse de localisation retenue (BAN)"},"planCadastralDataUrl":{"type":"string","description":"Extrait de plan cadastral en data URL (rubrique 1)"},"filiation":{"type":"array","description":"Filiation parcellaire, une entrée par parcelle (rubrique 2)"},"epoquesAeriennes":{"type":"array","description":"Époques de prises de vue aériennes disponibles (rubrique 3)"},"zonageSismique":{"type":"string","description":"Zonage sismique réglementaire : { code, libelle }"},"radon":{"type":"string","description":"Classe de potentiel radon de la commune : { classe }"},"argiles":{"type":"string","description":"Exposition au retrait-gonflement des argiles : { code, libelle }"},"risquesNaturels":{"type":"array","description":"Risques naturels identifiés à l'adresse"},"risquesTechnologiques":{"type":"array","description":"Risques technologiques identifiés à l'adresse"},"catnat":{"type":"array","description":"Arrêtés de catastrophe naturelle sur la commune"},"azi":{"type":"array","description":"Atlas des zones inondables couvrant la commune"},"tri":{"type":"array","description":"Territoires à risque important d'inondation"},"casias":{"type":"array","description":"Sites CASIAS (anciens sites industriels)"},"sis":{"type":"array","description":"Secteurs d'information sur les sols"},"icpe":{"type":"array","description":"Installations classées pour la protection de l'environnement"},"rayonEnvironnement":{"type":"number","description":"Rayon d'interrogation des inventaires environnementaux (m)"},"documentUrbanisme":{"type":"string","description":"Document d'urbanisme applicable : intitulé, type, date d'approbation, référence"},"urbanismeParParcelle":{"type":"array","description":"Consultation du Géoportail parcelle par parcelle (rubrique 6)"},"zonage":{"type":"string","description":"Zonage du document d'urbanisme : libellé, partition, type de document, URL du règlement"},"prescriptions":{"type":"array","description":"Prescriptions du document d'urbanisme"},"informations":{"type":"array","description":"Informations surfaciques : DPU, RLP, secteur de taxe d'aménagement"},"servitudes":{"type":"array","description":"Servitudes d'utilité publique"},"reglesZone":{"type":"string","description":"Règles chiffrées lues dans le règlement écrit de la zone. À défaut, valeurs-type nommées comme telles"},"sru":{"type":"string","description":"Situation de la commune au regard de l'article 55 de la loi SRU"},"peb":{"type":"array","description":"Plans d'exposition au bruit des aérodromes"},"nuisibles":{"type":"string","description":"Termites et mérule : { termites, merule }"},"old":{"type":"array","description":"Obligations légales de débroussaillement"},"zonesNaturelles":{"type":"array","description":"Zones naturelles protégées"},"connectivite":{"type":"string","description":"Couverture internet et mobile (ARCEP)"},"anfr":{"type":"string","description":"Installations radioélectriques (ANFR)"},"collectesEnEchec":{"type":"array","description":"Numéros des rubriques dont la collecte a échoué : rendues indisponibles avec le motif technique"}},"required":["commune","codeInsee","parcelles"]},"example":{"commune":"Toulouse","codeInsee":"31555","adresse":"1 place du Capitole, 31000 Toulouse","parcelles":[{"commune":"31555","prefixe":"811","section":"AC","numero":"0187","contenance":412}]}}}},"responses":{"200":{"description":"Calcul réussi","headers":{"X-Usage-Remaining":{"description":"Appels restants ce mois","schema":{"type":"integer"}},"X-Usage-Limit":{"description":"Quota mensuel inclus","schema":{"type":"integer"}},"X-Api-Tier":{"description":"Tier de l'utilisateur","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"rubriques":{"type":"array","description":"Les quatorze rubriques dans l'ordre, indisponibles comprises"},"noteUrbanisme":{"type":"object","description":"Note de renseignement d'urbanisme privée de la rubrique 6, null si non servie"},"designation":{"type":"string","description":"Désignation cadastrale complète"},"adresse":{"type":"string","description":"Adresse retenue, null si aucune"},"commune":{"type":"string","description":"Commune de situation"},"codeInsee":{"type":"string","description":"Code INSEE de la commune"},"contenanceTotale":{"type":"number","description":"Contenance cadastrale cumulée (m²), null si aucune parcelle résolue"},"nbParcelles":{"type":"number","description":"Nombre de parcelles"},"nbRenseignees":{"type":"number","description":"Nombre de rubriques renseignées"},"nbNeant":{"type":"number","description":"Nombre de rubriques sans constat (« néant » daté et sourcé)"},"nbIndisponibles":{"type":"number","description":"Nombre de rubriques indisponibles"},"dateConsultation":{"type":"string","description":"Date de consultation commune à la liasse (JJ/MM/AAAA)"},"grain":{"type":"string","description":"Grain de numérotation du document, déterministe pour un même bien"}}},"tool":{"type":"string"}}},"example":{"data":{"noteUrbanisme":null,"designation":"Toulouse (31555) — 811 AC 187","adresse":"1 place du Capitole, 31000 Toulouse","commune":"Toulouse","codeInsee":"31555","contenanceTotale":412,"nbParcelles":1,"nbRenseignees":7,"nbNeant":1,"nbIndisponibles":6},"tool":"liasse-urbanisme"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}},"example":{"error":"Clé API invalide ou manquante. Format : Authorization: Bearer cada_xxx"}}}},"429":{"description":"Quota dépassé ou rate limit atteint","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"tier":{"type":"string"},"usage":{"type":"integer"},"limit":{"type":"integer"},"upgrade_url":{"type":"string"}}}}}}}}},"/api/v1/prospection/terrains":{"get":{"operationId":"prospectionTerrainsList","summary":"Lister les terrains suivis","description":"Le portefeuille de terrains du compte, du plus récemment modifié au plus ancien. Les propriétaires ne sont jamais renvoyés par cette route : demandez-les terrain par terrain avec `?include=proprietaires`.","tags":["Prospection"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","description":"Nombre de terrains par page (1 à 200).","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}},{"name":"cursor","in":"query","description":"Curseur opaque rendu par `next_cursor`. Prioritaire sur `offset`.","schema":{"type":"string"}},{"name":"offset","in":"query","description":"Décalage, 0 à 10 000. Ignoré si `cursor` est fourni.","schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}},{"name":"statut","in":"query","description":"Filtre sur le statut.","schema":{"type":"string","enum":["a_qualifier","prospection","pourparlers","negociation","signe","abandonne","signe_concurrent"]}},{"name":"commune","in":"query","description":"Filtre sur le code INSEE de la commune (5 caractères).","schema":{"type":"string","example":"31555"}}],"responses":{"200":{"description":"Page de terrains","content":{"application/json":{"schema":{"type":"object","properties":{"terrains":{"type":"array","items":{"$ref":"#/components/schemas/Terrain"}},"limit":{"type":"integer"},"offset":{"type":"integer"},"next_cursor":{"type":["string","null"],"description":"À repasser en `cursor` pour la page suivante ; `null` sur la dernière page."}}}}}},"400":{"description":"Requête invalide (statut inconnu, pagination hors bornes, JSON mal formé)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota mensuel dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}},"post":{"operationId":"prospectionTerrainsCreate","summary":"Enregistrer un terrain","description":"Ajoute un terrain au portefeuille. `commune_insee` est requis, et le terrain doit être localisable : une parcelle (`section` + `numero`, ou `parcelle_code`) ou un point (`lat` et `lon`). Le même terrain enregistré deux fois rend 409 avec la ligne existante.","tags":["Prospection"],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerrainCreation"},"example":{"commune_insee":"31555","commune_nom":"Toulouse","nom":"Îlot Matabiau","lat":43.6045,"lon":1.444,"statut":"prospection","origine":"apporteur","destinations":["logements","commerces"],"notes":"Repéré depuis l'Analyse PLU."}}}},"responses":{"201":{"description":"Terrain créé","content":{"application/json":{"schema":{"type":"object","properties":{"terrain":{"$ref":"#/components/schemas/Terrain"},"created":{"type":"boolean"}}}}}},"400":{"description":"Requête invalide (statut inconnu, pagination hors bornes, JSON mal formé)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"409":{"description":"Ce terrain est déjà dans le portefeuille","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"413":{"description":"Corps de requête trop volumineux (max 64 Ko)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota mensuel dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/prospection/terrains/{id}":{"get":{"operationId":"prospectionTerrainGet","summary":"Lire un terrain","description":"La fiche du terrain. `?include=proprietaires,actions` joint les propriétaires (données personnelles) et le suivi.","tags":["Prospection"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Identifiant du terrain (UUID).","schema":{"type":"string","format":"uuid"}},{"name":"include","in":"query","description":"Liste séparée par des virgules : `proprietaires`, `actions`.","schema":{"type":"string","example":"proprietaires,actions"}}],"responses":{"200":{"description":"Fiche du terrain","content":{"application/json":{"schema":{"type":"object","properties":{"terrain":{"$ref":"#/components/schemas/Terrain"},"proprietaires":{"type":"array","items":{"$ref":"#/components/schemas/Proprietaire"},"description":"Présent seulement si demandé par `include`."},"actions":{"type":"array","items":{"$ref":"#/components/schemas/ActionTerrain"},"description":"Présent seulement si demandé par `include`."}}}}}},"400":{"description":"Requête invalide (statut inconnu, pagination hors bornes, JSON mal formé)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"Terrain introuvable, ou appartenant à un autre compte","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota mensuel dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}},"patch":{"operationId":"prospectionTerrainUpdate","summary":"Mettre à jour un terrain","description":"Modifie les champs de suivi et l'identification du dossier (origine, destinations, prix, charge foncière visée, copromotion). Seules les clés présentes dans le corps sont écrites ; un champ absent n'efface rien, un champ à `null` l'efface.","tags":["Prospection"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Identifiant du terrain (UUID).","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerrainPatch"},"example":{"statut":"pourparlers","avancement":45,"note_manuelle":4,"origine":"notaire","prix_demande":1200000,"charge_fonciere_visee":420}}}},"responses":{"200":{"description":"Terrain mis à jour","content":{"application/json":{"schema":{"type":"object","properties":{"terrain":{"$ref":"#/components/schemas/Terrain"}}}}}},"400":{"description":"Requête invalide (statut inconnu, pagination hors bornes, JSON mal formé)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"Terrain introuvable, ou appartenant à un autre compte","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota mensuel dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}},"delete":{"operationId":"prospectionTerrainDelete","summary":"Supprimer un terrain","description":"Retire le terrain du portefeuille. Ses actions et ses propriétaires suivent (cascade).","tags":["Prospection"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Identifiant du terrain (UUID).","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Terrain supprimé","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"id":{"type":"string","format":"uuid"}}}}}},"400":{"description":"Requête invalide (statut inconnu, pagination hors bornes, JSON mal formé)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"Terrain introuvable, ou appartenant à un autre compte","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota mensuel dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/prospection/terrains/{id}/actions":{"get":{"operationId":"prospectionActionsList","summary":"Lister les actions d'un terrain","description":"Le suivi du terrain : actions ouvertes d'abord, puis faites, par échéance croissante.","tags":["Prospection"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Identifiant du terrain (UUID).","schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":10000,"default":0}}],"responses":{"200":{"description":"Actions du terrain","content":{"application/json":{"schema":{"type":"object","properties":{"actions":{"type":"array","items":{"$ref":"#/components/schemas/ActionTerrain"}},"limit":{"type":"integer"},"offset":{"type":"integer"}}}}}},"400":{"description":"Requête invalide (statut inconnu, pagination hors bornes, JSON mal formé)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"Terrain introuvable, ou appartenant à un autre compte","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota mensuel dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}},"post":{"operationId":"prospectionActionCreate","summary":"Créer une action sur un terrain","description":"Ajoute une action de suivi. `due_date` est requise (AAAA-MM-JJ). Sans `title`, un titre est composé du type et de la référence du terrain. L'action apparaît dans le CRM, les relances et le digest comme celles créées à l'écran.","tags":["Prospection"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Identifiant du terrain (UUID).","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionCreation"},"example":{"type":"appel","title":"Appeler le propriétaire","due_date":"2026-09-15","priority":"high"}}}},"responses":{"201":{"description":"Action créée","content":{"application/json":{"schema":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/ActionTerrain"},"created":{"type":"boolean"}}}}}},"400":{"description":"Requête invalide (statut inconnu, pagination hors bornes, JSON mal formé)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"Terrain introuvable, ou appartenant à un autre compte","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota mensuel dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/parcelle":{"get":{"tags":["Données"],"summary":"Parcelle cadastrale sous un point","description":"Rend la parcelle qui contient le point, sa contenance, sa commune et ses propriétaires connus.\n\n**Coût : 1 crédit par appel.**","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number"},"description":"Latitude WGS84."},{"name":"lon","in":"query","required":true,"schema":{"type":"number"},"description":"Longitude WGS84."}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/occupants":{"post":{"tags":["Données"],"summary":"Établissements SIRENE occupant une parcelle","description":"Établissements diffusibles (RGPD INSEE) dont l'adresse tombe dans le polygone fourni.\n\n**Coût : 3 crédits par appel.**","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"insee":{"type":"string","description":"Code INSEE de la commune (5 caractères)."},"geometry":{"type":"object","description":"Polygon ou MultiPolygon GeoJSON de la parcelle."}},"required":["insee","geometry"]}}}},"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/coproprietes":{"get":{"tags":["Données"],"summary":"Copropriétés immatriculées (RNIC)","description":"Registre National d'Immatriculation des Copropriétés (ANAH, Licence Ouverte 2.0), actualisé quotidiennement. Deux sens de lecture : `parcelle` rend les copropriétés immatriculées sur la parcelle cadastrale, `insee` le résumé de la commune (les plus grandes d'abord). Chaque réponse porte `provenance` et `millesime` ; une commune absente du registre répond une liste vide et le dit dans `couverture`. L'identité des syndics bénévoles n'est pas diffusée par la source : `syndic.raisonSociale` vaut alors `null`. Le fichier quotidien ne publie pas les arrêtés : `arretes` vaut `null`, jamais `false`.\n\n**Coût : 3 crédits par appel.**","parameters":[{"name":"parcelle","in":"query","required":false,"schema":{"type":"string"},"description":"Identifiant cadastral de 14 caractères (ex. 31555840BL0021)."},{"name":"insee","in":"query","required":false,"schema":{"type":"string"},"description":"Code INSEE de la commune, à défaut de la parcelle."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Nombre de copropriétés rendues avec `insee` (1 à 200, défaut 50)."}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/mutations":{"get":{"tags":["Données"],"summary":"Mutations DVF d'une commune","description":"Ventes réelles publiées par la DGFiP, agrégées par commune et par type de bien.\n\n**Coût : 3 crédits par appel.**","parameters":[{"name":"code_commune","in":"query","required":false,"schema":{"type":"string"},"description":"Code INSEE de la commune."},{"name":"code_postal","in":"query","required":false,"schema":{"type":"string"},"description":"Code postal, à défaut du code INSEE."},{"name":"type","in":"query","required":false,"schema":{"type":"string"},"description":"Type de local : Appartement, Maison, Terrain."}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/dpe":{"get":{"tags":["Données"],"summary":"Diagnostic de performance énergétique","description":"Diagnostics du registre ADEME rattachés au BÂTIMENT quand une parcelle ou des coordonnées sont fournies (Référentiel National des Bâtiments), à l'adresse sinon. La réponse nomme le chemin emprunté dans `provenance` : \"batiment\", \"adresse\" ou \"aucun\".\n\n**Coût : 1 crédit par appel.**","parameters":[{"name":"parcelle","in":"query","required":false,"schema":{"type":"string"},"description":"Identifiant cadastral de 14 caractères (ex. 31555823AC0069). Ouvre le rattachement au bâtiment."},{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude WGS84 ; la parcelle est résolue puis les bâtiments interrogés."},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude WGS84, avec lat."},{"name":"address","in":"query","required":false,"schema":{"type":"string"},"description":"Adresse complète. Sert de repli quand le référentiel des bâtiments ne donne rien."},{"name":"commune","in":"query","required":false,"schema":{"type":"string"},"description":"Commune, à défaut de l'adresse."},{"name":"postal_code","in":"query","required":false,"schema":{"type":"string"},"description":"Code postal, pour départager les voies homonymes."}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/permis":{"get":{"tags":["Données"],"summary":"Permis de construire d'une commune","description":"Permis Sitadel rattachés aux parcelles de la commune.\n\n**Coût : 1 crédit par appel.**","parameters":[{"name":"insee","in":"query","required":true,"schema":{"type":"string"},"description":"Code INSEE de la commune."}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/zonage":{"get":{"tags":["Données"],"summary":"Zonage d'urbanisme et parcellaire","description":"Zone du document d'urbanisme, prescriptions et parcellaire (Géoportail de l'urbanisme, PARCELLAIRE EXPRESS).\n\n**Coût : 1 crédit par appel.**","parameters":[{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude WGS84."},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude WGS84."},{"name":"parcelles","in":"query","required":false,"schema":{"type":"boolean"},"description":"Rend le parcellaire de l'emprise plutôt que le zonage du point."},{"name":"bbox","in":"query","required":false,"schema":{"type":"string"},"description":"Emprise « ouest,sud,est,nord » quand `parcelles=true`."}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/estimation":{"post":{"tags":["Données"],"summary":"Estimation de valeur d'un bien","description":"Modèle de valorisation recalé sur les ventes DVF de la section cadastrale, avec intervalle et indice de fiabilité.\n\n**Coût : 40 crédits par appel.**","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"},"codeCommune":{"type":"string"},"typeLocal":{"type":"string","enum":["Maison","Appartement"]},"surfaceBati":{"type":"number","description":"Surface bâtie en m² (9 à 500)."},"surfaceTerrain":{"type":"number"},"nombrePieces":{"type":"integer"}},"required":["latitude","longitude","codeCommune","typeLocal","surfaceBati"]}}}},"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/estimation-lot":{"post":{"tags":["Données"],"summary":"Estimation d'un lot de biens","description":"Estime jusqu'à 200 biens en un appel. Le coût est celui d'une estimation PAR BIEN du lot.\n\n**Coût : 40 crédits par appel.**","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","maxItems":200,"description":"Biens à estimer : id, lat, lon, surface, price, type, cp ou city.","items":{"type":"object"}}},"required":["items"]}}}},"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/loyer":{"get":{"tags":["Données"],"summary":"Loyer de marché d'une commune","description":"Carte des loyers ANIL : loyer médian au m², par type de bien et nombre de pièces.\n\n**Coût : 40 crédits par appel.**","parameters":[{"name":"insee","in":"query","required":true,"schema":{"type":"string"},"description":"Code INSEE de la commune."},{"name":"type","in":"query","required":false,"schema":{"type":"string"},"description":"appartement ou maison."},{"name":"pieces","in":"query","required":false,"schema":{"type":"integer"},"description":"Nombre de pièces."}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/proprietaires":{"get":{"tags":["Données"],"summary":"Propriétaires personnes morales","description":"Deux sens de lecture : `lat`+`lon` rend les propriétaires de la parcelle sous ce point (coût 1 crédit) ; `siren` ou `nom` rend le patrimoine foncier de la société, commune par commune.\n\n**Coût : 3 crédits par appel.**","parameters":[{"name":"lat","in":"query","required":false,"schema":{"type":"number"},"description":"Latitude WGS84."},{"name":"lon","in":"query","required":false,"schema":{"type":"number"},"description":"Longitude WGS84."},{"name":"siren","in":"query","required":false,"schema":{"type":"string"},"description":"SIREN (9 caractères)."},{"name":"nom","in":"query","required":false,"schema":{"type":"string"},"description":"Dénomination, à défaut du SIREN."}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/api/v1/donnees/fonds-de-commerce":{"get":{"tags":["Données"],"summary":"Cessions de fonds de commerce (BODACC)","description":"Cessions de fonds de commerce publiées au BODACC (DILA, Licence Ouverte 2.0), par commune (`insee`), par société (`siren`, qu'elle ait cédé ou acquis) ou par parcelle (`parcelle`, IDU de 14 caractères). Exactement un des trois.\n\nLe BODACC ne publie que l'APRÈS-vente, pour ouvrir le délai d'opposition des créanciers : ce sont des cessions RÉALISÉES, jamais des fonds à vendre.\n\nDeux limites rendues dans la réponse : le prix vit dans un champ de texte libre saisi par les greffes (`prixEur` vaut `null`, jamais 0, quand aucun montant n'est publié), et l'annonce ne porte aucune géolocalisation — le rattachement à une parcelle passe par un géocodage BAN de l'adresse, signalé par `provenance: \"bodacc+ban\"` et chiffré par `geocodees` / `nonGeocodees`. Sans cession dans le contour cadastral, les cinq plus proches sont rendues avec leur `distanceM`.\n\n**Coût : 1 crédit par appel.**","parameters":[{"name":"insee","in":"query","required":false,"schema":{"type":"string"},"description":"Code INSEE de la commune (5 caractères)."},{"name":"siren","in":"query","required":false,"schema":{"type":"string"},"description":"SIREN (9 chiffres) : cessions où la société est cédante ou acquéreuse."},{"name":"parcelle","in":"query","required":false,"schema":{"type":"string"},"description":"IDU cadastral de 14 caractères."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Nombre maximal de cessions pour une commune (défaut 20, plafond 100)."}],"responses":{"200":{"description":"Succès","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Requête invalide (paramètre manquant ou hors bornes)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"401":{"description":"Clé API manquante ou invalide","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Quota de crédits dépassé ou débit atteint","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}}},"components":{"schemas":{"Erreur":{"type":"object","properties":{"error":{"type":"string","description":"Message lisible, en français."}}},"Terrain":{"type":"object","description":"Un terrain suivi. Les propriétaires ne font pas partie de cet objet.","properties":{"id":{"type":"string","format":"uuid"},"nom":{"type":["string","null"],"description":"Nom donné au terrain ; à défaut la référence cadastrale sert d'étiquette."},"adresse":{"type":["string","null"]},"commune_insee":{"type":["string","null"],"description":"Code INSEE à 5 caractères."},"commune_nom":{"type":["string","null"]},"code_postal":{"type":["string","null"]},"parcelle_code":{"type":["string","null"],"description":"Libellé cadastral affiché, ex. « 31555 - AC0222 »."},"parcelles":{"type":["array","null"],"description":"Parcelles du regroupement (section, numéro, préfixe, surface).","items":{"type":"object"}},"surface":{"type":["integer","null"],"description":"Contenance en m²."},"lat":{"type":["number","null"]},"lon":{"type":["number","null"]},"statut":{"type":"string","enum":["a_qualifier","prospection","pourparlers","negociation","signe","abandonne","signe_concurrent"]},"avancement":{"type":["integer","null"],"description":"0 à 100. `null` = la valeur par défaut du statut."},"lots":{"type":["integer","null"]},"ca_estime":{"type":["number","null"],"description":"Chiffre d'affaires estimé, en euros."},"score":{"type":["object","null"],"description":"Score de potentiel calculé par l'outil ({ total, barres, at })."},"prochaine_action_at":{"type":["string","null"],"format":"date-time","description":"Plus proche échéance non faite, dérivée des actions."},"origine":{"type":["string","null"],"enum":["prospection","apporteur","notaire","agence","appel_entrant","annonce","reseau","autre",null],"description":"D'où vient l'affaire. Alimente le taux de transformation par source. Valeurs : `prospection` (Prospection terrain), `apporteur` (Apporteur d'affaires), `notaire` (Notaire), `agence` (Agence immobilière), `appel_entrant` (Appel entrant), `annonce` (Annonce), `reseau` (Réseau), `autre` (Autre)."},"destinations":{"type":["array","null"],"items":{"type":"string","enum":["logements","residence_etudiante","residence_senior","bureaux","commerces","activites","hotel","autre"]},"description":"Destinations envisagées, plusieurs possibles (un même terrain porte souvent des logements et une résidence gérée). Valeurs : `logements` (Logements), `residence_etudiante` (Résidence étudiante), `residence_senior` (Résidence senior), `bureaux` (Bureaux), `commerces` (Commerces), `activites` (Activités), `hotel` (Hôtellerie), `autre` (Autre). Une valeur hors liste est écartée ; une liste vide efface le champ."},"copromotion":{"type":"boolean","description":"Opération partagée avec un confrère. Quand elle est vraie, `lots` et `ca_estime` sont la part du compte et `lots_total` / `ca_total` portent le total de l'opération."},"part_operation_pct":{"type":["number","null"],"minimum":0,"maximum":100,"description":"Part de l'opération revenant au compte, en pourcentage (0 à 100)."},"lots_total":{"type":["integer","null"],"minimum":0,"description":"Nombre de lots de l'opération entière (copromotion)."},"ca_total":{"type":["number","null"],"minimum":0,"description":"Chiffre d'affaires de l'opération entière, en euros (copromotion)."},"prix_demande":{"type":["number","null"],"minimum":0,"description":"Prix demandé par le vendeur, en euros."},"prix_offre":{"type":["number","null"],"minimum":0,"description":"Offre posée, en euros."},"charge_fonciere_visee":{"type":["number","null"],"minimum":0,"description":"Charge foncière visée, en euros par m² de surface de plancher. Multipliée par la SDP estimée, elle donne le prix que l'opération peut supporter."},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"TerrainCreation":{"type":"object","required":["commune_insee"],"properties":{"commune_insee":{"type":"string","description":"Code INSEE à 5 caractères. Requis.","example":"31555"},"commune_nom":{"type":"string"},"code_postal":{"type":"string"},"adresse":{"type":"string"},"section":{"type":"string","description":"Section cadastrale. Avec `numero`, localise le terrain."},"numero":{"type":"string","description":"Numéro de parcelle."},"parcelle_code":{"type":"string","description":"Alternative à `section` + `numero`."},"lat":{"type":"number","description":"Latitude. Avec `lon`, remplace la parcelle."},"lon":{"type":"number","description":"Longitude."},"nom":{"type":"string","description":"Nom donné au terrain."},"surface":{"type":"integer","description":"Contenance en m²."},"lots":{"type":"integer"},"ca_estime":{"type":"number"},"statut":{"type":"string","enum":["a_qualifier","prospection","pourparlers","negociation","signe","abandonne","signe_concurrent"],"default":"prospection"},"notes":{"type":"string"},"origine":{"type":["string","null"],"enum":["prospection","apporteur","notaire","agence","appel_entrant","annonce","reseau","autre",null],"description":"D'où vient l'affaire. Alimente le taux de transformation par source. Valeurs : `prospection` (Prospection terrain), `apporteur` (Apporteur d'affaires), `notaire` (Notaire), `agence` (Agence immobilière), `appel_entrant` (Appel entrant), `annonce` (Annonce), `reseau` (Réseau), `autre` (Autre)."},"destinations":{"type":["array","null"],"items":{"type":"string","enum":["logements","residence_etudiante","residence_senior","bureaux","commerces","activites","hotel","autre"]},"description":"Destinations envisagées, plusieurs possibles (un même terrain porte souvent des logements et une résidence gérée). Valeurs : `logements` (Logements), `residence_etudiante` (Résidence étudiante), `residence_senior` (Résidence senior), `bureaux` (Bureaux), `commerces` (Commerces), `activites` (Activités), `hotel` (Hôtellerie), `autre` (Autre). Une valeur hors liste est écartée ; une liste vide efface le champ."},"copromotion":{"type":"boolean","description":"Opération partagée avec un confrère. Quand elle est vraie, `lots` et `ca_estime` sont la part du compte et `lots_total` / `ca_total` portent le total de l'opération."},"part_operation_pct":{"type":["number","null"],"minimum":0,"maximum":100,"description":"Part de l'opération revenant au compte, en pourcentage (0 à 100)."},"lots_total":{"type":["integer","null"],"minimum":0,"description":"Nombre de lots de l'opération entière (copromotion)."},"ca_total":{"type":["number","null"],"minimum":0,"description":"Chiffre d'affaires de l'opération entière, en euros (copromotion)."},"prix_demande":{"type":["number","null"],"minimum":0,"description":"Prix demandé par le vendeur, en euros."},"prix_offre":{"type":["number","null"],"minimum":0,"description":"Offre posée, en euros."},"charge_fonciere_visee":{"type":["number","null"],"minimum":0,"description":"Charge foncière visée, en euros par m² de surface de plancher. Multipliée par la SDP estimée, elle donne le prix que l'opération peut supporter."}}},"TerrainPatch":{"type":"object","description":"Au moins un champ. Seules les clés présentes sont écrites.","properties":{"statut":{"type":"string","enum":["a_qualifier","prospection","pourparlers","negociation","signe","abandonne","signe_concurrent"]},"nom":{"type":["string","null"]},"notes":{"type":["string","null"]},"avancement":{"type":["integer","null"],"minimum":0,"maximum":100},"lots":{"type":["integer","null"],"description":"Lots revenant au compte. En copromotion, `lots_total` porte le total de l'opération."},"ca_estime":{"type":["number","null"],"description":"Chiffre d'affaires revenant au compte, en euros."},"note_manuelle":{"type":["integer","null"],"minimum":0,"maximum":5},"origine":{"type":["string","null"],"enum":["prospection","apporteur","notaire","agence","appel_entrant","annonce","reseau","autre",null],"description":"D'où vient l'affaire. Alimente le taux de transformation par source. Valeurs : `prospection` (Prospection terrain), `apporteur` (Apporteur d'affaires), `notaire` (Notaire), `agence` (Agence immobilière), `appel_entrant` (Appel entrant), `annonce` (Annonce), `reseau` (Réseau), `autre` (Autre)."},"destinations":{"type":["array","null"],"items":{"type":"string","enum":["logements","residence_etudiante","residence_senior","bureaux","commerces","activites","hotel","autre"]},"description":"Destinations envisagées, plusieurs possibles (un même terrain porte souvent des logements et une résidence gérée). Valeurs : `logements` (Logements), `residence_etudiante` (Résidence étudiante), `residence_senior` (Résidence senior), `bureaux` (Bureaux), `commerces` (Commerces), `activites` (Activités), `hotel` (Hôtellerie), `autre` (Autre). Une valeur hors liste est écartée ; une liste vide efface le champ."},"copromotion":{"type":"boolean","description":"Opération partagée avec un confrère. Quand elle est vraie, `lots` et `ca_estime` sont la part du compte et `lots_total` / `ca_total` portent le total de l'opération."},"part_operation_pct":{"type":["number","null"],"minimum":0,"maximum":100,"description":"Part de l'opération revenant au compte, en pourcentage (0 à 100)."},"lots_total":{"type":["integer","null"],"minimum":0,"description":"Nombre de lots de l'opération entière (copromotion)."},"ca_total":{"type":["number","null"],"minimum":0,"description":"Chiffre d'affaires de l'opération entière, en euros (copromotion)."},"prix_demande":{"type":["number","null"],"minimum":0,"description":"Prix demandé par le vendeur, en euros."},"prix_offre":{"type":["number","null"],"minimum":0,"description":"Offre posée, en euros."},"charge_fonciere_visee":{"type":["number","null"],"minimum":0,"description":"Charge foncière visée, en euros par m² de surface de plancher. Multipliée par la SDP estimée, elle donne le prix que l'opération peut supporter."}}},"ActionTerrain":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"terrain_id":{"type":["string","null"],"format":"uuid"},"proprietaire_id":{"type":["string","null"],"format":"uuid"},"type":{"type":["string","null"],"enum":["appel","courrier","visite","rendez_vous","relance","autre",null]},"title":{"type":"string"},"description":{"type":["string","null"]},"due_date":{"type":"string","format":"date"},"completed":{"type":"boolean"},"completed_at":{"type":["string","null"],"format":"date-time"},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"created_at":{"type":"string","format":"date-time"}}},"ActionCreation":{"type":"object","required":["due_date"],"properties":{"due_date":{"type":"string","format":"date","description":"Échéance, AAAA-MM-JJ. Requise."},"type":{"type":"string","enum":["appel","courrier","visite","rendez_vous","relance","autre"]},"title":{"type":"string","description":"Titre. À défaut, composé du type et de la référence du terrain."},"description":{"type":"string"},"priority":{"type":"string","enum":["low","normal","high","urgent"],"default":"normal"},"proprietaire_id":{"type":"string","format":"uuid","description":"Propriétaire visé, s'il y a lieu."}}},"Proprietaire":{"type":"object","description":"Propriétaire d'un terrain. Données personnelles : renvoyées uniquement sur `?include=proprietaires`.","properties":{"id":{"type":"string","format":"uuid"},"nature":{"type":"string","enum":["physique","morale"]},"civilite":{"type":["string","null"]},"nom":{"type":["string","null"]},"prenom":{"type":["string","null"]},"raison_sociale":{"type":["string","null"]},"siren":{"type":["string","null"]},"adresse":{"type":["string","null"]},"complement":{"type":["string","null"]},"code_postal":{"type":["string","null"]},"ville":{"type":["string","null"]},"telephone1":{"type":["string","null"]},"telephone2":{"type":["string","null"]},"email":{"type":["string","null"]},"commentaire":{"type":["string","null"]},"npai":{"type":"boolean","description":"N'habite pas à l'adresse indiquée."},"ne_pas_relancer":{"type":"boolean"},"position":{"type":"string","enum":["nr","vendeur","non_vendeur"]},"droits":{"type":"array","items":{"type":"object"},"description":"Droits par parcelle (pleine propriété, nue-propriété, usufruit, occupant) et quote-part."},"source":{"type":"string","enum":["majic","manuel","import","societe","occupants"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key (cada_xxx)","description":"Clé API CADA. Créez-en une sur https://www.cadaimmo.com/api-keys"}}}}