Skip to main content

Customer API: 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​

ParameterTypeRequiredDescription
handbookIdInt!YesThe handbook ID to request signatures for
recipients[SignatureRecipientInput!]!YesList of recipients (max 100). Each has name and email
languageStringNoLanguage for the PDF. "en" (default) or "es" for Spanish

SignatureRecipientInput​

FieldTypeRequiredDescription
nameString!YesFull name of the recipient
emailString!YesEmail 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 (SUBSCRIPTION status)
  • 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 (use translateHandbook first)
  • 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