Référence API
Nid expose une API REST via Fastify. Toutes les routes sont préfixées par /api.
La documentation Swagger interactive est disponible en développement à http://localhost:4000/docs.
Authentification
Toutes les routes (sauf /api/auth/config, /api/auth/register, /api/auth/login et les callbacks OAuth) requièrent un cookie JWT httpOnly.
Endpoints par module
| Module | Préfixe | Documentation |
|---|---|---|
| Authentification | /api/auth | auth.md |
| Gmail | /api/gmail | gmail.md |
| Archives | /api/archive | archive.md |
| Dashboard | /api/dashboard | dashboard.md |
| Règles | /api/rules | rules.md |
| Jobs | /api/jobs | jobs.md |
| Notifications | /api/notifications | notifications.md |
| Webhooks | /api/webhooks | webhooks.md |
| Admin | /api/admin | admin.md |
| Audit | /api/audit | audit.md |
| Newsletters | /api/unsubscribe | unsubscribe.md |
| Pièces jointes | /api/attachments | attachments.md |
| Doublons | /api/duplicates | duplicates.md |
| Rapports | /api/reports | reports.md |
| Intégrité | /api/integrity | integrity.md |
| Configuration | /api/config | config.md |
| Vie privée | /api/privacy | privacy.md |
| Analytics | /api/analytics | analytics.md |
| Recherches sauvegardées | /api/saved-searches | saved-searches.md |
| Boîte unifiée | /api/unified | unified.md |
Health check
GET /healthRetourne 200 OK si le service est opérationnel.
Codes de réponse communs
| Code | Signification |
|---|---|
200 | Succès |
201 | Ressource créée |
202 | Accepté (job asynchrone créé) |
400 | Erreur de validation (Zod) |
401 | Non authentifié |
403 | Accès refusé (rôle ou ownership) |
404 | Ressource non trouvée |
429 | Rate limit atteint |
500 | Erreur serveur |