Signing inside your product, not next to it
Short-lived signing tokens render the experience inside your own layout rather than redirecting away. Webhooks retry on a published schedule, carry deduplication IDs, and are HMAC-signed. Every mutating endpoint accepts an idempotency key.
The most requested change in our v3 API was removing the redirect. In v2, embedding meant sending the user to a URL — your product visibly handed off to ours, which is strange when the whole point was keeping users in your application.
v3 issues signing tokens scoped to a single recipient on a single envelope. Mount the embed in an iframe or use the JavaScript SDK, and completion fires a callback in the parent frame rather than a page navigation.
Step by step
- 1
Create an envelope
POST a document, recipients, and field definitions — or reference a template and supply only the values. Pass an idempotency key so a network timeout cannot produce a duplicate envelope, which is the failure mode that otherwise sends a counterparty the same contract twice.
- 2
Issue a signing token
Scoped to one recipient on one envelope, expiring in fifteen minutes by default. It is not a session and cannot be used to enumerate other documents on the account.
- 3
Render the embed
The signing experience renders inside your layout. Your users never see a domain they do not recognise, and completion is a callback you handle rather than a redirect you have to catch.
- 4
Handle webhooks as the source of truth
Acknowledge fast, queue, process asynchronously. Verify the HMAC signature against the raw request body before any JSON parsing — parsing and re-serialising changes the bytes and the signature will not match. That is the single most common integration bug we see.
What it supports
Where this matters most
Legal
Push executed agreements straight into a matter management system without anyone manually filing PDFs.
See legal →Sales
Prefill from the CRM opportunity, embed signing in your own quoting tool, and write the signed contract back automatically.
See sales →HR & hiring
Trigger an onboarding packet the moment an offer is accepted in your ATS, and file completed documents into the HRIS employee record.
See hr & hiring →Availability & limits
Pro and upAPI and webhooks on Pro. Embedded signing and higher rate limits are Business.
- Rate limits are per-account, not per-key — extra keys do not multiply quota
- Embedded signing requires Business
- Signing tokens expire in 15 minutes by default and cannot be extended indefinitely
- v2 remains supported with no announced end date; deprecation would carry 12 months notice