Unterschriften aus Ihrer eigenen Software.
Erstellen Sie Signaturanfragen aus Ihrer Anwendung, lassen Sie Ihre Unterzeichner auf Ihrer gebrandeten Seite unterschreiben und erhalten Sie das versiegelte PDF samt Audit-Trail per Webhook zurück. Eine REST-API mit Idempotency-Keys, signierten Events und stabilen Fehlercodes.
API-Keys und Webhooks sind im Enterprise-Plan enthalten. Öffentliche Dokumentation, OpenAPI-3.1-Spezifikation, kein SDK nötig.
curl https://api.wesign.now/v1/signing-requests \
-H "Authorization: Bearer $WSK_KEY" \
-H "Idempotency-Key: case-4711/poa" \
-F "file=@power-of-attorney.pdf" \
-F 'signers=[{"email":"anna@example.ch","role":"client","name":"Anna Muster"}]' \
-F "placement=anchors" \
-F 'metadata={"case_id":"4711"}'
# → 201 Created
# {
# "documentId": "8a1e4f9a-…",
# "status": "pending",
# "signers": [{ "role": "client", "signingUrl": "https://yourco.wesign.now/en/sign/…", "emailed": true, … }], …
# }Vier Schritte von Ihrem Code zum versiegelten PDF.
Nichts zu installieren: HTTPS, JSON und Multipart. Jeder Schritt verlinkt die Seite der Dokumentation, die sein Vertrag ist.
- Schritt 1
Anfrage erstellen
Ein
In der DokumentationPOST /v1/signing-requestsmit dem PDF, den Unterzeichnern und der Feldplatzierung:anchorsfindet[[ls:signature:client]]-Marker im PDF,explicitnimmt Koordinaten,auto_appendhängt eine Unterschriftsseite an. Die Antwort enthält diedocumentIdund pro Unterzeichner einesigningUrl.curl https://api.wesign.now/v1/templates/$TEMPLATE_ID/instantiate \ -H "Authorization: Bearer $WSK_KEY" \ -H "Idempotency-Key: case-4711/mandate" \ -H "Content-Type: application/json" \ -d '{ "recipients": [{ "slot": 1, "email": "anna@example.ch", "name": "Anna Muster" }], "field_values": { "company.legal_name": "Muster AG", "company.tax_id": "CHE-123.456.789" }, "metadata": { "case_id": "4711" } }'Derselbe Versand aus einer gesperrten Vorlage:
POST /v1/templates/{id}/instantiatefügt Ihrefield_valuesin die{{Platzhalter}}ein und lädt die Empfänger ein. - Schritt 2
Ihr Unterzeichner unterschreibt
Wir senden die Einladung in der Sprache des Unterzeichners von Ihrer gebrandeten Subdomain — oder Sie liefern den Link selbst mit
In der Dokumentationsend_emails: false. Mit Mobilnummer undrequire_sms_verificationgibt der Unterzeichner zuerst einen Einmalcode ein: eine fortgeschrittene elektronische Signatur (AES) statt der E-Mail-Link-Stufe (SES)."signers": [{ "email": "anna@example.ch", "role": "client", "name": "Anna Muster", "locale": "de", "phone_e164": "+41791112233", "require_sms_verification": true }] # The invitation goes out in German from your branded subdomain. # Anna asks for the code on the signing page; the signature is AES once verified. # Deliver the link yourself instead: send_emails=false - Schritt 3
Sie erhalten das Event
Registrieren Sie einmal einen Webhook für den Workspace oder übergeben Sie
In der Dokumentationcallback_urlpro Anfrage. Jede Zustellung ist HMAC-SHA256-signiert, wird mit exponentiellem Backoff wiederholt und in einem Zustellprotokoll geführt, aus dem Sie erneut zustellen können.document.completedkommt einmal pro Dokument mitsigned_pdf_url,audit_trail_urlund demsha256der Datei.POST https://your-app.example/wesign/callback X-WeSign-Event: document.completed X-WeSign-Signature: t=1757404800,v1=9c3b…a2f1 { "event": "document.completed", "document_id": "8a1e4f9a-…", "metadata": { "case_id": "4711" }, "signed_pdf_url": "https://api.wesign.now/v1/documents/8a1e4f9a-…/signed", "audit_trail_url": "https://api.wesign.now/v1/documents/8a1e4f9a-…/audit-trail", "sha256": "4f9a…d21c", … } - Schritt 4
Dateien abholen
In der DokumentationGET /v1/documents/{id}/signedliefert das PAdES-versiegelte PDF, alle Unterschriften unter einem Siegel;/audit-trailrendert das Ereignisprotokoll — SHA-256, Zeitstempel, maskierte IPs — als PDF, immer auf Englisch. Beide brauchen Ihren Key. Vergleichen Sie den Hash und speichern Sie beide Dateien bei sich.curl -LOJ -H "Authorization: Bearer $WSK_KEY" \ https://api.wesign.now/v1/documents/$DOC_ID/signed curl -OJ -H "Authorization: Bearer $WSK_KEY" \ https://api.wesign.now/v1/documents/$DOC_ID/audit-trail # Compare the file's SHA-256 with the event's sha256, then store both files on your side.
Jede Antwort trägt eine X-Request-Id, und Einstellungen → API führt 30 Tage lang ein API-Protokoll jedes Aufrufs — Status, Fehlercode, betroffenes Dokument; Bodies werden nie gespeichert. Ein Idempotency-Key macht einen wiederholten Versand oder Instantiate sicher. Jeder Key darf 60 Anfragen pro Minute stellen.
Alles, was die API heute kann.
Einen Vertrag einmal mit {{Platzhaltern}} verfassen, sperren, und instantiate füllt ihn aus field_values. GET /v1/templates/{id} veröffentlicht das Eingabeschema; das Feldregister des Workspace hält Schlüssel und Beispielwerte stabil.
Setzen Sie [[ls:signature:client]]-Marker in Ihr generiertes PDF, und die Felder landen dort, wo der Text steht — ohne Koordinaten. Die Marker werden maskiert, bevor der Unterzeichner die Seite sieht.
phone_e164 und require_sms_verification: ein Einmalcode, bevor das Dokument angezeigt wird oder beim Klick auf Unterschreiben. Bindet die Unterschrift an ein Telefon — eine fortgeschrittene elektronische Signatur.
signing_mode: sequential lädt einen Unterzeichner nach dem anderen ein; parallel ist der Standard. Beobachter und Webhooks folgen jeder Freigabe.
observer_emails: CC-Empfänger, die nie unterschreiben. Benachrichtigt beim Versand und wenn alle unterschrieben haben, mit dem finalen PDF und dem Zertifikat.
Mehrere Unterzeichner unterschreiben ein PDF unter einem Siegel. Ein Umschlag mit mehreren Dateien ist mehrere Dokumente: Jedes wird für sich abgeschlossen und feuert sein eigenes document.completed.
Eine kurzlebige Sitzung für einen Unterzeichner ausstellen und die Signaturansicht in Ihrer eigenen Seite rendern — iframe oder mobile Webview, Ihr Branding, kein API-Key im Browser. Enterprise.
Signiert, mit exponentiellem Backoff wiederholt, vollständige oder minimale Payload (ohne personenbezogene Daten), ein Zustellprotokoll mit erneuter Zustellung und Secret-Rotation, die das alte Secret 24 Stunden gültig lässt.
Jedes signierte PDF trägt ein PAdES-Siegel; der RFC-3161-Zeitstempel bleibt in unseren Aufzeichnungen. Jeder kann die Datei auf /verify ablegen und erhält ein Urteil: authentisch, manipuliert oder unbekannt.
Jeder Workspace bindet seine Dokumente an eine Region: EU (Standard), Schweiz oder USA. Dokumente bleiben, wo sie erstellt wurden.
Signaturen nach eIDAS und Schweizer ZertES als SES und AES (keine QES). Öffentliche Dokumentation, OpenAPI-3.1-Spezifikation und 90 Tage Vorlauf vor jeder brechenden Änderung.
Software, die einem Kunden einen Vertrag vorlegt.
Steuer- und Treuhandsoftware
Mandatsvereinbarungen, Vollmachten und Einreichungsermächtigungen direkt aus der Akte: Die Vorlage trägt den Text der Kanzlei, Ihre Plattform füllt Kunden- und Firmendaten, der Kunde unterschreibt auf der gebrandeten Seite der Kanzlei. Der Audit-Trail beantwortet die Rückfrage der Steuerbehörde.
HR- und Recruiting-Plattformen
Angebote, Verträge und Personalverleih-Vereinbarungen pro Kandidat erzeugt und sequenziell versandt — zuerst der Kandidat, dann der Arbeitgeber — mit dem signierten PDF zurück in der Kandidatenakte.
Fintech-Onboarding
Onboarding-Vereinbarungen und Investorenunterlagen in Ihrem Ablauf ausgeführt, eingebettet oder per Link, mit SMS als zweitem Faktor, wo das Risiko es verlangt, und einem versiegelten, per Hash prüfbaren PDF für die Compliance.
Agenturen und Dokumentgeneratoren
Ihr Tool erzeugt das PDF, Anker platzieren die Felder, der Kunde unterschreibt ohne Konto. `metadata` trägt Ihre Projekt-ID durch jedes Event zurück in Ihr System.
API-Keys und Webhooks gibt es mit Enterprise.
Bestehende Teams-Workspaces behalten ihre API-Keys und Webhooks. Vorlagenversand über die API (instantiate, generate, confirm) und eingebettetes Unterschreiben sind nur mit Enterprise möglich. Jeder Key darf 60 Anfragen pro Minute stellen.
Pläne und Preise ansehenFragen
Gibt es eine Sandbox oder einen Test-Key?
Noch nicht: Jeder Key ist live. send_emails: false erstellt das Dokument und die Links, ohne jemandem eine E-Mail zu senden; validate_only: true prüft ein Instantiate, ohne etwas zu erstellen; review: true legt ein Dokument zur Bestätigung oder Verwerfung durch eine Person bereit.
Welche Signaturstufe erzeugt die API?
Eine einfache elektronische Signatur (SES) per E-Mail-Link oder eine fortgeschrittene elektronische Signatur (AES), wenn der Unterzeichner einen SMS-Einmalcode bestätigt. Keine qualifizierte Signatur (QES).
Woher weiss ich, dass ein Webhook von Ihnen kommt?
Jede Zustellung trägt X-WeSign-Signature: t=<time>,v1=<hmac> — HMAC-SHA256 über Zeitstempel und rohen Body mit dem Secret des Hooks. Prüfen Sie sie, bevor Sie dem Body vertrauen; die Dokumentation enthält Prüfer in Node und PHP.
Was passiert, wenn mein Endpunkt nicht erreichbar ist?
Wir wiederholen mit exponentiellem Backoff und führen pro Hook ein Zustellprotokoll; eine Zustellung lässt sich daraus erneut senden. Sie können ausserdem jederzeit GET /v1/signing-requests/{id} abfragen.
Kann ich einen Versand wiederholen, ohne doppelt zu senden?
Ja. Senden Sie einen Idempotency-Key mit POST /v1/signing-requests oder instantiate: Derselbe Key mit demselben Body liefert innerhalb von 24 Stunden die erste Antwort; derselbe Key mit anderem Body wird abgelehnt.
Wo werden die Dokumente gespeichert?
In der Region, die der Workspace festlegt: EU (Standard), Schweiz oder USA. Verschlüsselt bei Übertragung und Speicherung. Ein signiertes PDF kann nach einer von Ihnen gesetzten Aufbewahrungsfrist gelöscht werden — speichern Sie Ihre Kopie bei document.completed.
Unterschriften aus Ihrer eigenen Software.
Sagen Sie uns, was Sie anbinden. Die Dokumentation ist öffentlich — lesen Sie sie gern zuerst.











