# Edit template

{% put /%}
{% path text="/v1/template/edit" /%}

The Edit Template API allows users to modify the properties of an existing template and draft template. This API facilitates updates to various properties such as the title, description, document message, document title, roles, and form fields associated with the template. Notably, it does not permit alterations to the files linked to the template.

## Partial update

Users can execute partial updates to a template by specifying only the fields they intend to modify. The API will solely modify the provided fields, leaving the remainder unchanged. However, it is limited to top-level properties. When dealing with nested properties within top-level objects, users must provide the complete object for modification.

When you need to update a nested property, you will need to use the template properties API which will retrieve all the properties of the given template. Now, you can modify the required properties within the nested object and send the updated template object to the edit template API.

{% customlink href="/template/template-details/" text="Read more about template properties API" /%}

## Code snippet

In the below example request, we are updating the title of the template and a role associated with the template along with the form fields.

{% codetab %}

cURL


```shell
curl -X PUT 'https://api.boldsign.com/v1/template/edit?templateId=5c305ebe-xxx-xxxx-xxxx-5e285a4f8b0a' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: {API-KEY}' \
-d '{
    "Title": "A new title for template",
    "EnableSigningOrder": false,
    "Roles": [
        {
            "Name": "Manager",
            "Index": 1,
            "DefaultSignerName": "Alex",
            "DefaultSignerEmail": "alexgayle@cubeflakes.com",
            "SignerOrder": 1,
            "SignerType": "Signer",
            "FormFields": [
                {
                    "Id": "Signature1",
                    "FieldType": "Signature",
                    "IsRequired": true,
                    "Bounds": {
                        "X": 625.0,
                        "Y": 293.0,
                        "Width": 124.0,
                        "Height": 32.0
                    },
                    "PageNumber": 1
                }
            ],
            "EnableEditRecipients": true,
            "EnableDeleteRecipients": true
        } 
    ]
}'
```

C#

```csharp
var apiClient = new ApiClient("https://api.boldsign.com", "Your_API_Key");

var templateClient = new TemplateClient(apiClient);

var editTemplateRequest = new EditTemplateRequest("YOUR_TEMPLATE_ID")
{
    Title = "Agreement",
    Roles =
    [
        new TemplateRole()
        {
            Index = 1,
            Name = "HR",
            DefaultSignerName = "David",
            DefaultSignerEmail = "david@cubeflakes.com",
            SignerType = SignerType.Signer,
        }
    ],
    EnableSigningOrder = false
};

templateClient.EditTemplate(editTemplateRequest);
```

Python

```python
import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key="YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:

    template_api = boldsign.TemplateApi(api_client)
    
    role = boldsign.TemplateRole(
        index=1,
        name="Manager",
        defaultSignerName="Alex Gayle",
        defaultSignerEmail="alexgayle@boldsign.dev",
        signerType="Signer")
        
    edit_template_request = boldsign.EditTemplateRequest(   
        title="A new title for template",
        enableSigningOrder=False,
        roles=[role])
    
    template_api.edit_template(template_id  = "YOUR_TEMPLATE_ID", edit_template_request=edit_template_request)
```

PHP

```php
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\TemplateApi;
use BoldSign\Model\{TemplateRole, EditTemplateRequest};

$config = new Configuration();
$config->setHost('https://api.boldsign.com');
$config->setApiKey('YOUR_API_KEY');

$template_api = new TemplateApi($config);

$role = new TemplateRole();
$role->setIndex(1);
$role->setName('Hr');
$role->setDefaultSignerName('Alex Gayle');
$role->setDefaultSignerEmail('alexgayle@boldsign.dev');
$role->setSignerType('Signer');

$edit_template_request = new EditTemplateRequest();
$edit_template_request->setTitle('A new title for template');
$edit_template_request->setEnableSigningOrder(false);
$edit_template_request->setRoles([$role]);

$template_api->editTemplate($template_id = 'YOUR_TEMPLATE_ID', $edit_template_request);
```

Java

```java
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
            
TemplateApi templateApi = new TemplateApi(client);

TemplateRole templateRole = new TemplateRole();
templateRole.setIndex(1);
templateRole.setName("Manager");
templateRole.setDefaultSignerName("Alex Gayle");
templateRole.setDefaultSignerEmail("alexgayle@boldsign.dev");
templateRole.setSignerType(TemplateRole.SignerTypeEnum.SIGNER);

EditTemplateRequest editTemplateRequest = new EditTemplateRequest();
editTemplateRequest.setTitle("A new title for template");
editTemplateRequest.setEnableSigningOrder(false);
editTemplateRequest.setRoles(Arrays.asList(templateRole));

templateApi.editTemplate("YOUR_TEMPLATE_ID", editTemplateRequest);
```

NodeJS

```js
import { TemplateApi, EditTemplateRequest, TemplateRole } from "boldsign";

const templateApi = new TemplateApi("https://api.boldsign.com");
templateApi.setApiKey("YOUR_API_KEY");

const role = new TemplateRole();
role.index = 1;
role.name = "HR";
role.defaultSignerName = "Alex Gayle";
role.defaultSignerEmail = "alexgayle@boldsign.dev";
role.signerType = TemplateRole.SignerTypeEnum.Signer;

const editTemplateRequest = new EditTemplateRequest();
editTemplateRequest.title = "Updated Template Title";
editTemplateRequest.enableSigningOrder = false;
editTemplateRequest.roles = [role];

templateApi.editTemplate("YOUR_TEMPLATE_ID", editTemplateRequest);
```

