SnapPDF + SignBolt
Native handoff: finish prepping in SnapPDF, one-click send to SignBolt for signatures.
SignBolt is SnapPDF's sibling venture — a developer-first e-signature API. The integration is deeply native because the teams share infrastructure. Run prep ops on SnapPDF (merge contract + addendum, stamp draft watermark, fill form), then one API call hands the PDF off to SignBolt which orchestrates the signing envelope. A merged audit trail covers both products end-to-end.
What you can build
- Direct PDF handoff — no re-upload, no S3 roundtrip.
- Pre-fill signature field coordinates from SnapPDF's sign op placeholder mode.
- Merged audit trail: prep events (SnapPDF) + signing events (SignBolt) in one timeline.
- Shared billing — one subscription covers both products at the Enterprise tier.
- Shared key model — a single key with `pdf:*` + `sign:*` scopes works across both APIs.
Setup
- 01Create a SignBolt accountsignbolt.au — same email works if you already have SnapPDF.
- 02Link accountsSnapPDF dashboard → Integrations → SignBolt → Link account. OAuth handshake, 20 seconds.
- 03Create an Enterprise key (optional)For combined scopes, create a key scoped `pdf:write` + `sign:write`. Works on both APIs.
- 04Use the handoff endpointAfter a SnapPDF op, call `POST /api/v1/signbolt/handoff` with the PDF reference and recipient list.
- 05Poll or webhook for completionSignBolt fires webhooks back to your endpoint when signing completes; audit events land in the merged trail.
Code example
Prep contract in SnapPDF, hand off to SignBolt in one chain.
// Step 1: SnapPDF prep
const { pdf: merged } = await snap.pdf.merge({
files: [contractPdf, addendumPdf],
});
const { pdf: filled } = await snap.pdf.fillForm({
file: merged,
values: { client_name: 'Acme', deal_value: '$50,000' },
flatten: false,
});
// Step 2: Hand off to SignBolt
const envelope = await fetch('https://api.snappdf.dev/api/v1/signbolt/handoff', {
method: 'POST',
headers: { Authorization: 'Bearer ' + key, 'Content-Type': 'application/json' },
body: JSON.stringify({
file: filled.pdf,
recipients: [
{ email: 'ceo@acme.com', name: 'Jane Smith', role: 'signer' },
{ email: 'cfo@us.com', name: 'Bob Jones', role: 'counter_signer' },
],
subject: 'Master Services Agreement — please sign',
expiresInDays: 14,
}),
}).then(r => r.json());
console.log('SignBolt envelope:', envelope.id);Known limits
- · SignBolt requires recipient emails — anonymous/public signing not supported.
- · The prep PDF must fit in SignBolt's 50MB limit (smaller than our own).
Pricing notes
The handoff itself is free. SignBolt signature envelopes are billed per-envelope on their side. Enterprise customers get a 15% discount on bundled billing.
Available from the Free plan.
FAQ
Do I need separate accounts and billing?
You can have separate accounts. Enterprise customers get a combined invoice covering both products.
Is the audit trail legally sufficient?
Yes — SignBolt's audit trail already satisfies ESIGN and eIDAS. Adding SnapPDF prep events is for ops visibility, not legal proof.
What if the prep and sign keys are different?
Works fine. The handoff endpoint accepts either key; SignBolt's side authenticates with its own.
Can I use this for bulk envelopes?
Yes — loop the handoff call. SignBolt rate-limits apply (see their /docs).
Where does the PDF live between prep and sign?
In SnapPDF's internal S3 with 24h TTL. The handoff creates a signed URL SignBolt pulls once.