Aller au contenu

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.