BunnyDoc
APIAPI de signature électronique

Modèles

Listez vos modèles de signature électronique et lisez les rôles d'un modèle précis — le point de départ pour envoyer une enveloppe depuis l'API.

Les modèles sont les documents réutilisables que votre équipe a déjà configurés dans l'app, avec leurs champs et leurs rôles de signataire disposés. Pour envoyer une enveloppe via l'API, vous partez de l'un d'eux ; les deux endpoints de lecture ci-dessous sont donc généralement les premiers appels après l'authentification.

Les deux requièrent le scope templates:read, et une clé ne voit que les modèles que son propriétaire peut voir dans l'app.

Lister les modèles

Endpoint

GET   https://api2.bunnydoc.com/v1/templates

Paramètres de requête

ParamètreTypeDescription
pageintegerNuméro de page, à partir de 1. Par défaut 1.
per_pageintegerRésultats par page, 1100. Par défaut 25.
searchstringFacultatif. Filtre par nom de modèle, jusqu'à 200 caractères.

Exemple de requête

Lister les modèles
curl "https://api2.bunnydoc.com/v1/templates?per_page=25&search=nda" \
  -H "Authorization: Bearer <access_token>"

Réponse

200 OK
{
  "data": [
    {
      "id": "018f2c3d-4e5f-7a8b-9c0d-1e2f3a4b5c6d",
      "name": "Mutual NDA",
      "description": "Standard two-way non-disclosure agreement",
      "file_count": 1,
      "role_count": 2,
      "created_at": "2026-06-01T09:30:00.000Z",
      "updated_at": "2026-07-10T14:12:00.000Z"
    }
  ],
  "pagination": { "page": 1, "per_page": 25, "total": 1, "total_pages": 1 }
}
ChampTypeDescription
idstringL'id du modèle — passez-le à POST /v1/envelopes/from-template.
namestringNom du modèle.
descriptionstring | nullDescription facultative.
file_countintegerNombre de documents dans le modèle.
role_countintegerNombre de rôles de signataire.
created_at / updated_atstringHorodatages ISO 8601.

Obtenir un modèle

Renvoie un modèle avec ses rôles. Appelez cet endpoint avant d'envoyer : le tableau roles vous indique exactement quels noms de rôle fournir, et lesquels sont verrouillés.

Endpoint

GET   https://api2.bunnydoc.com/v1/templates/{id}

Exemple de requête

Obtenir un modèle
curl https://api2.bunnydoc.com/v1/templates/018f2c3d-4e5f-7a8b-9c0d-1e2f3a4b5c6d \
  -H "Authorization: Bearer <access_token>"

Réponse

200 OK
{
  "id": "018f2c3d-4e5f-7a8b-9c0d-1e2f3a4b5c6d",
  "name": "Mutual NDA",
  "description": "Standard two-way non-disclosure agreement",
  "file_count": 1,
  "role_count": 2,
  "created_at": "2026-06-01T09:30:00.000Z",
  "updated_at": "2026-07-10T14:12:00.000Z",
  "roles": [
    {
      "role": "Client",
      "recipient_type": "need-to-sign",
      "signing_order": 1,
      "locked": false
    },
    {
      "role": "Account manager",
      "recipient_type": "need-to-sign",
      "signing_order": 2,
      "locked": true,
      "name": "Dana Lee",
      "email": "dana@yourco.com"
    }
  ]
}
Champ de rôleTypeDescription
rolestringLe nom du rôle. Fournissez-le dans recipients[].role lors de l'envoi.
recipient_typestringComment le destinataire participe, p. ex. need-to-sign, receives-a-copy.
signing_orderintegerL'ordre dans lequel ce rôle signe.
lockedbooleanSi true, le nom et l'e-mail sont figés sur le modèle — omettez ce rôle dans votre requête d'envoi.
name / emailstring | nullPrésents uniquement pour les rôles verrouillés — le destinataire figé.

Les rôles verrouillés ne peuvent pas être réattribués

Un rôle verrouillé a déjà une personne attachée (ou c'est l'expéditeur propre du modèle). Envoyer un destinataire pour un rôle verrouillé est rejeté avec unknown_signer_role. Ne fournissez des destinataires que pour les rôles dont locked vaut false.

Erreurs

Statuterror.codeQuand cela se produit
404template_not_foundAucun modèle avec cet id n'existe dans votre entreprise.

Étape suivante

Sur cette page