{"docs":"/docs/","endpoints":[{"description":"\u00c9tat du service et nombre de formations.","method":"GET","path":"/api/health"},{"description":"Cr\u00e9e un compte client et ouvre une session.","method":"POST","path":"/api/auth/register"},{"description":"Connexion client ou super administrateur.","method":"POST","path":"/api/auth/login"},{"description":"Invalide la session courante.","method":"POST","path":"/api/auth/logout"},{"description":"Profil du compte connect\u00e9.","method":"GET","path":"/api/auth/me"},{"description":"Catalogue pagin\u00e9 (q, tech, format, level, sort, page, limit).","method":"GET","path":"/api/courses"},{"description":"D\u00e9tail d'une formation.","method":"GET","path":"/api/courses/{id}"},{"description":"Formations compl\u00e9mentaires.","method":"GET","path":"/api/courses/{id}/complementary"},{"description":"Technologies, formats et niveaux disponibles.","method":"GET","path":"/api/categories"},{"description":"Contenu \u00e9ditorial du site.","method":"GET","path":"/api/content"},{"description":"T\u00e9moignages d'apprenants.","method":"GET","path":"/api/testimonials"},{"description":"Questions fr\u00e9quentes.","method":"GET","path":"/api/faq"},{"description":"Envoi d'un message de contact.","method":"POST","path":"/api/contact"},{"description":"Cr\u00e9ation d'une formation (X-Admin-Token requis).","method":"POST","path":"/api/courses"},{"description":"V\u00e9rifie l'email de paiement et renvoie des liens sign\u00e9s (402 si impay\u00e9).","method":"POST","path":"/api/courses/{id}/access"},{"description":"Liste des utilisateurs (X-Admin-Token requis).","method":"GET","path":"/api/admin/users"},{"description":"Supprime un utilisateur et ses paiements (X-Admin-Token requis).","method":"DELETE","path":"/api/admin/users/{id}"},{"description":"Liste des paiements (X-Admin-Token requis).","method":"GET","path":"/api/admin/payments"},{"description":"Enregistre un paiement manuel (X-Admin-Token requis).","method":"POST","path":"/api/admin/payments"},{"description":"Compteurs utilisateurs / paiements / revenus (X-Admin-Token requis).","method":"GET","path":"/api/admin/stats"},{"description":"Paiement simul\u00e9 valid\u00e9 (OM, Mobile Money, carte bancaire).","method":"POST","path":"/api/payments/checkout"},{"description":"Messages re\u00e7us (en-t\u00eate X-Admin-Token requis).","method":"GET","path":"/api/messages"}],"name":"Afriday API","openapi":"/openapi.yaml","storage":"postgresql","version":"1.0.0"}