Signlift

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é, 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"
  }
}

Vérifiez la signature HMAC-SHA256 avant de traiter le payload — voir Webhooks pour le snippet de vérification dans votre langage.

Récupérez ensuite les PDF signés via GET /api/v1/signature_requests/42 — quand le statut est completed, la réponse contient un tableau download_urls avec, pour chaque document, son signed_url et son certificate_url (URLs S3 présignées valables 15 minutes).

Et maintenant ?

On this page