How to request the signatures without email notifications using BoldSign API?

BoldSign allows you to request signatures without sending email notifications to signers and get signatures from signers through signing link using embedded signing.This guide will go through the process of requesting signature without sending emails using BoldSign API.

Disable Emails Notification

If you want to manage the signature process within your application and prevent email notifications from being sent to signers, BoldSign allows you to disable email notifications when sending documents using the API. This ensures that recipients will not receive any email communication associated with the signing process.By setting DisableEmails to true, you can disable the email notifications. Here are example codes that can be used to achieve this:

Code snippet


curl -X 'POST' \ 'https://api.boldsign.com/v1/template/send?templateId=b8085b47-63b3-47f8-8d5e-cb0acfe2d916' \
     -H 'accept: application/json' \
     -H 'X-API-KEY: {your API key}' \
     -H 'Content-Type: application/json;odata.metadata=minimal;odata.streaming=true' \
     -d '{
       "title": "Invitation form",
       "message": "Kindly review and sign this.",
       "roles": [
    {
      "roleIndex": 1,
      "signerName": "Richard",
      "signerOrder": 1,
      "signerEmail": "david@cubeflakes.com",
      "privateMessage": "Please check and sign the document.",
      "signerType": "Signer",
      "signerRole": "Manager",
     "formFields": [
    {
      "id": "SignField",
      "fieldType": "Signature",
      "pageNumber": 1,
      "bounds": {
        "x": 100,
        "y": 100,
        "width": 100,
        "height": 50
      },
      "isRequired": true
    },
  ],      
      "locale": "EN"
    }
  ],
  
  "disableEmails": true,
  }`

      var apiClient = new ApiClient("https://api.boldsign.com", "{Your API Key}");
      var templateClient = new TemplateClient(apiClient);
      var signatureField = new FormField(
        id: "sign_id",
        type: FieldType.Signature,
        pageNumber: 1,
        bounds: new Rectangle(x: 100, y: 100, width: 100, height: 50));

      var formFieldsCollections = new List<FormField>
{
  signatureField,
};

      var templateRole = new Roles(
        roleSignerName: "David",
        roleSignerEmailAddress: "david@cubeflakes.com",
        roleSignerIndex: 1,
        formFields: formFieldsCollections,
        locale: Locales.EN);

      var roles = new List<Roles>
{
  templateRole,
};

      var sendForSignFromTemplate = new SendForSignFromTemplate()
      {
          TemplateId = "01c19aef-2dad-476d-b801-7178ef2e1036",
          Roles = roles,
          DisableEmails=true,
      };

      var documentCreated = templateClient.SendUsingTemplate(sendForSignFromTemplate);
      Console.WriteLine(documentCreated.DocumentId.ToString());

import requests

url = "https://api.boldsign.com/v1/template/send?templateId=01c19aef-2dad-476d-b801-7178ef2e1036"

payload = "{\n \"disableEmails\":true, \n  \"roles\": [\n    {\n      \"roleIndex\": 1,\n      \"signerName\": \"David\",\n      \"signerEmail\": \"david@cubeflakes.com\",\n      \"formFields\": [\n        {\n          \"fieldType\": \"Signature\",\n          \"pageNumber\": 1,\n          \"bounds\": {\n            \"x\": 100,\n            \"y\": 100,\n            \"width\": 100,\n            \"height\": 50\n          }\n        }\n      ]\n    }\n  ]\n}"
headers = {
  'accept': 'application/json',
  'X-API-KEY': '{Your API Key}',
  'Content-Type': 'application/json;odata.metadata=minimal;odata.streaming=true'
}

response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

async function GetData(){
const axios = require('axios');
const response = await axios.post(
    'https://api.boldsign.com/v1/template/send',
    {
        'roles': [
            {
                'roleIndex': 1,
                'signerName': 'David',
                'signerEmail': 'david@cubeflakes.com',
                'formFields': [
                    {
                        'fieldType': 'Signature',
                        'pageNumber': 1,
                        'bounds': {
                            'x': 100,
                            'y': 100,
                            'width': 100,
                            'height': 50
                        }
                    }
                ]
            }
        ],
      
      'disableEmails': true,

    },
    {
        params: {
            'templateId': '01c19aef-2dad-476d-b801-7178ef2e1036'
        },
        headers: {
            'accept': 'application/json',
            'X-API-KEY': '{Your API Key}',
            'Content-Type': 'application/json;odata.metadata=minimal;odata.streaming=true'
        }
    }
);

    console.log(JSON.stringify(response.data));

If email notifications disabled, you can obtain the signatures from signers using signing link through embedded signing. You can embed the signing request in your application to facilitate the signature process without sending email notifications.

Code snippet

Here are example codes that can be used to achieve this:


curl -X 'GET' \
  'https://api.boldsign.com/v1/document/getEmbeddedSignLink?DocumentId=17882g56-6686-46d9-dhg3-ce5737751234&SignerEmail=david@cubeflakes.com' \
  -H 'accept: application/json;odata.metadata=minimal;odata.streaming=true' \
  -H 'X-API-KEY: {your API key}'


      var documentClient = new DocumentClient(apiClient);
      EmbeddedSigningLink embeddedSigningLink = await documentClient.GetEmbeddedSignLinkAsync(documentCreated.DocumentId, "david@cubeflakes.com").ConfigureAwait(false);
      string signLink = embeddedSigningLink.SignLink;
      Console.WriteLine(signLink);

url = f"https://api.boldsign.com/v1/document/getEmbeddedSignLink?documentId={response.json()['documentId']}&signerEmail=david@cubeflakes.com"

payload = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)


    const response1 = await axios.get("https://api.boldsign.com/v1/document/getEmbeddedSignLink", {
          headers: {
            'X-API-KEY': '{Your API key}'
        },
          params: { documentId: response.data.documentId, signerEmail: "david@cubeflakes.com" },
        });

        console.log(response1.data.signLink);
      }

In conclusion, enabling the DisableEmails option prevents signers from receiving email notifications. Meanwhile, utilizing embedded signing provides a signing link. Consequently, you can seamlessly acquire the signer's signature within your application using embedded signing.