send
Send a document for signing in a single API call. Returns a task ID that can be polled via the task query.
Input
DocumentSendSettingsInput — passed as AWSJSON. See the complete JSON structure for all fields.
Return Type
ID — the task ID. Poll with the task query to check completion.
Single send
mutation SendDocument {
send(input: {
groupId: "Z3JwMTIzNDU2"
templateId: "dHBsMTIzNDU2"
title: "Employment Contract - Jane Smith"
sequentialSigning: true
allowCopying: false
allowPrinting: false
tag: ""
pdfPassword: ""
retainPdfPassword: false
suppressEmails: false
documentCCEmail: []
recipients: [
{
id: "cm9sMTIzNDU2"
roleId: "cm9sMTIzNDU2"
role: ""
firstName: "Jane"
lastName: "Smith"
email: "jane@example.com"
phoneNumber: ""
order: 0
signerIndex: 1
experience: "ZXhwMTIzNDU2"
scheduleId: "c2NoMTIzNDU2"
message: "Dear {{signer_firstname}},\n\nPlease sign {{doc_name}}.\n\nContact {{sender_fullname}} with questions."
attachments: ["YXR0MTIzNDU2"]
expiryDate: null
skipped: false
timeZone: "Europe/London"
}
]
senderFields: [
{ id: "ZWxlMTIzNDU2", value: "Acme Corp" }
]
participantFields: [
{ id: "ZWxlNzg5MDEy", value: "" }
]
})
}
Key notes:
idandroleIdare usually the same base64-encoded template role ID.rolecan be empty string whenroleIdis provided.messagesupports placeholders:{{signer_firstname}},{{signer_lastname}},{{sender_fullname}},{{doc_name}}.expiryDateis ISO 8601 ornullfor no expiry.signerIndexuses 1+ for signers, 101+ for witnesses.- To skip a recipient, omit them from the array entirely.
- Only
groupId,templateId, andrecipientsare required. All other fields are optional.
Sending patterns
There are three ways to send documents:
Single send
One mutation, one document:
send(input: { ... }) → task ID
Batch send
Multiple documents grouped together with shared notification settings. Documents are sent when the batch is started.
1. sendBatch(input: { groupId, batchName, ... }) → batch ID (UUID)
2. sendBatchDocument(input: { batchId, document: { ... } }) × N
3. startBatch(input: { batchId }) → sends all
See sendBatch, sendBatchDocument, startBatch.
Bulk send
Same template sent to different recipients. Each call to addBulkDocument queues one recipient set.
1. startBulk(input: { groupId, name }) → bulk ID (UUID)
2. addBulkDocument(input: { bulkId, document: { ... } }) × N
3. sendBulk(input: { groupId, bulkId, name, ... }) → sends all
See startBulk, addBulkDocument, sendBulk.
Batch and bulk document fields use the same DocumentSendSettingsInput structure as single send. The batchId and bulkId returned are plain UUIDs, not base64-encoded.
Related
- DocumentSendSettingsInput
- RecipientInput
- FieldInput
- task query — poll for send completion
- sendBatch — batch sending
- sendBulk — bulk sending
- Mutation Examples — send document example
- Input Examples — full input structure
- Send Input JSON Schema — downloadable schema for validation and editor autocomplete
- Document Viewer integration — send documents from the Document Viewer component