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ètre | Type | Description |
|---|---|---|
page | integer | Numéro de page, à partir de 1. Par défaut 1. |
per_page | integer | Résultats par page, 1–100. Par défaut 25. |
search | string | Facultatif. Filtre par nom de modèle, jusqu'à 200 caractères. |
Exemple de requête
curl "https://api2.bunnydoc.com/v1/templates?per_page=25&search=nda" \
-H "Authorization: Bearer <access_token>"GET /v1/templates?per_page=25&search=nda HTTP/1.1
Host: api2.bunnydoc.com
Authorization: Bearer <access_token>Réponse
{
"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 }
}| Champ | Type | Description |
|---|---|---|
id | string | L'id du modèle — passez-le à POST /v1/envelopes/from-template. |
name | string | Nom du modèle. |
description | string | null | Description facultative. |
file_count | integer | Nombre de documents dans le modèle. |
role_count | integer | Nombre de rôles de signataire. |
created_at / updated_at | string | Horodatages 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
curl https://api2.bunnydoc.com/v1/templates/018f2c3d-4e5f-7a8b-9c0d-1e2f3a4b5c6d \
-H "Authorization: Bearer <access_token>"GET /v1/templates/018f2c3d-4e5f-7a8b-9c0d-1e2f3a4b5c6d HTTP/1.1
Host: api2.bunnydoc.com
Authorization: Bearer <access_token>Réponse
{
"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ôle | Type | Description |
|---|---|---|
role | string | Le nom du rôle. Fournissez-le dans recipients[].role lors de l'envoi. |
recipient_type | string | Comment le destinataire participe, p. ex. need-to-sign, receives-a-copy. |
signing_order | integer | L'ordre dans lequel ce rôle signe. |
locked | boolean | Si 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 / email | string | null | Pré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
| Statut | error.code | Quand cela se produit |
|---|---|---|
404 | template_not_found | Aucun modèle avec cet id n'existe dans votre entreprise. |