Erreurs API¶
Le contrat HTTP complet des réponses d'erreur (statuts 4xx / 5xx), leurs formats de corps, le comportement de localisation et les stratégies de traitement côté frontend sont documentés en détail dans :
➡️ Gestion des erreurs API (frontend)
Ce document fait foi pour le frontend. Côté backend, les sources de vérité sont les filtres d'exception (web/exception.http-filter.ts) et les classes d'erreur (domain/errors.ts).
Aperçu¶
| Statut | Origine | Forme du corps |
|---|---|---|
400 |
Validation (Zod ou métier) | { [champ]: string[] } |
401 |
Authentification | { message, code, workspaces? } |
403 |
Autorisation (permissions) | { message } |
404 |
Ressource introuvable | { message } |
409 |
Conflit (état / unicité) | { message, code? } |
429 |
Rate limiting | { message } + en-tête Retry-After |
500 |
Erreur serveur non gérée | { statusCode, message } (format NestJS) |
501 |
Fonctionnalité non implémentée | { message } |
503 |
Passerelle de paiement indispo. | { message } |
Pour comprendre comment ces erreurs sont produites côté serveur (classes de domaine, filtres, localisation, cas LedgerError), voir Architecture › Erreurs & i18n.