How to set automatic reminders for electronic signature requests through API?

BoldSign supports sending auto reminders to signers to complete the signing process. You can set up auto reminders when creating the document. This feature also enables you to specify the number of days between each reminder and the total number of reminders to be sent to signers until they complete the signing process.

When you send a document to signer, you can enable auto reminder in ReminderSettings object. When auto reminder (EnableAutoReminder) is enabled, you can choose how frequently the reminder should continue following the first reminder by adding days in the (ReminderDays) and set the number of reminders to be sent(ReminderCount). You can set up to 5 reminders.

Some key points to note

The user can only change these configurations while creating the document, which cannot be changed after the document has been sent. If a document you sent is expired, then the automatic reminders will not be send. The reminders will be sent automatically at specified intervals and a specified number of times until the document is signed. You have to send reminder at next day interval until the document is signed when a signer ignores the reminder.

Code snippet

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.EnableAutoReminder=true' \
     -F 'ReminderSettings.ReminderDays=4' \
     -F 'ReminderSettings.ReminderCount=3' \
     -F 'Signers={
        "name": "Hanky",
        "emailAddress": "hankyWhites@cubeflakes.com",
        "signerType": "Signer",
        "signerRole": "Signer",
        "formFields": [
           {
                "id": "signature",
                "name": "signature",
                "fieldType": "Signature",
                "pageNumber": 1,
                "bounds": {
                  "x": 100,
                  "y": 100,
                  "width": 125,
                  "height": 25
                   },
      "isRequired": true
    }
  ],
  "locale": "EN"
}' \
  -F 'Files=@{your file}' \
  -F 'Title={title}' \  
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: "David",
    signerEmail: "david@cubeflakes.com",
    signerType: SignerType.Signer,
    formFields: formFieldCollections,
    locale: Locales.EN);

var documentSigners = new List<DocumentSigner>()
{
    signer
};

var sendForSign = new SendForSign()
{
    Signers = documentSigners,
    Title = "Agreement",
    ReminderSettings = new ReminderSettings()
    {
        EnableAutoReminder  = true,
        ReminderCount = 3,
        ReminderDays = 4
    },
    Files = filesToUpload
};
var documentCreated = documentClient.SendDocument(sendForSign);
import requests
import json

url = "https://api.boldsign.com/v1/document/send"

signer_data = {
    "name": "hanky",
    "emailAddress": "hankyWhites@gmail.com",
    "signerType": "Signer",
    "signerRole": "Signer",
    "formFields": [
        {
            "id": "signature",
            "name": "signature",
            "fieldType": "Signature",
            "pageNumber": 1,
            "bounds": {
                "x": 100,
                "y": 100,
                "width": 125,
                "height": 25
            },
            "isRequired": True,
        }
    ],
    "locale": "EN"
}

payload = {
    'Signers': json.dumps(signer_data),
    'Title': "Agreement",
    'ReminderSettings.EnableAutoReminder': 'true',
    'ReminderSettings.ReminderDays': '4',
    'ReminderSettings.ReminderCount': '3',
}

files = [
    ('Files', ('{Your file name}', open('{Your file path}', 'rb'), 'application/pdf'))
]

headers = {
    'accept': 'application/json',
    'X-API-KEY': '{Your API key}'
}

response = requests.post(url, headers=headers, data=payload, files=files)
print(response.text)
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
let data = new FormData();
data.append('Signers', '{\r\n        "name": "Hanky",\r\n        "emailAddress": "hankyWhites@cubeflakes.com",\r\n        "signerType": "Signer", \r\n        "signerRole": "Signer",\r\n        "formFields": [\r\n           {\r\n                "id": "signature",\r\n                "name": "signature",\r\n                "fieldType": "Signature",\r\n                "pageNumber": 1,\r\n                "bounds": {\r\n                  "x": 100,\r\n                  "y": 100,\r\n                  "width": 125,\r\n                  "height": 25\r\n                   },\r\n      "isRequired": true\r\n    }\r\n  ],\r\n  "locale": "EN"\r\n}');
data.append('Files', fs.createReadStream('{Your file path}'));
data.append('Title', 'Agreement');
data.append('ReminderSettings.EnableAutoReminder', 'true');
data.append('ReminderSettings.ReminderDays', '4');
data.append('ReminderSettings.ReminderCount', '3');

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api.boldsign.com/v1/document/send',
  headers: { 
    'accept': 'application/json', 
    'X-API-KEY': '{Your API key}', 
    ...data.getHeaders()
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

In the example above, set the EnableAutoReminder field as true and configure the ReminderDays and ReminderCount properties value according to your requirements. Upon executing the provided code, a document will be generated with the auto reminders at specified intervals and a specified number of times until the document is signed.