Send Signature Request
Send a handbook to employees for digital signature. The handbook is converted to PDF, uploaded to the signing service, and signature request emails are sent to each recipient.
Mutation
mutation SendSignatureRequest(
$handbookId: Int!
$recipients: [SignatureRecipientInput!]!
$language: String
) {
sendSignatureRequest(
handbookId: $handbookId
recipients: $recipients
language: $language
) {
success
handbookId
message
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
handbookId | Int! | Yes | The handbook ID to request signatures for |
recipients | [SignatureRecipientInput!]! | Yes | List of recipients (max 100). Each has name and email |
language | String | No | Language for the PDF. "en" (default) or "es" for Spanish |
SignatureRecipientInput
| Field | Type | Required | Description |
|---|---|---|---|
name | String! | Yes | Full name of the recipient |
email | String! | Yes | Email address of the recipient |
Response
The mutation returns immediately. PDF generation and signature request emails are processed in the background.
{
"data": {
"sendSignatureRequest": {
"success": true,
"handbookId": 123,
"message": "Signature request accepted. Use getSignatureSignees to check signing status. If no signees appear, the request may have failed — try sending again."
}
}
}
Examples
Send to Multiple Recipients
mutation {
sendSignatureRequest(
handbookId: 123
recipients: [
{ name: "John Doe", email: "[email protected]" }
{ name: "Jane Smith", email: "[email protected]" }
]
) {
success
handbookId
message
}
}
Send Spanish Version
mutation {
sendSignatureRequest(
handbookId: 123
recipients: [{ name: "Maria Garcia", email: "[email protected]" }]
language: "es"
) {
success
message
}
}
Poll for Signature Status
After sending, use getSignatureSignees to check who has signed:
query {
getSignatureSignees(handbookId: 123) {
signees {
name
email
signedAt
}
total
}
}
Error Responses
Subscription Required
{
"errors": [{ "message": "This operation requires an active subscription. ONE_TIME or unsubscribed handbooks are not supported." }]
}
Not a Comprehensive Handbook
{
"errors": [{ "message": "Signature is only available for comprehensive handbooks" }]
}
Too Many Recipients
{
"errors": [{ "message": "Maximum 100 recipients per request" }]
}
Spanish Translation Not Available
{
"errors": [{ "message": "Spanish translation is not available for this handbook" }]
}
Notes
- Requires bearer token authentication
- Requires an active subscription (
SUBSCRIPTIONstatus) - Only comprehensive (paid/subscribed) handbooks support signatures
- Processing runs in the background — the mutation returns immediately
- Processing typically takes 1-2 minutes (PDF generation + signing service upload)
- Success or failure is logged to
reseller_builder_log - Maximum 100 recipients per request
- When using
language: "es", the handbook must have a Spanish translation (usetranslateHandbookfirst) - Each recipient receives an email with a link to sign the handbook digitally
- The signature page includes: Employee's Printed Name, Employee Signature, and Date fields