Integration recipes
Copy a snippet, swap in your API key, ship in minutes.
cURL
curl https://seamlessesign.co/api/v1/envelopes \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"subject": "Please sign: NDA",
"documents": [{"name":"NDA.pdf","url":"https://example.com/nda.pdf"}],
"recipients": [{"name":"Jane Doe","email":"jane@example.com"}]
}'JavaScript
import { SeamlessESign } from "@seamlessesign/sdk";
const client = new SeamlessESign({ apiKey: process.env.SEAMLESS_API_KEY });
const envelope = await client.envelopes.create({
subject: "Please sign: NDA",
documents: [{ name: "NDA.pdf", url: "https://example.com/nda.pdf" }],
recipients: [{ name: "Jane Doe", email: "jane@example.com" }],
});
console.log(envelope.signingUrl);Python
import requests, os
resp = requests.post(
"https://seamlessesign.co/api/v1/envelopes",
headers={"Authorization": f"Bearer {os.environ['SEAMLESS_API_KEY']}"},
json={
"subject": "Please sign: NDA",
"documents": [{"name": "NDA.pdf", "url": "https://example.com/nda.pdf"}],
"recipients": [{"name": "Jane Doe", "email": "jane@example.com"}],
},
)
print(resp.json()["signing_url"])Seamless Hire
// In Seamless Hire → Integrations → Add → "Seamless E-Sign"
// Paste your live API key and we'll auto-wire offer letters.
//
// To send manually from a webhook handler:
await seamlessHire.esign.send({
candidateId: "cand_123",
templateId: "tpl_offer_letter",
});Zapier
1. In Zapier → "Create Zap"
2. Trigger: any app (e.g. Typeform new submission)
3. Action: Webhooks by Zapier → POST
4. URL: https://seamlessesign.co/api/v1/envelopes
5. Headers: Authorization: Bearer sk_live_xxx
6. Data: { subject, documents, recipients }n8n
1. Add an HTTP Request node
2. Method: POST
3. URL: https://seamlessesign.co/api/v1/envelopes
4. Auth: Bearer Token (your API key)
5. Body: JSON envelope payload