Send one PDF to many separate signers
bulk_signature_requestsFan one already-rendered PDF out to up to 100 independent signers in a single call — the 'send this NDA to everyone on the list' path. Each signer gets their own request, their own sign link and their own invitation email, but they all share one source render, so only one document is produced and stored. Choose create_envelope instead when the recipients are signing the SAME document together and you need routing, ordering and one envelope status; choose this when they are unrelated parties each signing their own copy. Duplicate signer emails within one batch are rejected up front with 422. Per-signer failures do not abort the batch: the response is { bulkId, count, successCount, failureCount, results } in input order, each row either ok with signatureId and signUrl or ok:false with a reason, and the call returns 207 when any row failed. Consumes one signature from the monthly quota PER signer (free tier: 10 per month, then per-signature billing), so a large batch can exhaust a small plan part-way through and the remaining rows come back failed. Requires a Kamy API key with the signatures:write scope; without a key, returns dashboard setup instructions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Shared invite message. `{{signerName}}` is substituted per recipient. | |
| signers | Yes | 1–100 signers. Duplicate emails are rejected up front with 422. | |
| position | No | One signature rectangle in PDF points (origin bottom-left) shared by every signer. | |
| renderId | Yes | Render UUID every signer receives. One render, one storage object, many requests. | |
| expiresIn | No | Sign-link lifetime in seconds. Min 1 hour, max 30 days. Defaults to 7 days. | |
| reminderCadenceHours | No | Auto-reminder cadence in hours, shared across the batch. Up to 3 reminders. |