Send the same document to hundreds of recipients simultaneously — each gets their own independent envelope, their own signing link, and triggers their own completion webhook. No shared documents, no cross-recipient data exposure.
Same document → N recipients → N independent envelopes → N separate completions. Each signer signs their own copy. Sealed independently. No signer sees another's data.
One envelope → multiple signers → sealed once when all complete. All signers are party to the same document. Use for contracts with multiple counterparties.
Fan out envelope creation concurrently. One envelope per recipient — each gets a unique ID, audit trail, and completion webhook.
Send offer letters to a batch of new hires in one operation. Each recipient gets their own envelope, signs independently, and triggers a completion webhook.
Onboard a cohort of new customers simultaneously. Each customer signs their own copy; your system is notified per completion via webhook.
Re-collect consent from an existing user base each year. Bulk send dispatches to all recipients in a single API call; stragglers can be re-sent individually.
Dispatch NDAs or service agreements to a list of contractors. Track per-signer completion status via GET /v1/envelopes/{id} or signer.signed webhooks.
Bulk send sends the same document template to multiple recipients in a single operation. Each recipient receives their own independent envelope and unique signing link — not a shared document. When each person signs, their envelope is sealed individually and a completion webhook is fired for that envelope. Bulk send is different from multi-signer routing, where multiple parties all sign the same envelope.
In multi-signer routing, multiple signers all sign the same envelope — the document is sealed only after all signers complete. In bulk send, each recipient gets their own envelope: independent, sealed separately, with its own audit trail and completion webhook. Use multi-signer for contracts that require multiple parties to sign one document; use bulk send when each recipient is signing their own copy.
GetSigned does not currently expose a single bulk-send endpoint — you create one envelope per recipient via POST /v1/envelopes, then POST /v1/envelopes/{id}/send for each. This is intentional: each envelope is independent with its own ID, audit trail, and lifecycle. For large batches, fan out the creation calls concurrently (Node.js Promise.all, Python asyncio.gather, Go goroutines) and handle rate limits with a concurrency limiter.
Rate limits depend on your plan. Contact support for burst limits relevant to your use case. For large batches, implement an exponential backoff retry on 429 responses and cap concurrency to stay within limits — typically 10–20 concurrent envelope creation requests is safe across all plans.
Subscribe to the envelope.completed webhook — it fires per envelope as each recipient completes signing. Store a batch_id (your own identifier) in the envelope's metadata field when creating it; the webhook payload echoes it back so you can correlate completions to your batch. For a progress dashboard, poll GET /v1/envelopes with a filter on your batch_id or query your database of created envelope IDs.
Related: Template API · Multi-signer routing · Webhook guide