Skip to content
  1. Blog
  2. API

Setting Up Automatic Reminders for eSignature Requests Using API

Getting documents signed promptly is crucial. BoldSign auto reminders serve as polite notifications for signers to sign a document, reducing delays and ensuring documents are completed on time.

You can configure automatic reminders for your document through the BoldSign API. By adding a ReminderSettings object to your API call and setting EnableAutoReminder to true, you can specify the frequency of reminders after the initial reminder and set the total number of reminders to be sent.

Settings for automatic reminders can only be changed while creating a document and cannot be changed after the document has been sent. If a document expires, automatic reminders will not be sent. Reminders are sent automatically at specified intervals and a specified number of times until the document is signed.

Code snippets

Let’s explore how to add auto reminders in various programming languages:

curl -X 'POST' \ 
  'https://api.boldsign.com/v1/document/send' \ 
  -H 'accept: application/json' \ 
  -H 'X-API-KEY: {your API key}' \ 
  -H 'Content-Type: multipart/form-data' \ 
  -F 'ReminderSettings.ReminderDays={set days after which reminder should be sent}' \ 
  -F 'ReminderSettings.ReminderCount={set the number of reminders to be sent}' \ 
  -F 'Message={document message}' \ 
  -F 'Signers={ 
  "name": "Alex Gayle", 
  "emailAddress": "alexgayle@boldsign.dev", 
  "signerType": "Signer", 
  "formFields": [ 
    { 
      "id": "textbox1", 
      "name": "textbox1", 
      "filetype": "Textbox", 
      "pageNumber": 1, 
      "bounds": { 
        "x": 140, 
        "y": 140, 
        "width": 82, 
        "height": 32 
      }, 
      "isRequired": true 
    } 
  ] 
}' \ 
  -F 'Files=@{your file}' \ 
  -F 'Title={title}' \ 
  -F 'ReminderSettings.EnableAutoReminder=true' \ 
    
var apiClient = new ApiClient("https://api.boldsign.com", "{Your API key}"); 
var documentClient = new DocumentClient(apiClient); 
 
var documentFilePath = new DocumentFilePath 
{ 
ContentType = "application/pdf", 
FilePath = "{your file path}" 
}; 
 
var filesToUpload = new List<IDocumentFile>  
{ 
documentFilePath 
}; 
 
var signatureField = new FormField( 
id: "sign", 
isRequired: true, 
type: FieldType.Signature, 
pageNumber: 1, 
bounds: new Rectangle(x: 200, y: 200, width: 125, height: 25)); 
 
var formFieldCollections = new List<FormField> 
{ 
signatureField 
}; 
 
var signer = new DocumentSigner( 
signerName: "Alex Gayle", 
signerEmail: "alexgayle@boldsign.dev", 
signerType: SignerType.Signer, 
formFields: formFieldCollections, 
locale: Locales.EN); 
 
var documentSigners = new List<DocumentSigner> 
{ 
signer 
}; 
 
var sendForSign = new SendForSign 
{ 
Signers = documentSigners, 
Title = "Auto Reminder", 
ReminderSettings = new ReminderSettings 
{ 
EnableAutoReminder = true, 
ReminderCount = 3, 
ReminderDays = 4 
}, 
Files = filesToUpload 
}; 
 
var response = documentClient.SendDocument(sendForSign); 
    
import boldsign 
 
configuration = boldsign.Configuration(host="https://api.boldsign.com",api_key="YOUR_API_KEY") 
 
with boldsign.ApiClient(configuration) as api_client: 
 
document_api = boldsign.DocumentApi(api_client) 
 
form_field = boldsign.FormField( 
fieldType="Signature", 
pageNumber=1, 
bounds=boldsign.Rectangle( 
x=50, 
y=50, 
width=200, 
height=25 
) 
) 
 
document_signer = boldsign.DocumentSigner( 
name="Alex Gayle", 
emailAddress="alexgayle@boldsign.dev", 
signerType="Signer", 
formFields=[form_field] 
) 
 
send_for_sign = boldsign.SendForSign( 
title="Document SDK API", 
files=["YOUR_FILE_PATH"], 
signers=[document_signer], 
reminderSettings=boldsign.ReminderSettings( 
enableAutoReminder=True, 
reminderDays=2, 
reminderCount=3 
) 
) 
 
document_created = document_api.send_document(send_for_sign) 
    
<?php
require_once "vendor/autoload.php"; 
 
use BoldSign\Configuration; 
use BoldSign\Api\DocumentApi; 
use BoldSign\Model\{FormField, Rectangle, DocumentSigner, SendForSign, FileInfo, ReminderSettings}; 
 
$config = new Configuration(); 
$config->setHost('https://api.boldsign.com'); 
$config->setApiKey('Your_BoldSign_API_Key'); 
 
$document_api = new DocumentApi($config); 
 
