GET/bilanHealthcheck API + stats générales
GET/tiersListe clients/fournisseurs (?type=CLIENT|FOURNISSEUR)
GET/tiers/:idDétail tiers
GET/animauxListe animaux (?tie_id=)
GET/animaux/racesToutes les races (?type=&categorie=)
GET/animaux/:idFiche animal complète
GET/contactsContacts pour autocomplétion
GET/categoriesCatégories articles
GET/seancesListe séances (?tie_id= &ani_id= &statut=)
GET/seances/:idDétail séance avec jointures STY/SST/tiers/animal/contact
PATCH/seances/:idModifier séance (drag & drop planning — SEA_DATE_DEBUT/FIN/OBJET/MONTANT)
GET/seances/bcSéances avec Bilan Comportemental
GET/agendaSéances pour agenda (?debut= &fin=)
GET/planning-seancesPlanning séances (?semaine=)
GET/devisListe devis (?tie_id= &statut=)
GET/devis/:idDétail devis + lignes
PUT/devis/:id/statutChanger statut (BROUILLON→ENVOYE→ACCEPTE→REFUSE→ANNULE)
POST/devis/:id/facturerCréer facture depuis devis accepté
POST/devis/:id/emailEnvoyer devis par email au client
GET/facturesListe factures avec statut paiement
GET/factures/:idDétail facture + lignes
GET/reglementsListe règlements
GET/reglements/export-csvExport CSV règlements — colonnes : ID · Date · Montant · Mode · FAC_NUM · Client — BOM UTF-8 — S68
GET/avoirs/:idDétail avoir
GET/inventairesListe inventaires
GET/achatsListe achats fournisseurs
GET/elevage/geniteursListe géniteurs
GET/elevage/porteesListe portées
GET/elevage/sailliesListe saillies
GET/elevage/gestationsGestations en cours
GET/elevage/reservationsRéservations chiot
GET/elevage/alertesAlertes élevage (vaccins, déparasitages)
GET/elevage/genealogieArbre généalogique
GET/ged-bcFiche BC par séance (?sea_id=)
GET/ged-cac/:idScore CAC par séance
GET/ged-cac/animal/:id/evolutionHistorique CAC animal (vue v_animal_evolution_cac)
GET/ged-cac/animal/:id/scoreScore CAC courant
GET/ged-factures-impayeesFactures impayées pour GED
GET/dashboard/statsKPIs dashboard principal
GET/stats/kpisKPIs étendus (CA, panier moyen)
GET/stats/ca-par-moisCA mensuel 12 mois glissants
GET/stats/especesRépartition animaux par espèce
GET/stats/villesConcentration clients par ville
GET/stats/top-clientsTop clients par CA
GET/stats/especes-caCA par espèce
GET/stats/seances-par-typeRépartition séances par type
GET/crm/leadsListe leads CRM avec filtres
GET/crm/statsStatistiques CRM
GET/reseaux-sociaux/comptesComptes RS (rs_compte)
GET/reseaux-sociaux/publicationsPublications RS (rs_post)
GET/forfaitsCatalogue forfaits par métier
POST/forfaitsCréer forfait
GET/forfaits/clientsSouscriptions clients actives
POST/forfaits/clientsNouvelle souscription
GET/formulesCatalogue formules/abonnements
POST/formules/:id/souscrireSouscription client
POST/formules/:id/consommerConsommer une séance (auto-statut EPUISEE)
GET/rolesListe rôles (ADMIN, GESTION, CONSULT, COMPTA)
GET/roles/:id/permissionsPermissions d'un rôle par module (can_read, can_write, can_delete)
GET/user-permissionsPermissions de l'utilisateur courant
GET/signaturesListe signatures
GET/signatures/:idDétail signature + statut Yousign
POST/signaturesCréer demande BDD + appel Yousign API v3
POST/signatures/:id/envoyerActiver demande + récupérer lien signataire
POST/signatures/webhookCallback Yousign → mise à jour statut
GET/parametres/metierParamètre métier actif
PUT/parametres/metierMettre à jour métier
GET/parametres/editionsParamètres éditions (logo, couleurs, police)
GET/param-smtpConfig SMTP
PUT/param-smtpSauvegarder config SMTP depuis UI S63
GET/param-stripeConfig Stripe
GET/param-yousignConfig Yousign
PUT/param-yousignMettre à jour config Yousign
GET/plan-comptablePlan comptable PCG
GET/aide/contexteAide contextuelle (7 contextes)
GET/programmesProgrammes de suivi
POST/programmesCréer programme
GET/questionnairesListe questionnaires
POST/questionnairesCréer questionnaire
POST/portail/auth/loginConnexion client (token accès → session_token) S61
POST/portail/auth/logoutDéconnexion (invalide session) S61
GET/portail/admin/accesListe accès portail (praticien) S61
POST/portail/admin/accesCréer accès + générer token 64 chars hex S61
GET/portail/animauxAnimaux du client connecté (ANI_CLI) S62
GET/portail/devisDevis ENVOYE/ACCEPTE/FACTURE S62
GET/portail/facturesFactures + solde restant S62
GET/portail/factures/:id/pdfPDF facture pour modal iframe S62
GET/portail/seancesSéances du client (SEA_DATE_DEBUT) S63 ★
POST/portail/seances/:id/confirmerCONFIRME / ANNULE / REPORTE S63 ★
GET/portail/notificationsNotifications client (PCN_TYPE, PCN_CANAL, PCN_STATUT) S63 ★
PUT/portail/admin/acces/:id/toggleActiver / désactiver accès S63 ★
POST/portail/admin/acces/:id/send-linkEnvoyer lien portail par email (nodemailer) S63 ★
ℹ️ Toutes les routes portail utilisent _readBody() et sont dans instance.use() exclusivement.
POST/ia/chatProxy Anthropic API côté serveur — 10 tools déclarés (get_client, get_animal, create_devis, create_seance, get_planning, get_factures, send_email, update_statut_devis, create_facture_depuis_devis, create_reglement)
GETtool: get_registre_carnivoresEliot — Liste mouvements registre carnivores avec filtres statut/espece/search — S68
POSTtool: create_registre_carnivoreEliot — Créer une entrée registre carnivores (animal + métier + date) — S68
PUTtool: update_sortie_registre_carnivoreEliot — Enregistrer sortie d'un carnivore (date + observations) — S68
ℹ️ ANTHROPIC_API_KEY sécurisée côté serveur (jamais exposée frontend). Eliot est une option commerciale — toutes les fonctionnalités marchent sans lui.
POST/editions/upload-logoUpload logo - base64 direct dans param_edition ED_LOGO_BASE64 (S75)
GET/editions/upload-logoLecture logo base64 depuis param_edition ED_LOGO_BASE64
POST/editions/upload-filigraneUpload filigrane - base64 direct dans param_edition ED_FILIGRANE_BASE64 (S75)
GET/editions/upload-filigraneLecture filigrane base64 depuis param_edition ED_FILIGRANE_BASE64
POST/editions/upload-cgvUpload CGV PDF - base64 direct dans param_edition PE_CGV_BASE64 (S75)
GET/editions/cgv/previewPreview PDF CGV depuis base64 BDD
GET/editions/devis/:idPDF devis puppeteer avec param_edition (couleur, logo, filigrane, police)
GET/editions/facture/:idPDF facture puppeteer avec param_edition + fusion CGV
GET/editions/avoir-client/:idPDF avoir client puppeteer (S74)
GET/editions/bon-livraison/:idPDF bon de livraison (S71)
GET/editions/bon-retour/:idPDF bon de retour fournisseur (S71)
S75Migration GED supprimeeupload-logo/filigrane/cgv stockent desormais en base64 dans param_edition - micro_logiciel_ged supprimee (0 tables, aucune donnee perdue)
GET/registre-sanitaireListe séjours avec jointures animal+tiers (?metier=PENSION|PET_SITTER|EQUESTRE &statut= &search=)
GET/registre-sanitaire/:idDétail complet séjour + journal événements
POST/registre-sanitaireCréer séjour (entrée animal) — champs requis : ANI_ID, TIE_ID, RSS_DATE_ENTREE, RSS_ETAT_ENTREE, RSS_VETO_NOM, RSS_VETO_TEL, RSS_URGENCE_NOM, RSS_URGENCE_TEL
PUT/registre-sanitaire/:idMettre à jour / clôturer séjour (sortie animal) — auto-CLOTURE si RSS_DATE_SORTIE_REELLE fournie
POST/registre-sanitaire/:id/evenementAjouter événement au journal — RSE_TYPE : ALIMENTATION|SANTE|COMPORTEMENT|TRAITEMENT|VETERINAIRE|AUTRE · RSE_GRAVITE : FAIBLE|MODEREE|ELEVEE|URGENCE
GET/registre-carnivoresListe registre carnivores domestiques — filtres metier/statut/espece/search
GET/registre-carnivores/:idDetail entree registre carnivores
POST/registre-carnivoresCreer entree registre carnivores domestiques
PUT/registre-carnivores/:idMettre a jour / sortie rapide registre carnivores
GET/registre-carnivoresListe mouvements carnivores (?metier=PET_SITTER|PENSION_CHENIL|ELEVEUR &statut=PRESENT|SORTI|DECEDE &espece=CHIEN|CHAT|FURET &search=)
GET/registre-carnivores/:idDétail complet d'un mouvement avec jointures animal (FROM animal) + tiers (TIE_RAISON_SOCIALE)
POST/registre-carnivoresEnregistrer entrée immédiate — RC_DATE_ENTREE = NOW() · RC_PROVENANCE_TYPE : ELEVEUR|PARTICULIER|NAISSANCE|REFUGE|IMPORTATION
PUT/registre-carnivores/:idModifier / enregistrer sortie — auto-SORTI si RC_DATE_SORTIE fournie · RC_MOTIF_SORTIE : CESSION_VENTE|CESSION_DON|RETOUR_PROPRIO|DECES|TRANSFERT
GET/tarificationLire la configuration de tarification (COEF_FG+MARGE, COEF_VTE, PRIX_DIRECT)
PUT/tarificationMettre à jour la méthode et les coefficients — colonnes : DCE_METHODE_TARIF, DCE_COEF_FG, DCE_PCT_MARGE, DCE_COEF_VTE
GET/tarification/historiqueHistorique des changements de tarification avec dates d'application
POST/devis/:id/appliquer-tarifAppliquer la tarification courante à un devis existant
GET/animal/search-completRecherche simultanée ANI_NOM + TIE_RAISON_SOCIALE — jointure animal + tiers + race — LIMIT 10 — utilisé par AnimalSearchComboBox
GET/ia/memoireListe des faits mémorisés par Eliot — seeds langue + métier
POST/ia/memoireAjouter un fait à la mémoire Eliot (tool memoriser)
DELETE/ia/memoire/:idSupprimer un fait de la mémoire Eliot
GET/ia/sessionsHistorique des sessions Eliot (résumés fire-and-forget)
GET/portail/admin/notifications/configConfiguration notifications portail — 5 types (DEVIS_DISPONIBLE, FACTURE_DISPONIBLE…)
PUT/portail/admin/notifications/configMettre à jour la configuration des notifications portail
POST/portail/admin/notifications/envoyerEnvoyer manuellement une notification portail
GET/portail/admin/notifications/historiqueHistorique des notifications envoyées
GET/factures/export-csvExport CSV factures — BOM UTF-8 — 143 factures — FAC_NUM · Date · Client · TTC · Statut