Aller au contenu
signatik

Documentation de l’API v1

Une API REST, du JSON, du base64. Une enveloppe = une requête ; les URL de signature en retour ; un webhook signé à la complétion. Cette documentation est générée depuis les schémas que le serveur applique : elle ne peut pas diverger du code.

Trois chemins

La requête qui résume l’API

bash — créer et envoyer une enveloppe
curl -X POST https://preprod-app.signatik.com/api/v1/envelopes \
  -H "Authorization: Bearer sk_test_…" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Contrat de mission n°1234",
    "send": true,
    "signature_level": "simple",
    "documents": [{ "name": "contrat.pdf", "pdf_base64": "JVBERi0…" }],
    "signers":   [{ "email": "jean.dupont@exemple.fr", "name": "Jean Dupont" }]
  }'

# → 201 { "id": "env_…", "status": "sent",
#         "signers": [{ "sign_url": "https://preprod-app.signatik.com/sign/…" }] }

Ce qu’il faut savoir en une minute

  • Base : https://preprod-app.signatik.com/api/v1. Authentification par clé : Authorization: Bearer sk_live_… (production) ou sk_test_… (bac à sable, jamais facturé).
  • Niveaux : un champ signature_levelsimple, advanced (identité attestée obligatoire), organization_seal (cachet sous mandat, en lot). Sans le champ, rien ne change.
  • Crédits : réservés à l’envoi, débités à la complétion, rendus à l’annulation ou à l’expiration. Solde insuffisant : 402 insufficient_credits.
  • Preuve : journal chaîné par empreinte, cachet PAdES, dossier de preuve scellé. POST /verify retrouve tout par empreinte, même après purge des documents.
  • Erreurs : toujours { "error": { "code", "message" } }, codes stables. Catalogue.

Outils

  • Spécification OpenAPI 3.1 — importable dans Postman, Insomnia ou un générateur de client.
  • Serveur MCP (Model Context Protocol) pour Claude, Cursor, n8n : npx @esign/mcp — dix outils, du prompt au PDF scellé.
  • llms.txt — index de cette documentation pour les assistants.