Skip to main content
Toutes les erreurs utilisent la même enveloppe, en anglais :
code est stable et en snake_case — branchez-vous dessus, pas sur le message. message est lisible et loggable. Aucune stack trace n’est jamais renvoyée.

Général

422
Corps ou paramètre refusé par la validation de schéma ; message au format champ: raison.
400
Valeur inconnue dans un filtre de liste (aussi : language inconnu sur les listes de référence, format inconnu au téléchargement d’un fichier).
422
Paramètre de query qui ne s’applique pas à la ressource visée (ex. ?ignore_duplicate sur un contact).
422
Champ en lecture seule dans un PATCHbic/reference d’un compte bancaire non manuel, code/category/sequence_scope d’un journal, type/journal_id d’un document — ou champ qui n’existe pas pour le type de la relation.
404
Route inconnue ou UUID inconnu (y compris un UUID d’une autre entreprise).
500
Erreur serveur inattendue, loggée de notre côté. Réessayez plus tard ; si elle persiste, contactez le support en indiquant le X-Request-ID de l’en-tête de réponse — il nous permet de récupérer la trace de cette requête immédiatement et d’accélérer le traitement (voir Conventions).

Authentification

400
Champ d’identification manquant sur /auth/token.
401
client_id inconnu ou client_secret erroné.
401
refresh_token inconnu, déjà utilisé ou révoqué.
401
Le client a été désactivé.
401
access_token absent, malformé ou expiré.
403
L’access_token ne porte pas le droit requis.
429
Trop d’authentifications échouées sur ce client_id.

Documents

422
relation_id inconnu, d’une autre entreprise, ou sans adresse.
422
Journal inconnu, inactif, d’une autre entreprise, ou de la mauvaise catégorie pour le type du document.
422
Pas de journal_id fourni et aucun journal par défaut pour la catégorie.
422
Adresse de livraison inconnue ou appartenant à un autre tiers que celui du document.
422
Total du document négatif.
422
paid_amount déclaré au-dessus du total du document.
422
Remise/majoration de document sur des lignes totalisant 0, ou taux de TVA dont les lignes totalisent un montant négatif.
422
Date hors de l’encadrement des documents numérotés voisins, ou hors de la fenêtre de numérotation.
422
Lignes stockées inutilisables pour un recalcul — envoyer le tableau lines complet en remplacement.
422
Création d’un document d’achat alors que l’auto-facturation n’est pas activée pour la société.
422
Envoi d’un type que Peppol ne transporte pas (ex. un proforma). En 409 : envoi d’un document reçu.
422
Le workflow d’envoi n’a pas pu démarrer. Avec ?send_peppol=true le document est créé — le message donne son id ; la reprise est POST /documents/{id}/send, jamais une seconde création.
409
Envoi Peppol d’un document déjà parti — seul un envoi en échec (peppol_status failed ou rejected) se relance.
409
Nom de pièce jointe déjà porté par le document.
409
PATCH d’un document déjà envoyé au client, déjà transmis à la comptabilité, ou reçu.
409
DELETE d’un document qui n’est pas le dernier de sa séquence, déjà envoyé, transmis, ou reçu.
409
DELETE d’un document lié à un rapprochement, une ligne de prestation facturée ou une intention de paiement.
L’import et les pièces jointes renvoient aussi des statuts HTTP nus : 413 (fichier trop gros) et 415 (extension refusée).

Relations

409
Société dont le vat, l’identifier ou l’electronic_address existe déjà — contournable avec ?ignore_duplicate=true ; le message donne l’id existant.
422
Adresse sans country_code, ou street_number sans street.
409
DELETE d’un tiers encore référencé (document, abonnement, projet, ligne de prestation, correspondance comptable…). Le message dit ce qui bloque.

Adresses de livraison

422
Adresse sans country_code, ou street_number sans street — les mêmes règles que l’adresse d’un tiers.
422
Paire identifier / identifier_scheme à moitié remplie.
422
Sur un document : adresse inconnue ou appartenant à un autre tiers que celui du document.
409
DELETE d’une adresse de livraison à laquelle un document est livré.

Comptes bancaires

409
Compte avec la même reference (IBAN) déjà présent.
422
Rétrogradation du compte bancaire par défaut sans en promouvoir un autre.

Journaux

409
code de journal déjà porté dans l’entreprise.
422
Journal par défaut créé ou laissé inactif, ou rétrogradation du dernier défaut d’une catégorie.
422
bank_account_id ne correspondant à aucun compte de l’entreprise.

Brandings

422
Rétrogradation du branding par défaut — en promouvoir un autre à la place.