{% /codetab %}

## Query Parameters

{% nestedtable %}

- {% arguments name="templateId" /%}{% batch datatype="string" /%}{% required /%}
- The unique identifier of the template to update.

{% /nestedtable %}


## Request body

{% nestedtable %}

- {% arguments name="Title" /%}{% batch datatype="string" /%}
- The title of the template.

---

- {% arguments name="Description" /%}{% batch datatype="string" /%}
- The description of the template.

---

- {% arguments name="DocumentTitle" /%}{% batch datatype="string" /%}
- This is the name of the document that will be displayed in the BoldSign user interface as well as in the signature request email.

---

- {% arguments name="DocumentMessage" /%}{% batch datatype="string" /%}
- The message that will be seen by all recipients. You can include any instructions related to this document that the signer should be aware of before signing.

---

- {% arguments name="Roles" /%}{% batch datatype="array" /%}
- A role is simply a placeholder for a real person. For example, if we have a purchase order that will always be signed by two people, one from the company and one from the customer, we can create a template with two roles, `Customer` and `Representative`.
  {% nestedtable %}

  - {% arguments name="Name" /%}{% batch datatype="string" /%}
  - The name of the Role.

  ---

  - {% arguments name="Index" /%}{% batch datatype="integer" /%}{% required /%}
  - The `index` represents the position of a role in a sequence. The role index should be in linear increments for each role (1, 2, 3, and so on). The index value must be between 1 and 50.

  ---

  - {% arguments name="DefaultSignerName" /%}{% batch datatype="string" /%}
  - The signer name of the document. This name appears in all email communications, signing notifications, and the audit file.

  ---

  - {% arguments name="DefaultSignerEmail" /%}{% batch datatype="string" /%}
  - The signer email of the document. This email appears in all email communications, signing notifications, and the audit file.

  ---

  - {% arguments name="SignerOrder" /%}{% batch datatype="integer" /%}
  - The order of the signer. When you enable the signing order option, this will be required. The value must be between `1` and `50`.

  ---

  - {% arguments name="SignerType" /%}{% batch datatype="string" /%}
  - The type of the signer and the values are `Signer`, `Reviewer`, and `InPersonSigner`.

  ---

  - {% arguments name="SignType" /%}{% batch datatype="enum" /%}
  - Specifies whether the recipient is an individual signer (`Single`) or a contact group signer (`Group`). If not specified, it defaults to `Single`.

  ---

  - {% arguments name="DefaultGroupId" /%}{% batch datatype="string" /%}
  - The identifier of the contact group to be used as the signer. You can obtain it from the Contact Groups API.

  ---

  - {% arguments name="HostEmail" /%}{% batch datatype="string" /%}
  - The host email address. It is a required property when the signerType is set to `InPersonSigner`. Your organization should have HostEmail.

  ---

  - {% arguments name="Language" /%}{% batch datatype="integer" /%}
  - The language for the signer. The supported languages are `1-English`, `2-Spanish`, `3-German`, `4-French`, and `5-Romanian`. Note that 'locale' should now be used instead of 'language' as it has replaced the deprecated term. The default language is `1-English` .

  ---

  - {% arguments name="Locale" /%}{% batch datatype="string" /%}
  - Specify the language index for rendering document signing pages and emails for the signer, choosing from the supported locales such as `EN-English`, `NO-Norwegian`, `FR-French`, `DE-German`,`ES-Spanish`, `BG-Bulgarian`, `CS-Czech`, `DA-Danish`,`IT-Italian`, `NL-Dutch`, `PL-Polish`, `PT-Portuguese`,`RO-Romanian`, `RU-Russian`, `JA-Japanese`, `TH-Thai`, `ZH_CN-Simplified Chinese`, `Zh_TW-Traditional Chinese`, `Korean`, and `SV-Swedish`. The default locale language is `EN-English` .

  ---

  - {% arguments name="ImposeAuthentication" /%}{% batch datatype="string" /%}
  - This is used to allow authentication for a specific signer. We have three types of authentication. They are `AccessCode` , `EmailOTP`, `SMSOTP` and `IdVerification`. The default value is `None`.

  ---

  - {% arguments name="PhoneNumber" /%}{% batch datatype="object" /%}
  - When the delivery mode is set to `SMS` or `EmailAndSMS`, you can provide the phone number with the country code.
    {% nestedtable %}

    - {% arguments name="CountryCode" /%}{% batch datatype="string" /%}
    - This property represents the country code associated with the phone number.

    ---

    - {% arguments name="Number" /%}{% batch datatype="string" /%}
    - This property represents the actual phone number.

    {% /nestedtable %}

  ---

  - {% arguments name="DeliveryMode" /%}{% batch datatype="string" /%}
  - This property allows you to specify the desired delivery mode for sending notifications. We have three types of delivery modes. They are `Email` , `SMS` and `EmailAndSMS`. The default value is `Email`.

  ---

  - {% arguments name="AllowFieldConfiguration" /%}{% batch datatype="boolean" /%}
  - This option enables the signer to add fields at their end while signing the document. If this option is set to `false`, the signer cannot add fields, and they must complete the assigned ones. By default, it is set to false.

  ---

  - {% arguments name="FormFields" /%}{% batch datatype="array" /%}
  - List of fields associated with the signer.
    {% nestedtable %}

    - {% arguments name="Id" /%}{% batch datatype="string" /%}
    - The id of the form field. ID must start with a letter or an underscore and can only contain letters, digits, and underscores.

    ---

    - {% arguments name="Name" /%}{% batch datatype="string" /%}
    - The name of the form field.

    ---

    - {% arguments name="FieldType" /%}{% batch datatype="string" /%}
    - Type of the form field. The available values are `Signature`, `Initial`, `CheckBox`, `TextBox`, `Label`, `DateSigned`, `Image`, `Attachment`, `EditableDate`, `Hyperlink`, `Formula`, `Dropdown` and `Drawing`. The `Formula` field is only available in the beta version.
      ** Note:**
      To add `Email`, `Name`, `Title`, and `Company` fields via API, use `TextBox` fields with the validation type set to `Regex` .

    ---

    - {% arguments name="PageNumber" /%}{% batch datatype="integer" /%}
    - This will be used to specify which page the form field should be placed on. The page number must be greater than zero.

    ---

    - {% arguments name="Bounds" /%}{% batch datatype="object" /%}
    - This will contain the form field's x and y coordinates, width, and height.
      {% nestedtable %}

      - {% arguments name="X" /%}{% batch datatype="float" /%}
      - The form field's x coordinate value.

      ---

      - {% arguments name="Y" /%}{% batch datatype="float" /%}
      - The form field's y coordinate value.

      ---

      - {% arguments name="Width" /%}{% batch datatype="float" /%}
      - The form field's width. The width must be greater than zero.

      ---

      - {% arguments name="Height" /%}{% batch datatype="float" /%}
      - The form field's height. The height must be greater than zero.

      {% /nestedtable %}

    ---

    - {% arguments name="IsRequired" /%}{% batch datatype="boolean" /%}
    - When disabled, the signer does not want to fill out the form field. The default value is `true`.

    ---

    - {% arguments name="IsMasked" /%}{% batch datatype="Nullable boolean" /%}
    - Decides whether this form field should be masked so that its value is hidden from other signers present in the document.

    ---

    - {% arguments name="TabIndex" /%}{% batch datatype="Nullable int" /%}
    - Assign tab index to control the flow of field focus while using `TAB` key navigation. Default to `null`, which denotes it will follow regular flow. The accepted range starts from `-1` to a valid `integer`.
    ---
    - {% arguments name="Label" /%}{% batch datatype="string" /%}
    - The label used to represent the value for a radio button. Also, can be used to prefill a radio button.
    ---

    - {% arguments name="Value" /%}{% batch datatype="string" /%}
    - The value of the form field.

    ---

    - {% arguments name="FontSize" /%}{% batch datatype="integer" /%}
    - The fontsize of the form field. The default size font is **13.0** .

    ---

    - {% arguments name="Font" /%}{% batch datatype="string" /%}
    -  Font family. The values are `Courier`, ` Helvetica`, ` TimesNewRoman`, and ` NotoSans`. The default font family is ` Helvetica`.

    ---

    - {% arguments name="FontHexColor" /%}{% batch datatype="string" /%}
    - The font color of the form field.

    ---

    - {% arguments name="IsBoldFont" /%}{% batch datatype="boolean" /%}
    - When enabled, the font will be displayed in bold.

    ---

    - {% arguments name="IsItalicFont" /%}{% batch datatype="boolean" /%}
    - When enabled, the font will be italic.

    ---

    - {% arguments name="IsUnderLineFont" /%}{% batch datatype="boolean" /%}
    - When enabled, the font will be displayed in Underline format.

    ---

    - {% arguments name="LineHeight" /%}{% batch datatype="integer" /%}
    - The line height of the form field. The default line height is **15.0** .

    ---

    - {% arguments name="CharacterLimit" /%}{% batch datatype="integer" /%}
    - The character limit in the form field. The character limit value must be greater than zero.

    ---

    - {% arguments name="GroupName" /%}{% batch datatype="string" /%}
    - The groupName of the form field. This field is required when the type is set to `RadioButton`.

    ---

    - {% arguments name="PlaceHolder" /%}{% batch datatype="string" /%}
    - The placeholder of the form field.

    ---

    - {% arguments name="ValidationType" /%}{% batch datatype="string" /%}
    - The validation type of the text box form field. The available values are `None`, `NumbersOnly`, `EmailAddress`, `Currency`, and `CustomRegex`. The default value is `None`.

    ---

    - {% arguments name="ValidationCustomRegex" /%}{% batch datatype="string" /%}
    - The custom regex of the text box form field. When we set the ValidationType to `CustomRegex`, it will be required.

    ---

    - {% arguments name="ValidationCustomRegexMessage" /%}{% batch datatype="string" /%}
    - The text box field's custom regex message. This message is displayed when the signer enters an invalid regex format value in the text box form field while signing the document.

    ---

    - {% arguments name="DateFormat" /%}{% batch datatype="string" /%}
    - Format of the date to be displayed on the date signed form field. The default value is `MM/dd/yyyy`. When `null` is provided, the value is inherited from the business profile settings of your account. 
    Accepted formats are 
      - `MM/dd/yyyy` (02/08/2024)
      - `dd/MM/yyyy` (08/02/2024)
      - `dd-MMM-yyyy` (08-Feb-2024)
      - `MMM-dd-yyyy` (Feb-08-2024)
      - `MMM dd, yyyy` (Feb 08, 2024)
      - `dd MMM, yyyy` (08 Feb, 2024)
      - `yyyy, MMM dd` (2024, Feb 08)
      - `yyyy/MM/dd` (2024/02/08)
      - `dd-MM-yyyy` (08-02-2024)
      - `MM-dd-yyyy` (02-08-2024)
      - `yyyy-MM-dd` (2024-02-08)

    ---

    - {% arguments name="TimeFormat" /%}{% batch datatype="string" /%}
    - Format of the time to be displayed on the date signed form field. When `null` is provided, the value is inherited from the business profile settings of your account. 
    Accepted formats are 
      - `hh:mm tt` (12:30 PM)
      - `h:mm tt` (2:45 PM)
      - `HH:mm` (14:30)
      - `H:mm` (9:15)
      - `hh:mm:ss tt` (12:30:15 PM)
      - `h:mm:ss tt` (2:45:30 PM)
      - `HH:mm:ss` (14:30:10)
      - `H:mm:ss` (9:15:40)
      - `None` (Disabled, no time will be displayed)

    ---

    - {% arguments name="ImageInfo" /%}{% batch datatype="object" /%}
    - The information about the image field.
      {% nestedtable %}

      - {% arguments name="Title" /%}{% batch datatype="string" /%}
      - The title of the image.

      ---

      - {% arguments name="Description" /%}{% batch datatype="string" /%}
      - The description of the image.

      ---

      - {% arguments name="AllowedFileExtensions" /%}{% batch datatype="string" /%}
      - This includes file extensions such as `.jpg` or `.jpeg`, `.svg`, `.png`, and `.bmp`.

      {% /nestedtable %}

    ---

    - {% arguments name="AttachmentInfo" /%}{% batch datatype="object" /%}
    - The information about the attachment field.
      {% nestedtable %}

      - {% arguments name="Title" /%}{% batch datatype="string" /%}
      - The title of the attachment.

      ---

      - {% arguments name="Description" /%}{% batch datatype="string" /%}
      - The description of the attachment.

      ---

      - {% arguments name="AllowedFileTypes" /%}{% batch datatype="string" /%}
      - The file types that can be used are `.pdf`, `.docx`, `.jpg`, `.jpeg`, `.png`, `.xlsx` and `.pptx`.

      {% /nestedtable %}

    ---

    - {% arguments name="EditableDateFieldSettings" /%}{% batch datatype="object" /%}
    - The settings for the editable date form field and it contains date format, min and max values.
      {% nestedtable %}

      - {% arguments name="DateFormat" /%}{% batch datatype="string" /%}
      - BoldSign API supports a variety of date-time formats, including:

          - `MM/dd/yyyy`
          - `dd/MM/yyyy`
          - `dd-MMM-yyyy`
          - `MMM-dd-yyyy`
          - `MMM dd,yyyy`
          - `dd MMM,yyyy`
          - `yyyy,MMM dd`
          - `yyyy/MM/dd`
          - `dd-MM-yyyy`
          - `MM-dd-yyyy`
          - `yyyy-MM-dd`

          Format of the date to be displayed on the date signed form field. The default value is `MM/dd/yyyy`.

      ---

        - {% arguments name="MinDate" /%}{% batch datatype="string" /%}
        - The minimum date that can be selected. The string should be in date-time format.
          The default ISO standard `YYYY-MM-DDTHH:MM:SSZ`.
          ##### Example Format 
          minDate : `2024-01-01T00:00:00Z`

          The date-time should be passed in UTC timezone using Z (e.g., `2024-01-01T00:00:00Z`).

          If using a specific timezone, provide the UTC offset:
            - IST (UTC+5:30): `2024-01-01T00:00:00+05:30`
            - PST (UTC-8:00): `2024-01-01T00:00:00-08:00`

        ---

        - {% arguments name="MaxDate " /%}{% batch datatype="string" /%}
        - The maximum date that can be selected. The string should be in date-time format.
          The default ISO 8601 standard `YYYY-MM-DDTHH:MM:SSZ`.
          ##### Example Format 
          maxDate : `2025-12-31T23:59:59Z`

          Pass the date-time in UTC timezone using Z (e.g., `2025-12-31T23:59:59Z`).

          For specific timezones, provide the UTC offset:
            - EST (UTC-5:00): `2025-12-31T23:59:59-05:00`
            - CET (UTC+1:00): `2025-12-31T23:59:59+01:00`

        ---
        - {% arguments name="TimeFormat" /%}{% batch datatype="string" /%}
        - Format of the time to be displayed on the editable date form field. When `null` is provided, the value is set to `none`.
          Accepted formats are
          - `hh:mm tt` (12:30 PM)
          - `h:mm tt` (2:45 PM)
          - `HH:mm` (14:30)
          - `H:mm` (9:15)
          - `hh:mm:ss tt` (12:30:10 PM)
          - `h:mm:ss tt` (2:45:20 PM)
          - `HH:mm:ss` (14:30:20)
          - `H:mm:ss` (9:15:10)
          - `None` (Disabled, no time will be displayed)

      {% /nestedtable %}

    ---

    - {% arguments name="HyperlinkText" /%}{% batch datatype="string" /%}
    - The text of the hyperlink form field.

    ---

    - {% arguments name="DataSyncTag" /%}{% batch datatype="string" /%}
    - The value of the dataSync tag.

    ---

    - {% arguments name="DropdownOptions" /%}{% batch datatype="array" /%}
    - The options of the dropdown form field.

     ---

    - {% arguments name="TextAlign" /%}{% batch datatype="string" /%}
    - Determines the horizontal alignment of text for the textbox and label form fields, and can be set to `Left`, `Center`, or `Right`. The default of alignment of text is `Left`.

    ---
    - {% arguments name="TextDirection" /%}{% batch datatype="string" /%}
    - Determines the text direction of text for the textbox and label form fields, and can be set to `LTR` or `RTL`. The default text direction is `LTR`.

    ---

    - {% arguments name="CharacterSpacing" /%}{% batch datatype="float" /%}
    - Determines the character spacing of text for the textbox and label form fields. It can be set as a floating-point value.

    ---

    - {% arguments name="FormulaFieldSettings" /%}{% batch datatype="object" /%}
    - Options to configure formula field.
      {% nestedtable %}

      - {% arguments name="FormulaExpression" /%}{% batch datatype="string" /%}
      - This property is used to specify the formula as a string define the calculation or expression for the formula field.

      ---

      - {% arguments name="DecimalPrecision" /%}{% batch datatype="integer" /%}
      - This property is used to determines the decimal rounding precision for the computed result.

      {% /nestedtable %}
    ---
    - {% arguments name="ResizeOption" /%}{% batch datatype="enum" /%}
    - Defines how the Textbox form field resizes based on the entered text. The available values are `GrowHorizontally`, `GrowVertically`, `GrowBoth`, `FixedSize`, and `AutoResizeFont`.
  
    ---

    - {% arguments name="AllowDeleteFormField" /%}{% batch datatype="Nullable boolean" /%}
    - When this is enabled, the template sender can remove the form fields when sending the document. This property is set to `true` by default.
  
    ---

    - {% arguments name="AllowEditFormField" /%}{% batch datatype="Nullable boolean" /%}
    - Enables or disables the ability for the template sender to make changes to the form fields when sending the document. Defaults to `true`, allowing modifications unless explicitly set to `false`. 
  
    ---

    - {% arguments name="IsDefaultValueRequired" /%}{% batch datatype="Nullable boolean" /%}
    - Enabling this option requires the sender to specify default values for form fields when sending a document. By default, this setting is not enforced. The requirement is applied only when the option is explicitly set to `true`.

    ---

    - {% arguments name="CollaborationSettings" /%}{% batch datatype="object" /%}
    - Options to configure collaboration settings for form field.
      {% nestedtable %}

      - {% arguments name="IsRequired" /%}{% batch datatype="Nullable boolean" /%}
      - This property is used to specify whether collaborative fields are mandatory for signers collaborating on the document.

      ---

      - {% arguments name="RequireSignerApproval" /%}{% batch datatype="Nullable boolean" /%}
      - This property is used to specify whether signers need to verify and approve the document after collaborators have made changes to the collaborative fields.

      ---

      - {% arguments name="RequireInitial" /%}{% batch datatype="Nullable boolean" /%}
      - This property is used to specify whether the collaborators must fill in their initials when editing collaborative fields.

      ---

      - {% arguments name="AllowedSigners" /%}{% batch datatype="String array" /%}
      - This property is used to specify the list of role indexes who are allowed to collaborate on editing this field.

      {% /nestedtable %} 

    {% /nestedtable %}

  ---

  - {% arguments name="AllowRoleEdit" /%}{% batch datatype="boolean" /%}
  - You can't change the signer details while sending the document out for signature if it's disabled. The default value is `true`.

  ---

  - {% arguments name="AllowRoleDelete" /%}{% batch datatype="boolean" /%}
  - You can't remove the signer details while sending the document out for signature if it's disabled. The default value is `true`.

  ---

  - {% arguments name="RecipientNotificationSettings" /%}{% batch datatype="object" /%}
  - Control email notifications to recipients by configuring the properties within `recipientNotificationSettings`.
    {% nestedtable %}

    - {% arguments name="SignatureRequest" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when a document is sent.

    ---

    - {% arguments name="Declined" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when a document is declined.

    ---

    - {% arguments name="Revoked" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when a document is revoked.

    ---

    - {% arguments name="Signed" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when a document is signed by other recipient.

    ---

    - {% arguments name="Completed" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when the document is completed.

    ---

    - {% arguments name="Expired" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when a document expires.

    ---

    - {% arguments name="Reassigned" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when the document is reassigned.

    ---

    - {% arguments name="Deleted" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when a document is deleted.

    ---

    - {% arguments name="Reminders" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should receive reminders for pending signature requests.

    ---

    - {% arguments name="EditRecipient" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when there is an change in the recipient.

    ---

    - {% arguments name="EditDocument" /%}{% batch datatype="boolean" /%}
    - Indicates whether the recipient should be notified when a document is edited.

    {% /nestedtable %}
  
  ---

  - {% arguments name="EnableQes" /%}{% batch datatype="Nullable boolean" /%}
  - When set to true, the signer will be allowed to sign the document with a qualified electronic signature (QES). It can only be assigned to a single signer. When there are multiple signers in a document, the signer order option should be enabled to ensure only the last person in the document is enabled with QES, and the last signer order also should not have multiple signers.

  ---

  {% /nestedtable %}

---

- {% arguments name="AllowNewFiles" /%}{% batch datatype="boolean" /%}
-  When set to true, the sender can add new files while using this template to send signature requests. If set to false, the sender will not be able to add new files.

  Defaults to true.

---

- {% arguments name="AllowModifyFiles" /%}{% batch datatype="Nullable boolean" /%}
-  When set to true, the sender can replace or delete existing files while using this template to send signature requests. If set to false, the sender will not have the ability to replace or delete files. If set to null, the existing template setting is preserved.

  Defaults to true.

---


- {% arguments name="CC" /%}{% batch datatype="array" /%}
- You can add anyone who needs to receive a copy of the signed document by adding their email address.

---

- {% arguments name="BrandId" /%}{% batch datatype="string" /%}
- You can customize the branding of signature request emails and document signing pages with your own colors, logos, and other elements. The brand id can be obtained from both the branding API and the web app branding page.

---

- {% arguments name="AllowMessageEditing" /%}{% batch datatype="boolean" /%}
- When disabled, you cannot change the message while creating a document with this template. The default value is `true`.

---

- {% arguments name="AllowNewRoles" /%}{% batch datatype="boolean" /%}
- When disabled, you cannot add additional signers to the document. The default value is `true`.

---

- {% arguments name="EnableReassign" /%}{% batch datatype="boolean" /%}
- When disabled, the reassign option is not available after sending the document out of signature. The default value is `true`.

---

- {% arguments name="EnablePrintAndSign" /%}{% batch datatype="boolean" /%}
- When enabled, the document can be printed and signed offline. The default value is `false`.

---

- {% arguments name="EnableSigningOrder" /%}{% batch datatype="boolean" /%}
- When enabled, signers can only sign the document in the order specified. Furthermore, the next signer will be notified when the previous signer has signed the document. The default value is `false`.

---

- {% arguments name="DocumentInfo" /%}{% batch datatype="array" /%}
- This is used to specify the title and description of the document in the various supported languages.
  {% nestedtable %}

  - {% arguments name="Language" /%}{% batch datatype="integer" /%}
  - The language of the document. The supported languages are `1-English`, `2-Spanish`, `3-German`, `4-French`, and `5-Romanian`. Note that 'locale' should now be used instead of 'language' as it has replaced the deprecated term. The default language is `1-English` .

  ---

  - {% arguments name="Title" /%}{% batch datatype="string" /%}
  - The title of the document.

  ---

  - {% arguments name="Description" /%}{% batch datatype="string" /%}
  - The description of the document.

  ---

  - {% arguments name="Locale" /%}{% batch datatype="string" /%}
  - Specify the language index for rendering document signing pages and emails for the signer, choosing from the supported locales such as `EN-English`, `NO-Norwegian`, `FR-French`, `DE-German`,`ES-Spanish`, `BG-Bulgarian`, `CS-Czech`, `DA-Danish`,`IT-Italian`, `NL-Dutch`, `PL-Polish`, `PT-Portuguese`,`RO-Romanian`, `RU-Russian`, and `SV-Swedish`. The default locale language is `EN-English` .

  {% /nestedtable %}

---

- {% arguments name="UseTextTags" /%}{% batch datatype="boolean" /%}
- When enabled, it will convert all the tags defined in the document to BoldSign form fields. The default value is `false`.

---

- {% arguments name="TextTagDefinitions" /%}{% batch datatype="array" /%}
- This can be used for the long text tag handling.
  {% nestedtable %}

  - {% arguments name="DefinitionId" /%}{% batch datatype="string" /%}
  - The definition id of the text tag.

  ---

  - {% arguments name="Type" /%}{% batch datatype="string" /%}
  - The type of the form field.

  ---

  - {% arguments name="SignerIndex" /%}{% batch datatype="integer" /%}
  - The signer index of the form field.

  ---

  - {% arguments name="IsRequired" /%}{% batch datatype="boolean" /%}
  - When disabled, the signer is not required to fill out the specific form field. The default value is `true`.

  ---

  - {% arguments name="IsMasked" /%}{% batch datatype="Nullable boolean" /%}
  - Decides whether this form field should be masked so that its value is hidden from other signers present in the document.

  ---

  - {% arguments name="Placeholder" /%}{% batch datatype="string" /%}
  - The placeholder of the form field.

  ---
  - {% arguments name="TabIndex" /%}{% batch datatype="Nullable int" /%}
  - Assign tab index to control the flow of field focus while using `TAB` key navigation. Default to `null`, which denotes it will follow regular flow. The accepted range starts from `-1` to a valid `integer`.
  ---
  - {% arguments name="Label" /%}{% batch datatype="string" /%}
  - The label used to represent the value for a radio button. Also, can be used to prefill a radio button.
  ---

  - {% arguments name="FieldId" /%}{% batch datatype="string" /%}
  - The field id of the form field.

  ---

  - {% arguments name="Font" /%}{% batch datatype="object" /%}
  - The font of the form field.
    {% nestedtable %}

    - {% arguments name="Name" /%}{% batch datatype="string" /%}
    - The name of the font in form field. The values are `Courier`, ` Helvetica`, ` TimesNewRoman`, and ` NotoSans`. The default font family is ` Helvetica`.

    ---

    - {% arguments name="Color" /%}{% batch datatype="string" /%}
    - The font color of the form field.

    ---

    - {% arguments name="Size" /%}{% batch datatype="Nullable float" /%}
    - The font size of the form field.

    ---

    - {% arguments name="Style" /%}{% batch datatype="string" /%}
    - The font style of the form field. The default font style is `Regular` .

    ---

    - {% arguments name="LineHeight" /%}{% batch datatype="Nullable int" /%}
    - The lineheight of the form field.

    {% /nestedtable %}

  ---

  - {% arguments name="Validation" /%}{% batch datatype="object" /%}
  - When we select the type as `TextBox`, the validation of the form field is required.
    {% nestedtable %}

    - {% arguments name="Type" /%}{% batch datatype="string" /%}
    - The validation type of the text box form field. The available values are `None`, `NumbersOnly`, `EmailAddress`, `Currency`, and  `CustomRegex`. The default value is `None`.

    ---

    - {% arguments name="Regex" /%}{% batch datatype="string" /%}
    - The custom regex of the text box form field. When we set the ValidationType to `CustomRegex`, it will be required.

    {% /nestedtable %}

  ---

  - {% arguments name="Size" /%}{% batch datatype="object" /%}
  - This can be used to specify the form field's height and width.
    {% nestedtable %}

    - {% arguments name="Width" /%}{% batch datatype="float" /%}
    - The width of the form field. The width must be greater than zero.

    ---

    - {% arguments name="Height" /%}{% batch datatype="float" /%}
    - The height of the form field. The height must be greater than zero.

    {% /nestedtable %}

  ---

  - {% arguments name="DateFormat" /%}{% batch datatype="string" /%}
  - Format of the date to be displayed on the date signed form field. The default value is `MM/dd/yyyy`. When `null` is provided, the value is inherited from the business profile settings of your account. 
    Accepted formats are 
      - `MM/dd/yyyy` (02/08/2024)
      - `dd/MM/yyyy` (08/02/2024)
      - `dd-MMM-yyyy` (08-Feb-2024)
      - `MMM-dd-yyyy` (Feb-08-2024)
      - `MMM dd, yyyy` (Feb 08, 2024)
      - `dd MMM, yyyy` (08 Feb, 2024)
      - `yyyy, MMM dd` (2024, Feb 08)
      - `yyyy/MM/dd` (2024/02/08)
      - `dd-MM-yyyy` (08-02-2024)
      - `MM-dd-yyyy` (02-08-2024)
      - `yyyy-MM-dd` (2024-02-08)

  ---

  - {% arguments name="TimeFormat" /%}{% batch datatype="string" /%}
  - Format of the time to be displayed on the date signed form field. When `null` is provided, the value is inherited from the business profile settings of your account. 
    Accepted formats are 
      - `hh:mm tt` (12:30 PM)
      - `h:mm tt` (2:45 PM)
      - `HH:mm` (14:30)
      - `H:mm` (9:15)
      - `hh:mm:ss tt` (12:30:15 PM)
      - `h:mm:ss tt` (2:45:30 PM)
      - `HH:mm:ss` (14:30:10)
      - `H:mm:ss` (9:15:40)
      - `None` (Disabled, no time will be displayed)

  ---

  - {% arguments name="RadioGroupName" /%}{% batch datatype="string" /%}
  - The form field's groupName, which is required when we set the type `RadioButton`.

  ---

  - {% arguments name="Value" /%}{% batch datatype="string" /%}
  - The value of the form field.

  ---

  - {% arguments name="DropdownOptions" /%}{% batch datatype="array" /%}
  - The options of the dropdown form field.

  ---

  - {% arguments name="OffSet" /%}{% batch datatype="object" /%}
  - Specifies the offset positioning for the text tag, allowing adjustments to its location relative to the computed position. The computed value after value must remain within the page dimensions.
    {% nestedtable %}

    - {% arguments name="OffSetX" /%}{% batch datatype="double" /%}
    -  Adjusts the text tag's position horizontally (left or right).

    ---

    - {% arguments name="OffSetY" /%}{% batch datatype="double" /%}
    - Adjusts the text tag's position vertically (top or bottom).

    {% /nestedtable %}
  {% /nestedtable %}

---

- {% arguments name="AutoDetectFields" /%}{% batch datatype="boolean" /%}
- When enabled, it will convert all the fillable form fields in the document to BoldSign form fields. BoldSign supports Textbox, Checkbox, Radio button, and Signature form fields. Other fields will not be detected as of now. The default value is `false`.

---

- {% arguments name="Labels" /%}{% batch datatype="string[ ]" /%}
- The labels (Tags) that will be assigned to the document when a document is created using this template which can be used to categorize and filter the documents.  Labels cannot contain whitespaces and must not exceed 255 characters.

---

- {% arguments name="FormGroups" /%}{% batch datatype="array" /%}
- Manages the rules and configuration of grouped form fields.
  {% nestedtable %}

  - {% arguments name="MinimumCount" /%}{% batch datatype="integer" /%}
  - The minimum number of items that must be selected in a form group. The minimum count value must be greater than zero.

  ---

  - {% arguments name="MaximumCount" /%}{% batch datatype="integer" /%}
  - The maximum number of items that must be selected in a form group. The maximum count value must be greater than zero.

  ---

  - {% arguments name="DataSyncTag" /%}{% batch datatype="string" /%}
  - The data sync tag of the form group.

  ---

  - {% arguments name="GroupNames" /%}{% batch datatype="array" /%}
  - The group names to which this form group rule should be applied.

  ---

  - {% arguments name="GroupValidation" /%}{% batch datatype="string" /%}
  - Specify the form group validation type, the available validations are `Minimum`, `Maximum`, `Absolute`, and `Range`.

  {% /nestedtable %}

---

- {% arguments name="TemplateLabels" /%}{% batch datatype="string[ ]" /%}
- The template labels (Tags) are added to the template to categorize and filter the documents.

---

- {% arguments name="OnBehalfOf" /%}{% batch datatype="string" /%}
- The email address of the user that was used to create the template on their behalf.

---

  - {% arguments name="FormFieldPermission" /%}{% batch datatype="object" /%}
  - Configure form field permission when this template is used to create a document.
    {% nestedtable %}

    - {% arguments name="CanAdd" /%}{% batch datatype="boolean" /%}
    - Setting this property to `true` will allow the sender to add new form fields to the document. To block adding new form fields, set this to `false`. Defaults to `true`.

    ---

    - {% arguments name="CanModify" /%}{% batch datatype="boolean" /%}
    - Setting this property to `true` will allow the sender to modify or delete existing form fields configured in the template. To block this, set it to `false`. Defaults to `true`.

    ---

    - {% arguments name="CanModifyDefaultValue" /%}{% batch datatype="boolean" /%}
    - Setting this property to `true` will allow the sender to modify only default values (prefilling) of the existing form fields configured in the template. When `CanModify` is set to `true`, it will take precedence over this property and allow the sender to modify everything. Defaults to `false`.

    {% /nestedtable %}
    
---

- {% arguments name="AllowedSignatureTypes" /%}{% batch datatype="array" /%}
- Defines the signature input options available to the signer during the signing process. This property customizes the signature and initial field dialog by controlling which signature input methods are shown to the signer. The available signature types are: `Text`, `Draw`, and `Image`.

---

- {% arguments name="RecipientNotificationSettings" /%}{% batch datatype="object" /%}
- Control email notifications to recipients or CC collectively by configuring properties within `recipientNotificationSettings`.
  {% nestedtable %}

  - {% arguments name="SignatureRequest" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient or CC should be notified when a document is sent.

  ---

  - {% arguments name="Declined" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient or CC should be notified when a document is declined.

  ---

  - {% arguments name="Revoked" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient or CC should be notified when a document is revoked.

  ---

  - {% arguments name="Signed" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient or CC should be notified when a document is signed by other recipient.

  ---

  - {% arguments name="Completed" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient or CC should be notified when the document is completed.

  ---

  - {% arguments name="Expired" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient or CC should be notified when a document expires.

  ---

  - {% arguments name="Reassigned" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient or CC should be notified when the document is reassigned.

  ---

  - {% arguments name="Deleted" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient or CC should be notified when a document is deleted.

  ---

  - {% arguments name="Reminders" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient should receive reminders for pending signature requests.

  ---

  - {% arguments name="EditRecipient" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient should be notified when there is a change in the recipient.

  ---

  - {% arguments name="EditDocument" /%}{% batch datatype="boolean" /%}
  - Indicates whether the recipient or CC should be notified when the document is edited.

  ---

  - {% arguments name="Viewed" /%}{% batch datatype="boolean" /%}
  - Indicates whether the CC should be notified when the document is viewed.

  {% /nestedtable %}

---

- {% arguments name="EnableAllowSignEverywhere" /%}{% batch datatype="Nullable boolean" /%}
- This property allows you to define whether all signature form fields on the signing page should use the same signature value applied by the signer. If this property is not specified, the signature values will be inherited from the business profile configuration.

---
- {% arguments name="GroupSignerSettings" /%}{% batch datatype="object" /%}
- Configures whether contact groups can be used as signers for this template, and restricts which contact groups are allowed.
  {% nestedtable %}

  - {% arguments name="Enabled" /%}{% batch datatype="boolean" /%}
  - When set to `true`, contact groups can be used as signers.

  ---

  - {% arguments name="AllowedDirectories" /%}{% batch datatype="array" /%}
  - The list of allowed directory values. Only contact groups assigned to one of these directories can be used as signers.

  {% /nestedtable %}

{% /nestedtable %}

**Notes:**
1. Please note that you must use either the `fileUrls` or `files` parameter in a request, both cannot be used together.

2. For more details on OTP behavior, validity, and resend limits when using Email or SMS OTP for signing, please refer to this article: [OTP limitation and Restriction](https://support.boldsign.com/kb/article/19836/otp-limitations-and-restrictions-in-boldsign)

## Example response

***204 No Content***

