Skip to main content

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:

  • id and roleId are usually the same base64-encoded template role ID.
  • role can be empty string when roleId is provided.
  • message supports placeholders: {{signer_firstname}}, {{signer_lastname}}, {{sender_fullname}}, {{doc_name}}.
  • expiryDate is ISO 8601 or null for no expiry.
  • signerIndex uses 1+ for signers, 101+ for witnesses.
  • To skip a recipient, omit them from the array entirely.
  • Only groupId, templateId, and recipients are 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.

Export This Article

Save a copy of this page as PDF or plain text.