Démarrage rapide
De zéro à une signature finalisée en 5 minutes, avec curl uniquement.
1. Récupérez une clé API sandbox
Depuis votre organisation Signlift, ouvrez la section Applications externes,
créez une application avec l'environnement sandbox, et copiez la clé API et
le webhook_secret affichés à l'écran. La clé est une chaîne hexadécimale de
64 caractères, sans préfixe — elle n'est affichée qu'une fois (Signlift ne
stocke que son hash SHA-256).
export SIGNLIFT_API_KEY="a3f9b1c8...d4e2"2. Uploadez un document PDF
curl https://app.signlift.eu/api/v1/documents \
-H "X-Api-Key: $SIGNLIFT_API_KEY" \
-F "file=@contract.pdf"Réponse :
{
"id": 42,
"content_type": "pdf",
"sha256_hash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"file_size": 154823,
"status": "ready",
"created_at": "2026-05-17T15:00:00Z"
}3. Créez une signature request
curl https://app.signlift.eu/api/v1/signature_requests \
-H "X-Api-Key: $SIGNLIFT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"signature_request": {
"mode": "sequential",
"validity_days": 30,
"send_email": true,
"identity_declaration_accepted": true,
"signers": [
{
"ref": "jeanne",
"first_name": "Jeanne",
"last_name": "Dupont",
"email": "jeanne@example.com",
"order": 1
}
],
"documents": [
{
"id": 42,
"signers": [
{
"signer_ref": "jeanne",
"stamp": { "type": "magic_field", "value": { "tag": "[SIG_JEANNE]" } }
}
]
}
]
}
}'Extrait de la réponse 201 :
{
"id": 42,
"status": "pending",
"mode": "sequential",
"expires_at": "2026-06-16T15:00:00Z",
"signers": [
{
"id": 1768,
"first_name": "Jeanne",
"last_name": "Dupont",
"email": "jeanne@example.com",
"status": "pending",
"signing_url": "https://app.signlift.eu/sign/eyJhbGciOiJIUzI1NiJ9..."
}
]
}Le statut du signataire est pending au retour synchrone du POST. Il passe à
notified une fois l'e-mail effectivement envoyé (job asynchrone). Pour la
liste complète des champs retournés, voir
Référence — Signature Requests.
Transmettez le signing_url à Jeanne (e-mail, redirect HTTP, iframe) — c'est
une URL absolue prête à l'emploi. Voir
Intégration iframe.
4. Recevez le webhook de complétion
Lorsque tous les signataires ont signé et que les PDF signés sont finalisés, Signlift POSTe sur l'URL de webhook configurée pour votre application externe :
POST /webhooks/signlift HTTP/1.1
Content-Type: application/json
X-Signlift-Event: request.completed
X-Signlift-Delivery: 12345
X-Signlift-Signature: sha256=a3f9b1c8...
{
"event": "request.completed",
"occurred_at": "2026-05-17T15:12:43Z",
"signature_request": {
"id": 42,
"status": "completed",
"mode": "sequential"
},
"certificate_url": "https://signlift-production.s3.eu-west-3.amazonaws.com/...",
"certificate_expires_in": 900,
"documents": [
{
"document_id": 7,
"signed_url": "https://signlift-production.s3.eu-west-3.amazonaws.com/...",
"expires_in": 900
}
]
}Vérifiez la signature HMAC-SHA256 avant de traiter le payload — voir Webhooks pour le snippet de vérification dans votre langage.
Téléchargez les PDF signés directement depuis le tableau documents (une
entrée par document, avec son signed_url) et le certificat de signature —
unique pour toute la demande — via certificate_url à la racine du payload.
Les URLs S3 présignées sont valables 15 minutes. Si vous traitez le webhook
plus tard, GET /api/v1/signature_requests/42 renvoie des URLs équivalentes,
régénérées à la demande, dans le tableau download_urls.
Et maintenant ?
- Authentification — clés API et URLs de signature.
- Limites et rate-limits — rate-limits par environnement et par plan, comportement en cas de 429.
- Webhooks — signature HMAC, retry policy, idempotence.
- Intégration iframe — embarquer la signature dans votre app.
- Playground interactif — construire un payload sur mesure.