# API applicative Statut: référence technique Public: mainteneurs, intégrateurs Dernière révision: 2026-06-01 Toutes les routes applicatives sont préfixées par `/api`. Les routes protégées exigent un JWT valide. Sauf mention contraire, les routes doivent agir uniquement dans le groupe du membre courant. ## Authentification et accueil | Route | Usage | | --- | --- | | `GET /api/auth/health` | Vérifier l'accès DB côté auth. | | `GET /api/auth/groupes` | Lister les groupes disponibles et initialiser le groupe de démonstration au besoin. | | `POST /api/auth/connexion` | Ouvrir une session. | | `POST /api/auth/impersoner/{membre_id}` | Sysadmin agit au nom d'un membre. | | `POST /api/auth/inscription` | Inscrire un membre avec invitation. | | `GET /api/accueil/` | Retourner membre, groupe, postes et modules visibles. | | `GET /api/health` | Santé globale de l'API. | ## Administration sysadmin | Route | Usage | | --- | --- | | `POST /api/admin/sysadmin-login` | Connexion sysadmin depuis la page publique. | | `POST /api/admin/demo` | Créer le groupe de démonstration si absent. | | `POST /api/admin/demo/reset` | Réinitialiser les données fictives de démonstration. | | `GET /api/admin/groupes` | Lister les groupes avec compteurs. | | `POST /api/admin/groupes` | Créer un groupe. | | `PATCH /api/admin/groupes/{groupe_id}` | Modifier un groupe. | | `POST /api/admin/groupes/{groupe_id}/reset` | Réinitialiser un groupe. | | `DELETE /api/admin/groupes/{groupe_id}` | Supprimer un groupe non protégé. | ## Membres et invitations | Route | Usage | | --- | --- | | `GET /api/membres/moi` | Profil complet du membre courant. | | `PATCH /api/membres/moi` | Modifier son profil. | | `POST /api/membres/moi/pin` | Changer son PIN. | | `GET /api/membres/actifs` | Liste des membres actifs. | | `GET /api/membres/` | Liste de gestion des membres. | | `POST /api/membres/` | Créer un membre. | | `PATCH /api/membres/{membre_id}/desactiver` | Désactiver la connexion. | | `PATCH /api/membres/{membre_id}/reactiver` | Réactiver la connexion. | | `DELETE /api/membres/{membre_id}/oubli` | Anonymiser par droit à l'oubli. | | `POST /api/invitations/` | Générer une invitation. | ## Rencontres | Route | Usage | | --- | --- | | `POST /api/reunions/` | Planifier une rencontre ou assemblée. | | `GET /api/reunions/` | Lister les réunions. | | `GET /api/reunions/rencontres/details` | Données enrichies des tuiles de rencontres. | | `PATCH /api/reunions/{reunion_id}` | Modifier une rencontre. | | `GET /api/reunions/{reunion_id}` | Lire une rencontre. | | `GET /api/reunions/{reunion_id}/rapport.pdf` | Produire le rapport PDF de rencontre. | ## Assemblées et présences | Route | Usage | | --- | --- | | `POST /api/presences/reunion` | Créer une réunion d'affaires. | | `GET /api/presences/reunions` | Lister les assemblées. | | `POST /api/presences/reunions/{reunion_id}/invitation` | Générer le lien invité. | | `GET /api/presences/invite/{code}` | Lecture invitée d'une assemblée. | | `GET /api/presences/reunions/{reunion_id}/rapport.pdf` | Rapport PDF d'assemblée. | | `POST /api/presences/` | Enregistrer les présences. | | `GET /api/pv/` | Lister les PV. | | `GET /api/pv/{pv_id}` | Lire un PV. | | `POST /api/pv/` | Créer un PV. | | `PATCH /api/pv/{pv_id}` | Corriger un PV. | | `PATCH /api/pv/{pv_id}/adopter` | Adopter un PV. | ## Gouvernance | Route | Usage | | --- | --- | | `POST /api/propositions/` | Soumettre une proposition. | | `POST /api/propositions/{proposition_id}/seconder` | Seconder ou seconder pour un autre membre. | | `PATCH /api/propositions/{proposition_id}/voter` | Transformer ou rejeter selon le payload. | | `GET /api/propositions/` | Lister propositions et réflexions. | | `GET /api/propositions/resolutions` | Lister les décisions. | ## Trésorerie | Route | Usage | | --- | --- | | `POST /api/collectes/` | Créer une collecte. | | `PATCH /api/collectes/{collecte_id}` | Modifier une collecte. | | `POST /api/collectes/{collecte_id}/confirmer` | Confirmer une collecte. | | `POST /api/collectes/{collecte_id}/reception` | Accuser réception. | | `GET /api/collectes/` | Lister les collectes. | | `GET /api/collectes/soldes` | Soldes et éléments à recevoir. | | `GET /api/collectes/registre` | Registre financier agrégé. | | `POST /api/depenses/` | Soumettre une dépense. | | `POST /api/depenses/{depense_id}/preuve` | Ajouter une preuve. | | `POST /api/depenses/{depense_id}/confirmer` | Confirmer une dépense selon l'ancien flux. | | `POST /api/depenses/{depense_id}/confirmer-debit` | Confirmer le débit bancaire. | | `DELETE /api/depenses/{depense_id}` | Rejeter ou supprimer une demande. | | `GET /api/depenses/` | Lister les dépenses. | | `GET /api/depenses/a-confirmer` | Lister les dépenses à traiter. | | `PATCH /api/depenses/{depense_id}` | Modifier une dépense. | | `POST /api/banque/` | Dépôt, retrait ou opération bancaire. | | `GET /api/banque/reserves` | Lister les réserves. | | `POST /api/banque/reserves` | Créer une réserve. | | `PATCH /api/banque/reserves/{reserve_id}` | Renommer une réserve. | | `DELETE /api/banque/reserves/{reserve_id}` | Supprimer une réserve à zéro. | | `POST /api/banque/reserves/transfert` | Virer entre disponible et réserves. | | `GET /api/banque/reserves/mouvements` | Historique des réserves. | | `GET /api/banque/registre-comptable` | Registre comptable. | | `GET /api/banque/` | Lister opérations bancaires. | ## Contributions | Route | Usage | | --- | --- | | `GET /api/contributions/destinataires` | Lister les destinataires. | | `POST /api/contributions/destinataires` | Créer un destinataire. | | `PATCH /api/contributions/destinataires/{destinataire_id}` | Modifier un destinataire. | | `DELETE /api/contributions/destinataires/{destinataire_id}` | Supprimer un destinataire non protégé. | | `POST /api/contributions/calculer` | Calculer une répartition. | | `POST /api/contributions/` | Créer un envoi de contribution. | | `POST /api/contributions/{envoi_id}/confirmer-debit` | Confirmer le débit. | | `GET /api/contributions/` | Lister les contributions. | | `GET /api/config-repartition/` | Lire la configuration. | | `PUT /api/config-repartition/` | Modifier la répartition. | ## Postes, mandats et permissions | Route | Usage | | --- | --- | | `GET /api/postes/` | Lister les postes. | | `POST /api/postes/` | Créer un poste. | | `PATCH /api/postes/{poste_id}` | Modifier un poste. | | `DELETE /api/postes/{poste_id}` | Abolir un poste. | | `POST /api/postes/{poste_id}/reactiver` | Réactiver un poste. | | `DELETE /api/postes/{poste_id}/permanent` | Supprimer définitivement. | | `GET /api/postes/disponibles` | Postes à pourvoir. | | `POST /api/postes/candidatures` | Postuler. | | `POST /api/postes/candidatures/proposer` | Proposer un autre membre. | | `POST /api/postes/candidatures/nominer` | Nomination directe. | | `POST /api/postes/candidatures/{id}/retirer` | Retirer une candidature. | | `POST /api/postes/candidatures/{id}/accepter-nomination` | Accepter une nomination. | | `GET /api/postes/candidatures` | Lister les candidatures. | | `GET /api/postes/candidatures/mes` | Mes candidatures. | | `PATCH /api/postes/candidatures/{id}` | Traiter une candidature. | | `GET /api/postes/affectations` | Affectations actives du membre. | | `GET /api/postes/affectations/groupe` | Affectations du groupe. | | `POST /api/postes/affectations` | Affecter un poste. | | `POST /api/postes/affectations/{id}/terminer` | Terminer un mandat. | | `GET /api/postes/modules` | Modules configurables. | | `PUT /api/postes/{poste_id}/modules` | Modifier les permissions d'un poste. | | `GET /api/rotations/` | Rotations planifiées. | | `GET /api/rotations/historique` | Historique des rotations. | | `POST /api/rotations/` | Créer une rotation. | | `POST /api/rotations/batch` | Créer plusieurs rotations. | | `DELETE /api/rotations/{rotation_id}` | Supprimer une rotation. | ## Inventaires, événements et rapports | Route | Usage | | --- | --- | | `GET /api/litterature/` | Lister la littérature. | | `POST /api/litterature/` | Ajouter un titre. | | `PATCH /api/litterature/{item_id}` | Modifier un titre. | | `PATCH /api/litterature/{item_id}/stock` | Ajuster le stock. | | `POST /api/ventes-litterature/` | Enregistrer une vente. | | `GET /api/ventes-litterature/` | Lister les ventes. | | `GET /api/ventes-litterature/a-recevoir` | Ventes à recevoir. | | `POST /api/ventes-litterature/{vente_id}/recevoir` | Confirmer réception. | | `GET /api/jetons/types` | Types de jetons. | | `POST /api/jetons/` | Enregistrer une remise statistique. | | `POST /api/jetons/ventes` | Enregistrer une vente de jetons. | | `GET /api/jetons/ventes/a-recevoir` | Ventes de jetons à recevoir. | | `POST /api/jetons/ventes/{vente_id}/recevoir` | Confirmer réception. | | `GET /api/jetons/` | Historique des remises. | | `GET /api/commandes-jetons/stock` | Stock de jetons. | | `GET /api/evenements/` | Lister les événements. | | `POST /api/evenements/` | Créer un événement. | | `DELETE /api/evenements/{evenement_id}` | Supprimer un événement. | | `GET /api/calendrier/` | Calendrier du groupe courant. | | `GET /api/calendrier/groupe/{groupe_id}` | Calendrier public d'un groupe. | | `GET /api/anniversaires/` | Anniversaires de sobriété. | ## Rapports, journal et notifications | Route | Usage | | --- | --- | | `GET /api/rapports/disponibles` | Rapports disponibles. | | `GET /api/rapports/resolutions/annees` | Années de décisions disponibles. | | `GET /api/rapports/resolutions/{annee}` | Registre PDF des décisions. | | `GET /api/rapports/etat-resultats/{annee}/{mois}` | PDF état des résultats. | | `POST /api/rapports/etat-resultats/{annee}/{mois}/adopter` | Adopter un rapport du trésorier. | | `GET /api/rapports/adoptes` | Rapports adoptés. | | `GET /api/rapports/adoptes/{rapport_id}.pdf` | PDF cristallisé. | | `GET /api/journal/actions` | Journal d'actions. | | `GET /api/journal/historique` | Historique détaillé. | | `GET /api/notifications/configuration` | Configuration push. | | `GET /api/notifications/preferences` | Préférences du membre. | | `PATCH /api/notifications/preferences` | Modifier les préférences. | | `POST /api/notifications/abonnement` | Enregistrer un abonnement push. | | `DELETE /api/notifications/abonnement` | Supprimer un abonnement push. | | `POST /api/notifications/test` | Tester une notification. |