{"openapi":"3.1.0","info":{"title":"synergieloc — API immobilière pour les IA","version":"1.0.0","description":"Calculs immobiliers français réglementaires exacts (loi 89-462, décret 87-713) : révision IRL, régularisation de charges, quittances et courriers conformes. Clé API : https://synergieloc.fr/api-ia — Serveur MCP : https://synergieloc.fr/mcp","contact":{"email":"contact@synergieloc.fr","url":"https://synergieloc.fr/api-ia"}},"servers":[{"url":"https://synergieloc.fr"}],"paths":{"/api/v1/signup":{"post":{"tags":["api-ia"],"summary":"Api V1 Signup","description":"Auto-provisionnement d'une clé API GRATUITE — AUCUN email requis, aucune\nattente. Pensé pour qu'une IA/agent qui découvre le serveur MCP ou l'API\nreparte avec une clé fonctionnelle dans le même échange (voir aussi l'outil\nMCP `obtenir_cle_api`, identique). Body : {name, [email]} — `name` identifie\nl'appelant (ex. « Claude », « MonAgent »), `email` est facultatif (double de\nla clé envoyé si fourni, jamais utilisé à autre chose).\n30 jours d'accès illimité à compter de MAINTENANT, puis 60 min/jour, sans\ndate limite. Limité par IP pour éviter l'abus (contact@synergieloc.fr en cas\nde besoin légitime au-delà).","operationId":"api_v1_signup_api_v1_signup_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/me":{"get":{"tags":["api-ia"],"summary":"Api V1 Me","description":"Infos de la clé : plan, quota, unités consommées ce mois.","operationId":"api_v1_me_api_v1_me_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feedback":{"post":{"tags":["api-ia"],"summary":"Api V1 Feedback","description":"Canal de retour des IA (0 unité, toujours accessible). L'IA envoie ses\nremarques pour améliorer l'app. Body : {message, [context]}.","operationId":"api_v1_feedback_api_v1_feedback_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/irl/revision":{"post":{"tags":["api-ia"],"summary":"Api V1 Irl Revision","description":"Révision annuelle de loyer indexée IRL (art. 17-1 loi 89-462).\nBody : {loyer_actuel, irl_reference, irl_nouveau, [charges_actuelles]}.\nL'appelant fournit les indices INSEE (T de référence du bail et nouveau T).","operationId":"api_v1_irl_revision_api_v1_irl_revision_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/regularisation/charges":{"post":{"tags":["api-ia"],"summary":"Api V1 Regul Charges","description":"Régularisation annuelle des charges locatives (décret 87-713).\nBody : {provisions_encaissees, tantiemes_locataire, tantiemes_total,\n        charges: [{libelle, montant, recuperable(bool, def=true)}],\n        [jours_occupation, jours_periode=365]}.","operationId":"api_v1_regul_charges_api_v1_regularisation_charges_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/quittance":{"post":{"tags":["api-ia"],"summary":"Api V1 Quittance","description":"Quittance de loyer conforme (art. 21 loi 89-462), PDF (défaut) ou HTML.\nBody : {bailleur_nom, bailleur_adresse, locataire_nom, logement_adresse,\n        [locataire_adresse], periode, loyer, charges, date_paiement,\n        [lieu, date_emission, format:'pdf'|'html']}.\nMise en page enveloppe à fenêtre : destinataire à DROITE. Préférer\nlocataire_adresse (postale) distincte de logement_adresse (bien loué).","operationId":"api_v1_quittance_api_v1_documents_quittance_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/dxf":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Dxf","description":"CAO pour agents IA : décrivez une scène en JSON, recevez un fichier DXF\nouvrable dans AutoCAD. Coordonnées plan XY en millimètres, hauteurs en Z.\nBody : {murs:[{x1,y1,x2,y2,hauteur,epaisseur}], boites:[{x,y,l,p,h,z,rotation}],\n        plan:[{x1,y1,x2,y2}], cercles:[{x,y,r}], [format:'json']}.\nSchéma complet + exemples : GET /api/v1/cao/schema.","operationId":"api_v1_cao_dxf_api_v1_cao_dxf_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/metres":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Metres","description":"Métrés chiffrés d'une scène CAO : linéaire et surface de murs, surface et\nvolume des boîtes (mobilier, cloisons, dalles…), emprise au sol — de quoi\nalimenter directement un devis. Même format de scène que /cao/dxf.\nSchéma complet + exemples : GET /api/v1/cao/schema. Alias : /cao/quantites.","operationId":"api_v1_cao_metres_api_v1_cao_metres_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/quantites":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Quantites","description":"Alias de /cao/metres (nom alternatif fréquent : « quantitatif de devis »).","operationId":"api_v1_cao_quantites_api_v1_cao_quantites_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/render":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Render","description":"Aperçu visuel d'une scène CAO en vue de dessus (plan XY) — utile pour\nqu'un agent IA vérifie visuellement ce qu'il vient de générer avant de le\nlivrer. Body : mêmes champs que /cao/dxf, plus [format:'svg'|'png']\n(défaut svg, vectoriel). Schéma complet + exemples : GET /api/v1/cao/schema.","operationId":"api_v1_cao_render_api_v1_cao_render_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/pdf":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Pdf","description":"PLANCHE TECHNIQUE haute qualité d'une scène CAO, en PDF (défaut) ou HTML :\nvue de dessus (plan), élévation de face, élévation de côté ET vue\naxonométrique ombrée (pseudo-3D, pas un simple plan filaire), avec cotes\n(largeur/profondeur/hauteur) et métrés — en un seul document présentable.\nPortes/fenêtres (body.ouvertures) incrustées sur leur mur. Toiture : sans\nbody.toitures, un toit plat est auto-généré sur l'emprise de tous les murs\n(sans quoi le bâtiment resterait ouvert vu de dessus/en axo) ; avec\nbody.toitures, composez librement plat/deux_pans/quatre_pans/conique/\ndome/chien_assis/personnalise, chaque entrée pouvant viser un\nsous-ensemble de murs (bâtiment en L, lucarne en plus du toit principal…).\nBody : mêmes champs que /cao/dxf, plus [ouvertures, toitures, titre,\nauteur, format:'pdf'|'html']. Schéma complet + exemples : GET\n/api/v1/cao/schema.","operationId":"api_v1_cao_pdf_api_v1_cao_pdf_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/verifier":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Verifier","description":"Audit géométrique d'une scène CAO — GRATUIT, sans clé API.\n\nDétecte les erreurs fréquentes des agents (allège d'ouverture en altitude\nabsolue, lucarne chien_assis flottante, étage sans fenêtres, garde-corps\nhors emprise…) AVANT dxf/pdf/rendu. Retourne alertes + conseils de correction.\nWorkflow : GET /cao/schema → composer → POST /cao/verifier → corriger →\nmetres/rendu/pdf/dxf.","operationId":"api_v1_cao_verifier_api_v1_cao_verifier_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/schema":{"get":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Schema","description":"Schéma documenté de la scène CAO (format commun à /cao/dxf, /cao/metres,\n/cao/render) avec exemples prêts à copier. Pas de clé API requise — pour\nlaisser un agent IA découvrir le format avant de commander une clé.","operationId":"api_v1_cao_schema_api_v1_cao_schema_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/agent-playbook":{"get":{"tags":["api-ia","api-ia"],"summary":"Api V1 Agent Playbook","description":"Playbook versionné pour agents IA — GRATUIT, sans clé.\n\nQuery ?domaine=cao|documents|irl|securite|workflow (optionnel).\nÉquivalent MCP : outil bonnes_pratiques.","operationId":"api_v1_agent_playbook_api_v1_agent_playbook_get","parameters":[{"name":"domaine","in":"query","required":false,"schema":{"type":"string","default":"","title":"Domaine"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bonnes-pratiques":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Bonnes Pratiques","description":"Même contenu que GET /agent-playbook — body JSON {domaine?} pour MCP.","operationId":"api_v1_bonnes_pratiques_api_v1_bonnes_pratiques_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agent/decide":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Agent Decide","description":"Décision commerciale pour Make AI Agent (infos in → actions out).\n\nMake collecte ; Synergieloc décide démarchage / campagne / infos manquantes.\nAuth obligatoire + rate-limit IP.","operationId":"api_v1_agent_decide_api_v1_agent_decide_post","parameters":[{"name":"X-Make-Secret","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Make-Secret"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agent/demarchage":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Agent Demarchage","description":"Envoie l'offre commerciale Synergieloc au prospect (SMTP).\n\nAuth : header ``X-Make-Secret`` (= MAKE_DEMARCHAGE_SECRET) **ou** clé API\n``X-API-Key``. Body : prospect_email, prospect_nom?, prospect_entreprise?,\ncontexte?, cible? (persona), produit?, agent_nom? (ignoré — marque fixe).","operationId":"api_v1_agent_demarchage_api_v1_agent_demarchage_post","parameters":[{"name":"X-Make-Secret","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Make-Secret"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/video":{"post":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Video","description":"Lance le rendu d'une VISITE CAMÉRA (fichier MP4) d'une scène CAO : orbite\ndrone autour du bâtiment (perspective, éclairage). Body = scène /cao/* + :\n  - resolution : '540p'|'720p'|'1080p'|'1440p'|'4k' (défaut '1080p')\n  - duree_sec  : 3–120 s (DÉFAUT 20) ; ou duree_min 5|15|30|45|60\n  - vitesse 1–5, titre.\nRENDU ASYNCHRONE → job_id. Poll GET /cao/video/{id} jusqu'à done, puis\nGET /cao/video/{id}/fichier (?format=base64 pour agents).\nPour une visite INTÉRIEURE cinématique 4K (pièce par pièce, multi-étages) :\néditeur CAO → bouton « Visite 4K » (GPU navigateur).","operationId":"api_v1_cao_video_api_v1_cao_video_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/video/{job_id}":{"get":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Video Status","description":"Statut d'un rendu vidéo lancé par POST /api/v1/cao/video.","operationId":"api_v1_cao_video_status_api_v1_cao_video__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cao/video/{job_id}/fichier":{"get":{"tags":["api-ia","api-ia"],"summary":"Api V1 Cao Video Fichier","description":"Télécharge le MP4 d'un rendu terminé (statut 'done').\n`?format=base64` renvoie la vidéo en JSON (agents sans téléchargement binaire).","operationId":"api_v1_cao_video_fichier_api_v1_cao_video__job_id__fichier_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"","title":"Format"}},{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/avenant-irl":{"post":{"tags":["api-ia"],"summary":"Api V1 Avenant Irl","description":"Courrier de révision de loyer IRL prêt à envoyer (PDF, ou format:'html').\nBody : {bailleur_nom, locataire_nom, logement_adresse, [locataire_adresse],\n        loyer_actuel, irl_reference, irl_nouveau, date_effet,\n        [bailleur_adresse, trimestre_reference, trimestre_nouveau, lieu, date_emission]}.\nMise en page enveloppe à fenêtre : destinataire à DROITE.","operationId":"api_v1_avenant_irl_api_v1_documents_avenant_irl_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/avis-echeance":{"post":{"tags":["api-ia"],"summary":"Api V1 Avis Echeance","description":"Avis d'échéance / appel de loyer (PDF ou HTML) — service agents IA.\nBody : bailleur_*, locataire_*, logement_adresse, periode, date_echeance,\nloyer/charges ou lignes[], [iban, bic, reference, lieu, format].","operationId":"api_v1_avis_echeance_api_v1_documents_avis_echeance_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/relance":{"post":{"tags":["api-ia"],"summary":"Api V1 Relance","description":"Relance impayé niveaux 1–5 (PDF/HTML) — service agents IA.\nBody : niveau, bailleur_*, locataire_*, montant_du, [detail[], logement_adresse, lieu, format].","operationId":"api_v1_relance_api_v1_documents_relance_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/crg":{"post":{"tags":["api-ia"],"summary":"Api V1 Crg","description":"Compte rendu de gestion simplifié (PDF/HTML) — service agents IA.\nDestinataire = propriétaire (proprietaire_adresse). Body : agence_*/bailleur_*,\nproprietaire_*, periode, recettes[], depenses[], [honoraires, solde, biens_adresses].","operationId":"api_v1_crg_api_v1_documents_crg_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/fiscal/synthese":{"post":{"tags":["api-ia"],"summary":"Api V1 Fiscal Synthese","description":"Synthèse fiscale revenus fonciers (micro vs réel) — service agents IA.\nBody : recettes_brutes, charges_deductibles, [annee, proprietaire_nom,\nproprietaire_adresse, format=json|html|pdf]. Stateless — pas d'accès compta.\nGarde-fou : résultat à titre indicatif, dans la limite des documents fournis ;\npour toute décision, contacter un professionnel.","operationId":"api_v1_fiscal_synthese_api_v1_fiscal_synthese_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gerance/declaration-paiement":{"post":{"tags":["api-ia"],"summary":"Api V1 Declaration Paiement","description":"Déclaration de paiement (le client confirme : payé ? date ? montant ?) →\nproposition d'écriture comptable + prochaine action (quittance ou reçu).\n1 unité (irl). Stateless — pas d'accès banque.","operationId":"api_v1_declaration_paiement_api_v1_gerance_declaration_paiement_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/mandat-gerance":{"post":{"tags":["api-ia"],"summary":"Api V1 Mandat Gerance","description":"Mandat de gestion (loi Hoguet) PDF/HTML — service agents. Dossier local client.","operationId":"api_v1_mandat_gerance_api_v1_documents_mandat_gerance_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/candidature":{"post":{"tags":["api-ia"],"summary":"Api V1 Candidature","description":"Dossier de candidature locataire PDF/HTML — service agents.","operationId":"api_v1_candidature_api_v1_documents_candidature_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gerance/annonce-location":{"post":{"tags":["api-ia"],"summary":"Api V1 Annonce Location","description":"BROUILLON d'annonce de location uniquement (texte + HTML).\nAucune publication sur synergieloc.fr — validation opérateur exclusive.\nToute tentative publier=true est refusée (400). 1 unité.","operationId":"api_v1_annonce_location_api_v1_gerance_annonce_location_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/mouvement-locataire":{"post":{"tags":["api-ia"],"summary":"Api V1 Mouvement Locataire","description":"Entrée ou sortie locataire (checklist + solde de tout compte) PDF/HTML.\nBody : type=entree|sortie, bailleur_*, locataire_*, logement_adresse,\n[date_effet, checklist[], solde_lignes[], depot_garantie, retenues, format].","operationId":"api_v1_mouvement_locataire_api_v1_documents_mouvement_locataire_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/edl":{"post":{"tags":["api-ia"],"summary":"Api V1 Edl","description":"État des lieux d'entrée ou de sortie (PDF/HTML) — décret 2016-382.\nBody : type=entree|sortie, bailleur_*, locataire_*, logement_adresse,\n[pieces[]/rooms[], compteurs[], cles[], etat_general, proprete, format].","operationId":"api_v1_edl_api_v1_documents_edl_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/bon-intervention":{"post":{"tags":["api-ia"],"summary":"Api V1 Bon Intervention","description":"Bon / demande d'intervention (PDF/HTML) — service agents IA.\nBody : titre, description, [adresse_intervention, urgence, echeance,\ncout_estime, prestataire_*, agence_*, format].","operationId":"api_v1_bon_intervention_api_v1_documents_bon_intervention_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/partenaire/pack":{"get":{"tags":["api-ia"],"summary":"Api V1 Pack Partenaire","description":"Catalogue gratuit : apps Espace Partenaire → outils MCP (0 unité, sans clé).","operationId":"api_v1_pack_partenaire_api_v1_partenaire_pack_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["api-ia"],"summary":"Api V1 Pack Partenaire Post","description":"Même contenu que GET — body ignoré (compat MCP).","operationId":"api_v1_pack_partenaire_post_api_v1_partenaire_pack_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/fiche-mission":{"post":{"tags":["api-ia"],"summary":"Api V1 Fiche Mission","description":"Fiche mission / chantier (PDF/HTML) — app Missions du portail partenaire.","operationId":"api_v1_fiche_mission_api_v1_documents_fiche_mission_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/devis-travaux":{"post":{"tags":["api-ia"],"summary":"Api V1 Devis Travaux","description":"Devis travaux (PDF/HTML) — app Factures du portail partenaire.","operationId":"api_v1_devis_travaux_api_v1_documents_devis_travaux_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/liste-materiaux":{"post":{"tags":["api-ia"],"summary":"Api V1 Liste Materiaux","description":"Liste matériaux / panier (PDF/HTML) — app Panier du portail partenaire.","operationId":"api_v1_liste_materiaux_api_v1_documents_liste_materiaux_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/confirmation-rdv":{"post":{"tags":["api-ia"],"summary":"Api V1 Confirmation Rdv","description":"Confirmation de rendez-vous (PDF/HTML) — app Agenda.","operationId":"api_v1_confirmation_rdv_api_v1_documents_confirmation_rdv_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/note-frais":{"post":{"tags":["api-ia"],"summary":"Api V1 Note Frais","description":"Note de frais (PDF/HTML) — app Frais.","operationId":"api_v1_note_frais_api_v1_documents_note_frais_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/journal-kilometrique":{"post":{"tags":["api-ia"],"summary":"Api V1 Journal Kilometrique","description":"Journal kilométrique + IK (PDF/HTML) — app Kilométrique.","operationId":"api_v1_journal_kilometrique_api_v1_documents_journal_kilometrique_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/compte-rendu-chantier":{"post":{"tags":["api-ia"],"summary":"Api V1 Compte Rendu Chantier","description":"Compte-rendu d'avancement chantier (PDF/HTML) — app Chantier IA.","operationId":"api_v1_compte_rendu_chantier_api_v1_documents_compte_rendu_chantier_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/relance-facture-client":{"post":{"tags":["api-ia"],"summary":"Api V1 Relance Facture Client","description":"Relance facture client BTP (PDF/HTML) — app Factures en retard.","operationId":"api_v1_relance_facture_client_api_v1_documents_relance_facture_client_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/conformite-artisan":{"post":{"tags":["api-ia"],"summary":"Api V1 Conformite Artisan","description":"Checklist conformité artisan RC Pro / décennale / URSSAF / KBIS — app Conformité.","operationId":"api_v1_conformite_artisan_api_v1_documents_conformite_artisan_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/facturx":{"post":{"tags":["api-ia"],"summary":"Api V1 Facturx","description":"Facture Factur-X (PDF/A-3 + XML EN 16931 CII) — service agents IA.\nBody : invoice_number, invoice_date, seller{}, buyer{}, lines[]\n(description, quantity, unit_price HT, vat_rate). Optionnel : due_date, notes.\nformat=preview → PDF simple sans XML ; défaut = Factur-X complet.","operationId":"api_v1_facturx_api_v1_documents_facturx_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}}},"security":[{"ApiKeyAuth":[]}]}