# Propalix > API JSON de génération de devis, contrats et factures électroniques (Factur-X) conformes au droit français, pour agences, freelances et outils no-code. Sans compte : 25 documents/jour (filigrane). Compte gratuit : 10/mois (filigrane). Pro 9 €/mois (ou 90 €/an) : 100/mois, sans filigrane. Business 24 €/mois (ou 240 €/an) : 2 000/mois, relances + webhooks + multi-utilisateur. Base : https://www.propalix.fr - Auth facultative : `Authorization: Bearer ppx_...` `GET /` renvoie une description JSON complète de l'API avec exemples. ## Endpoints - `POST /v1/devis` : JSON → PDF de devis conforme (SIREN/SIRET vérifiés, TVA par taux, franchise art. 293 B via `tva_applicable: false`). Devis riches : jusqu'à 200 lignes, remise par ligne (`prestations[].remise_pct`) et globale (`remise_globale`), `acompte`, logo (`emetteur.logo_url`) et charte (`emetteur.couleur_accent`), `client.siren`, `mention_exoneration`. Le `prix_unitaire_ht` d'une ligne est FACULTATIF pour un compte authentifié : omis, il est complété depuis le catalogue (désignation déjà facturée). Avec `"dry_run": true` → aperçu JSON chiffré (lignes, TVA, acompte, totaux en centimes, prix complétés signalés) SANS PDF ni quota, pour préparer/vérifier avant génération. Avec `"hosted": true` → JSON 201 avec URL publique `/d/{id}` où le client clique « Bon pour accord » (acceptation horodatée + cachet sur le PDF + webhook `devis.accepted`). - `POST /v1/contrat` : JSON → PDF de contrat de prestation de services (objet, prix, durée, résiliation, propriété intellectuelle, litiges, `clauses_custom[]`). - `POST /v1/facture` (clé API) : JSON → **facture électronique Factur-X** conforme à la réforme 2026/2027 (PDF/A-3 lisible + XML CII EN 16931 embarqué). Numérotation séquentielle légale auto (`FAC-AAAA-NNNNNN`). `type_operation` requis ("biens"|"services"|"mixte") ; les 4 mentions e-invoicing (SIREN client, adresse de livraison, nature de l'opération, option TVA sur débits) figurent dans le PDF ET le XML. `format:"pdf"` pour un PDF simple ; `devis_source` pour facturer un devis accepté. `GET /v1/factures` liste les factures. Le client transmet ensuite la facture via SA plateforme agréée (PA). - `POST /v1/pdf` : `{ "html": "..." }` ou corps `text/html` → PDF. - `GET/PUT /v1/parametres` : émetteur par défaut du compte (pré-remplit les documents), webhook. - `GET /v1/entreprises?q=` : annuaire officiel de l'État (sans clé, aucun quota) → raison sociale, adresse, forme juridique, SIREN/SIRET, n° TVA intracom calculé. Pour préremplir un émetteur ou vérifier un client. - `POST /v1/parametres/preremplir` : `{ "q": "" }` (clé API) → configure l'émetteur du compte depuis l'annuaire en un appel. Ensuite, plus besoin d'envoyer le bloc émetteur. - `POST /v1/parametres/depuis-site` : `{ "url": "https://sonsite.fr", "ecraser": false }` (clé API) → le serveur lit le site du client (auto-hébergé, durci SSRF) et remplit logo, couleur de charte et nom dans l'émetteur. Complément de `preremplir` (identité légale via SIRET) pour l'habillage de marque. Réponse : `{ "source", "extrait": {nom, logo_url, couleur_accent}, "champs_appliques":[…], "parametres":{…} }`. - `GET /v1/clients?q=` : carnet de clients du compte (clé API), alimenté à chaque devis/contrat, pour l'autocomplétion. - `GET /v1/contexte` : contexte consolidé du compte (clé API) pour l'IA du client - émetteur configuré ou non, charte, régime TVA, usage, carnet, prochaine action suggérée. À lire en premier. - `GET /v1/catalogue?q=` : catalogue de prestations du compte (clé API), alimenté à chaque devis/contrat (désignation, unité, prix HT, taux TVA). L'IA y pioche pour suggérer des lignes. ## Exemple minimal POST /v1/devis {"emetteur":{"nom":"Studio","adresse":"1 rue de la Paix","code_postal":"75002","ville":"Paris","siren":"732829320"},"client":{"nom":"Client SARL"},"prestations":[{"designation":"Site vitrine","prix_unitaire_ht":1500,"taux_tva":20}],"hosted":true} ## Détails - Voir /llms-full.txt pour tous les champs, codes d'erreur et exemples complets. - Serveur MCP : `npx -y @propalix/mcp` avec `PROPALIX_API_KEY` en env. Outils : `lire_contexte` (état du compte, à lire en premier), `preparer_devis` (chiffre un devis sans le générer, complète les prix depuis le catalogue), `create_devis` (renvoie l'URL « Bon pour accord »), `create_contrat`, `create_facture` (facture électronique Factur-X conforme 2026/2027), `rechercher_entreprise` (annuaire officiel), `configurer_emetteur` (identité légale via SIRET), `configurer_depuis_site` (logo + couleur de charte + nom depuis l'URL du site), `rechercher_client`, `rechercher_prestation`. Install Claude Code : `claude mcp add propalix -e PROPALIX_API_KEY=ppx_... -- npx -y @propalix/mcp`. - Erreurs : 422 validation (messages en français, champ par champ), 401 clé invalide, 429 quota (en-tête Retry-After). - Inscription self-serve : https://www.propalix.fr/app (magic link email).