BunnyDoc
APIAPI de signature électronique

Erreurs

Toutes les erreurs que l'API de signature électronique peut renvoyer, avec un code lisible par machine et stable sur lequel vous appuyer.

Toutes les réponses d'erreur ont la même forme. Lisez error.code : c'est une valeur stable et lisible par machine. Le message est destiné aux humains et peut changer à tout moment, donc ne vous basez jamais sur le texte du message.

Forme de l'erreur
{
  "error": {
    "code": "unknown_signer_role",
    "message": "One or more recipient roles do not match this template.",
    "details": { }
  }
}

details est facultatif et, lorsqu'il est présent, porte un contexte structuré sur l'erreur.

Codes d'erreur

HTTPerror.codeSignification
401missing_api_keyPas d'en-tête X-API-Key sur la requête de jeton.
401invalid_api_keyLa clé est inconnue, révoquée, expirée ou n'est pas de mode réel.
401missing_tokenAucun jeton Authorization: Bearer n'a été envoyé.
401invalid_tokenLe jeton est mal formé ou expiré. Demandez-en un nouveau.
401key_revokedLa clé derrière ce jeton a été révoquée ou renouvelée — ses jetons ne fonctionnent plus.
403insufficient_scopeLa clé ne porte pas le scope requis par cet endpoint.
403forbiddenLe propriétaire de la clé n'a pas la permission sous-jacente, ou l'accès à l'API n'est pas dans votre plan.
403signing_links_disabledL'enveloppe ne partage pas les liens de signature avec l'expéditeur.
402quota_exceededPlus de demandes de signature par API disponibles (à l'envoi).
403quota_exceededUne limite de ressource a été atteinte (par exemple, celle des contacts).
404template_not_foundAucun modèle avec cet id n'existe dans votre entreprise.
404envelope_not_foundAucune enveloppe avec cet id n'existe dans votre entreprise.
404webhook_not_foundAucun abonnement webhook avec cet id n'existe dans votre entreprise.
422unknown_signer_roleUn rôle de destinataire ne correspond pas au modèle, ou un rôle verrouillé a été fourni.
422sender_not_foundsender_email n'est pas un utilisateur actif disposant d'un siège de signature électronique dans votre entreprise.
422validation_failedLe corps de la requête est mal formé ou un champ requis manque.
429rate_limitedTrop de requêtes — patientez puis réessayez.
5xxsend_failedL'enveloppe a été créée mais n'a pas pu être envoyée, elle a donc été supprimée. Rien n'a été livré.
500internal_errorUn problème est survenu de notre côté. Peut être réessayé.

Pourquoi certaines erreurs sont volontairement vagues

Sur l'endpoint de jeton, « clé inexistante », « révoquée », « expirée » et « pas en mode réel » renvoient toutes le même corps 401. De même, un modèle dans une autre entreprise et un modèle qui n'existe pas renvoient tous deux 404 template_not_found. C'est volontaire : une erreur plus précise permettrait de sonder quels ids ou quelles clés existent.

Bien gérer les erreurs

  • Basez-vous sur error.code, jamais sur message.
  • Réessayez les 5xx, 429 et erreurs réseau avec un délai progressif. Ne réessayez pas les 4xx — la requête nous est parvenue et a été rejetée ; corrigez plutôt la requête.
  • Rafraîchissez sur 401 invalid_token en échangeant votre clé contre un nouveau jeton. Si vous recevez key_revoked, la clé elle-même a été révoquée — créez-en une nouvelle dans Paramètres → Clés d'API.
  • Traitez quota_exceeded comme un signal de plan, pas comme une erreur transitoire : il se résout au réinitialisation de la période ou à la montée en gamme de votre plan.

Sur cette page