Articles in this section
Category / Section

How to remove specific fields from a template when sending a signature request via API

Published:
4 mins read

When sending a document generated from a template, you may occasionally need to remove specific form fields that are no longer required. BoldSign makes this possible through its API.

Step 1: Retrieve the Form Field ID
To remove a form field, you first need its unique ID. You can obtain this by using the Properties API, which provides detailed metadata about the form fields in your document. For more information, refer to the Properties API documentation.

Step 2: Remove the Form Field
Once you have the form field ID, use the RemoveFormFields property in your API request to delete the field from the document. This ensures the field is excluded when the document is sent for signing.
Below are the code examples of how to remove a specific form field when sending a document from a template:

Curl

curl -X 'POST' \
'https://api.boldsign.com/v1/template/send?templateId=Your Template ID' \
-H 'accept: application/json' \
-H 'X-API-KEY:{Your API Key} ' \
-H 'Content-Type: application/json' \
-d '{
"title": "This is the title area",
"message": "This is the message area.",
"roles": [
{
"RoleIndex": 1,
"signerName": "Alex Gayle",
"signerEmail": "alexgayle@boldsign.dev",
"signerType": "Signer",
"signerRole": "Signer",
}
],
"removeFormFields":["textbox1"]
}' 

C#

using BoldSign.Api;
using BoldSign.Model;
var apiClient = new ApiClient("https://api.boldsign.com","Your API Key");

var templateClient = new TemplateClient(apiClient);

var templateRole = new Roles(
   roleSignerName:"alex",
   roleSignerEmailAddress:"alexgayle@boldsign.dev",
   roleSignerIndex:1,
   locale: Locales.EN);

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

var sendForSignFromTemplate = new SendForSignFromTemplate()
{
   TemplateId = "Your Template ID",
   Roles = roles,
   RemoveFormFields = new List<string>(){"textbox1"}
};

var documentCreated =  templateClient.SendUsingTemplate(sendForSignFromTemplate); 

Python

import sys
import os
import boldsign
configuration = boldsign.Configuration(
   api_key = os.getenv('Your APi Key'),
   host=os.getenv('BoldSign API URL')
)

with boldsign.ApiClient(configuration) as api_client:

   template_api = boldsign.TemplateApi(api_client)

   
   role = boldsign.Role(
       role_index=1,
       signer_name="alex",
       signer_email="alexgayle@boldsign.dev",
       signerType='Signer',
       locale="EN"
   )

   template_id = "Your Template ID"

   send_for_sign_from_template = boldsign.SendForSignFromTemplateForm(
       title="This is the title area",
       message="This is the message area",
       roles=[role],
       removeFormFields=["textbox1"]
       
   )

   response = template_api.send_using_template(template_id, send_for_sign_from_template)

   print("Template sent successfully. Document ID: {response.document_id}") 

Php

<?php require_once "vendor/autoload.php";

$config = new BoldSign\Configuration();
$config->setApiKey('YOUR_API_Key');

$template_api = new BoldSign\Api\TemplateApi($config);

$role = new BoldSign\Model\Role();
$role->setSignerName('alex');
$role->setSignerEmail('alexgayle@boldsign);

$send_for_sign_from_template = new BoldSign\Model\SendForSignFromTemplateForm();
$files = new \BoldSign\Model\FileInfo();
$send_for_sign_from_template->setFiles([$files]);
$send_for_sign_from_template->setRoles([$role]);
$send_for_sign_from_template->removeFormFields=["textbox1"];

$send_using_template_response = $template_api->sendUsingTemplate($template_id = 'YOUR_TEMPLATE_ID', $send_for_sign_from_template); 

Node Js

import { TemplateApi } from 'boldsign';
import { Role, SendForSignFromTemplateForm } from 'boldsign';
import * as fs from 'fs'; 

const templateApi = new TemplateApi();
templateApi.setApiKey("Your API Key");


var role = new Role();
role.roleIndex = 1;
role.signerName = "alex";
role.signerEmail = "alexgayle@boldsign.dev";
role.signerType =  Role.SignerTypeEnum.Signer;

var templateId = "Your Template ID";

var sendForSignFromTemplate = new SendForSignFromTemplateForm();
sendForSignFromTemplate.removeFromFields=["textbox1"];
// sendForSignFromTemplate.removeFormFields:["textbox"];
sendForSignFromTemplate.title = "This is the title area";
sendForSignFromTemplate.message = "This is the message section";
sendForSignFromTemplate.roles = [role];



async function sendDocumentFromTemplate() {
   try {
       var sendDocumentTemplateResponse = await templateApi.sendUsingTemplate(templateId, sendForSignFromTemplate);
       console.log("Document sent for signing using template successfully:", sendDocumentTemplateResponse);
   } catch (error) {
       console.error("Error occurred while calling the API:", error.message);
   }
}
sendDocumentFromTemplate(); 

Java

import com.boldsign.ApiClient;
import com.boldsign.ApiException;
import com.boldsign.Configuration;
import com.boldsign.api.TemplateApi;
import com.boldsign.model.Role;
import com.boldsign.model.SendForSignFromTemplateForm;

public class TemplateSendDocument
{
   public static void main(String[] args)
   {
       try
       {
           ApiClient apiClient = Configuration.getDefaultApiClient();
           apiClient.setApiKey("You API Key");
           TemplateApi templateApi = new TemplateApi(apiClient);
           Role role = new Role();
           role.setSignerName("alex");
           role.setSignerEmail("alexgayle@boldsign.dev");
           String templateId = "Your Template ID";  
           SendForSignFromTemplateForm sendForSignFromTemplate = new SendForSignFromTemplateForm();
           sendForSignFromTemplate.setRemoveFormFields(java.util.Arrays.asList("textbox1"));
           templateApi.sendUsingTemplate(templateId, sendForSignFromTemplate);
           System.out.println("Document sent for signing using template successfully!");
       }
       catch (ApiException e)
       {
           System.err.println("Error occurred: " + e.getMessage());
       }
   }
} 

In the provided code example, ensure that the values assigned to removeFormFields correspond to the IDs of the form fields you wish to delete. Once the code is executed, those specified fields will be removed from the document when it is sent using the template.

Was this article useful?
Like
Dislike
Help us improve this page
Please provide feedback or comments
Access denied
Access denied