BunnyDoc
APIAPI de signature électronique

Obtenir un jeton d'accès

Échangez votre clé d'API contre un jeton porteur à courte durée de vie — le premier appel de toute intégration avec l'API de signature électronique.

Toute intégration avec l'API de signature électronique commence ici. Vous envoyez votre clé d'API une seule fois à cet endpoint et recevez un jeton d'accès à courte durée de vie. Ensuite, toutes les autres requêtes ne transportent que le jeton : votre clé ne circule plus.

Endpoint

POST   https://api2.bunnydoc.com/v1/auth/token

Requête

La clé est envoyée dans un en-tête. Il n'y a pas de corps de requête.

En-têteRequisValeur
X-API-KeyOuiVotre clé d'API, p. ex. bd_live_a1b2c3d4e5f6…. Créez-en une dans Paramètres → Clés d'API.

Exemple de requête

Demander un jeton
curl -X POST https://api2.bunnydoc.com/v1/auth/token \
  -H "X-API-Key: bd_live_a1b2c3d4e5f6g7h8"

Réponse

Un 200 OK renvoie le jeton et les scopes qu'il porte.

200 OK
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXlfaWQiOiI…",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scopes": ["templates:read", "contacts:read", "contacts:write", "envelopes:send"]
}
ChampTypeDescription
access_tokenstringLe jeton porteur. Envoyez-le en Authorization: Bearer <access_token> sur toutes les autres requêtes.
token_typestringToujours Bearer.
expires_inintegerNombre de secondes avant l'expiration du jeton — toujours 3600 (une heure).
scopesstring[]Les permissions portées par ce jeton, héritées de la clé.

Utiliser le jeton

Envoyez le jeton dans l'en-tête Authorization sur tous les autres appels. Par exemple, pour lister vos modèles :

Requête authentifiée
curl https://api2.bunnydoc.com/v1/templates \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…"

Erreurs

Toutes les erreurs ont la même forme : basez-vous sur error.code, jamais sur le texte du message.

Exemple d'erreur
{
  "error": {
    "code": "invalid_api_key",
    "message": "The API key is invalid, revoked, expired, or not a live-mode key."
  }
}
Statuterror.codeQuand cela se produit
401missing_api_keyAucun en-tête X-API-Key n'a été envoyé.
401invalid_api_keyLa clé est inconnue, révoquée, expirée ou n'est pas de mode réel. Les quatre renvoient le même corps : nous ne révélons pas lequel.
403forbiddenL'accès à l'API n'est pas inclus dans le plan actuel de votre entreprise.
429rate_limitedPlus de 20 requêtes de jeton en 15 minutes depuis une IP. Demandez un jeton par heure, pas un par appel.

Consultez la référence des erreurs complète, avec tous les codes que l'API peut renvoyer.

Bon à savoir

Les jetons durent une heure — mettez-les en cache et réutilisez-les

expires_in vaut toujours 3600 secondes. Demandez un jeton, conservez-le et n'échangez votre clé à nouveau que lorsque le jeton est proche de l'expiration. L'endpoint d'échange de jeton est limité à 20 requêtes par 15 minutes par IP précisément parce qu'une intégration saine a besoin d'environ un jeton par heure, pas d'un par requête.

Révoquer ou renouveler une clé invalide ses jetons immédiatement

Nul besoin d'attendre l'expiration d'un jeton. Dès qu'une clé est renouvelée ou révoquée dans Paramètres → Clés d'API, tous les jetons issus d'elle cessent de fonctionner à leur requête suivante.

Étapes suivantes

Sur cette page