Endpoints principaux
GET /api/courses: liste des cours disponibles avec date, heure, lieu et places restantes. Public.GET /api/course-status?courseId=...: statut détaillé d’un cours. Public.GET /api/status: endpoint santé léger pour discovery automatisée. Public.GET /api/pass-status?email=...: vérifie si une personne dispose d’un pass actif (PII). Clé API (pass:read).POST /api/bookings: crée une réservation, avec ou sans pass. Clé API (booking:write).POST /api/send-contact-email: transmet une demande de contact au support. Clé API (contact:write).
Les routes protégées attendent la clé dans l’en-tête X-API-Key (ou Authorization: Bearer flu_...). Sans clé configurée côté Worker, ces routes répondent 503 ; avec une clé invalide, 401 ; sans le bon scope, 403.
