Signature Requests
Création et récupération des requêtes de signature électronique.
POST /api/v1/signature_requests
Crée une requête et déclenche l'envoi des invitations aux signataires.
Body (JSON)
| Champ | Type | Requis | Description |
|---|---|---|---|
mode | string | ✓ | "sequential" ou "parallel". |
validity_days | int | ✓ | 1 à 90. Au-delà → signature_request.expired. |
initials_required | bool | Paraphes par page (plans Pro/Enterprise). Défaut false. | |
notify_signers_on_completion | bool | Email récapitulatif envoyé à tous les signataires. Défaut false. | |
signers | array | ✓ | 1 à 10 signataires (cf. ci-dessous). |
documents | array | ✓ | 1 à 5 documents (référencés par document_id). |
webhook_url | string | HTTPS uniquement. Override le webhook global. | |
redirect_url | string | HTTPS. Page d'atterrissage après signature. |
Schéma d'un signer
{
"first_name": "Jeanne",
"last_name": "Dupont",
"email": "jeanne@example.com",
"phone": "+33612345678",
"initials": "JD",
"order": 1
}phone: E.164 (+CCXXXXXXXXX). Requis pour OTP par SMS.initials: 1 à 4 caractères, auto-générées depuis le nom si vide.order: ordre de signature en modesequential.
Exemple complet
Allez sur le playground pour générer un payload sur mesure.
curl https://api.signlift.io/api/v1/signature_requests \
-H "X-Api-Key: $SIGNLIFT_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"mode": "sequential",
"validity_days": 30,
"initials_required": true,
"notify_signers_on_completion": true,
"signers": [
{ "first_name": "Jeanne", "last_name": "Dupont", "email": "jeanne@example.com", "order": 1 },
{ "first_name": "Alex", "last_name": "Bernard", "email": "alex@example.com", "order": 2 }
],
"documents": [{ "document_id": "doc_01HZQK..." }],
"webhook_url": "https://yourapp.com/webhooks/signlift",
"redirect_url": "https://yourapp.com/success"
}'Réponse 201
{
"id": "sr_01HZQM...",
"status": "pending",
"mode": "sequential",
"expires_at": "2026-06-15T15:00:00Z",
"signers": [
{
"id": "sgn_...",
"first_name": "Jeanne",
"last_name": "Dupont",
"email": "jeanne@example.com",
"status": "notified",
"sign_url": "https://app.signlift.io/sign/eyJ..."
}
],
"documents": [
{ "id": "doc_01HZQK...", "filename": "contract.pdf" }
],
"created_at": "2026-05-16T15:00:00Z"
}GET /api/v1/signature_requests/{id}
Récupère l'état d'une requête.
Statuts possibles
| Status | Signification |
|---|---|
pending | Créée mais aucun signataire notifié. |
notified | Invitations envoyées. |
partially_signed | Au moins un signataire a signé. |
completed | Tous ont signé. Le PDF signé est disponible. |
expired | validity_days dépassé sans complétion. |
Réponse 200
{
"id": "sr_01HZQM...",
"status": "completed",
"signed_at": "2026-05-16T15:12:43Z",
"signers": [...],
"documents": [{ "id": "doc_01HZQK...", "signed_pdf_url": "https://..." }]
}