$form_field = new FormField(); 
$form_field->setFieldType('Signature'); 
$form_field->setPageNumber(1); 
$bounds = new Rectangle([100, 100, 100, 50]); 
$form_field->setBounds($bounds); 
 
$document_signer = new DocumentSigner(); 
$document_signer->setName("Alex Gayle"); 
$document_signer->setEmailAddress("alexgayle@boldsign.dev"); 
$document_signer->setSignerType("Signer"); 
$document_signer->setFormFields([$form_field]); 
 
// Reminder settings 
$reminderSettings = new ReminderSettings(); 
$reminderSettings->setEnableAutoReminder(true); 
$reminderSettings->setReminderDays(2); 
$reminderSettings->setReminderCount(4); 
 
$send_for_sign = new SendForSign(); 
$files = new FileInfo(); 
$files = 'Your_File.pdf'; 
$send_for_sign->setFiles([$files]); 
$send_for_sign->setSigners([$document_signer]); 
$send_for_sign->setTitle('Document SDK API'); 
$send_for_sign->setReminderSettings($reminderSettings); 
 
$document_created = $document_api->sendDocument($send_for_sign);  
    
ApiClient client = Configuration.getDefaultApiClient(); 
client.setBasePath("https://api.boldsign.com"); 
client.setApiKey("YOUR_BOLDSIGN_API_KEY"); 
 
DocumentApi documentApi = new DocumentApi(client); 
 
FormField signatureField = new FormField(); 
signatureField.setFieldType(FormField.FieldTypeEnum.SIGNATURE); 
signatureField.setPageNumber(1); 
 
Rectangle bounds = new Rectangle() 
.x(100f) 
.y(100f) 
.width(100f) 
.height(50f); 
 
signatureField.setBounds(bounds); 
 
DocumentSigner signer = new DocumentSigner(); 
signer.setName("Alex Gayle"); 
signer.setEmailAddress("alexgayle@boldsign.dev"); 
signer.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER); 
signer.setFormFields(Arrays.asList(signatureField)); 
 
ReminderSettings reminderSettings = new ReminderSettings(); 
reminderSettings.setEnableAutoReminder(true); 
reminderSettings.setReminderDays(2); 
reminderSettings.setReminderCount(3); 
 
SendForSign sendForSign = new SendForSign(); 
 
File file = new File("Your_file_path.pdf"); 
 
sendForSign.setFiles(Arrays.asList(file)); 
sendForSign.setSigners(Arrays.asList(signer)); 
sendForSign.setTitle("Document SDK API"); 
sendForSign.setReminderSettings(reminderSettings); 
 
DocumentCreated documentCreated = 
documentApi.sendDocument(sendForSign); 
    
import {DocumentApi, DocumentSigner, FormField, Rectangle, ReminderSettings, SendForSig} from "boldsign"; 
import * as fs from "fs"; 
 
async function sendDocument() { 
 
const documentApi = new DocumentApi("https://api.boldsign.com"); 
documentApi.setApiKey("YOUR_API_KEY"); 
 
const bounds = new Rectangle(); 
bounds.x = 100; 
bounds.y = 50; 
bounds.width = 100; 
bounds.height = 100; 
 
const formField = new FormField(); 
formField.fieldType = FormField.FieldTypeEnum.Signature; 
formField.pageNumber = 1; 
formField.bounds = bounds; 
 
const documentSigner = new DocumentSigner(); 
documentSigner.name = "Alex Gayle"; 
documentSigner.emailAddress = "alexgayle@boldsign.dev"; 
documentSigner.signerType = DocumentSigner.SignerTypeEnum.Signer; 
documentSigner.formFields = [formField]; 
 
const files = fs.createReadStream("Employment contract.pdf"); 
 
const reminderSettings = new ReminderSettings(); 
reminderSettings.enableAutoReminder = true; 
reminderSettings.reminderDays = 2; 
reminderSettings.reminderCount = 3; 
 
const sendForSign = new SendForSign(); 
sendForSign.title = "Agreement"; 
sendForSign.signers = [documentSigner]; 
sendForSign.files = [files]; 
sendForSign.reminderSettings = reminderSettings; 
 
const documentCreated = await documentApi.sendDocument(sendForSign); 
 
console.log(documentCreated.documentId); 
} 
 
sendDocument(); 
    

Conclusion

Incorporating reminders into document workflows is a strategic move toward ensuring efficiency, compliance, and security. Organizations can enhance productivity, reduce wait times, and retain control over documents by utilizing BoldSign’s API.

Start your 30-day BoldSign free trial today to simplify getting your documents signed digitally. We value your feedback, so please share your thoughts in the comments below. If you have any questions or need more information about our services, don’t hesitate to schedule a demo or reach out to our support team through our support portal.

Starvritsa Buhungi

Starvritsa is a Technical Assistant at BoldSign, channelling her passion into crafting top-tier content for users through meticulous documentation. She creates content across various formats, including API tutorials, help articles, and comprehensive guides.

More posts by Starvritsa Buhungi