# Edit Document

{% put /%}
{% path text="/v1/document/edit" /%}

The Edit Document API allows users to modify the properties of an existing document and draft document. It facilitates updates to various properties such as the title, description, files, signers, and form fields associated with the document.

## Partial Update

Users can execute partial updates to a document by specifying only the fields they intend to modify. The API will solely modify the provided fields, leaving the remainder unchanged.

When you need to update a files, signers or its form fields, you need to provide `EditAction` such as `Add`, `Update`, or `Remove`. So, if you need to update or remove a file, signer or their form fields, you will need to provide the file ID, signer ID and form field ID, which you can retrieve using the Document Properties API that returns all properties of a given document.

{% customlink href="/documents/document-details-and-status/" text="Read more about document properties API" /%}

## Asynchronous Document Processing

This API operates in two different modes based on the input provided in the request body. If the input contains the files, the API will process the request asynchronously. If the input does not contain the files, the API will process the request synchronously. This will be represented in the response as `status` with the value `Queued` or `Completed`, respectively.

The system will trigger either an `Edited` or `EditFailed` event, indicating the success or failure of the operation. In the event of failure, the system will send an `EditFailed` event along with an accompanying error message. It is imperative to address and resolve this error to ensure the proper operation in the next request.

## Code Snippet

In the example request below, we are updating the document's description and a signer associated with the document, along with their form fields.

{% codetab %}

cURL

```shell
curl -X PUT 'https://api.boldsign.com/v1/document/edit?documentId=2f0df291-xxxx-xxxx-xxxx-97719d93c8b7' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: {API-KEY}' \
-d '{
    "Message": "Please sign this document.",
    "Signers": [
        {
            "EditAction": "Update",
            "Id": "4771b255-xxx-xxxx-xxxx-3819b11e4b3b",
            "AuthenticationType": "EmailOTP",
            "FormFields": [
                {
                    "EditAction": "Update",
                    "Id": "signature_iYQVu",
                    "FieldType": "Initial",
                    "IsRequired": false
                },
                {
                    "EditAction": "Add",
                    "FieldType": "TextBox",
                    "Bounds": {
                        "X": 100,
                        "Y": 100,
                        "Width": 100,
                        "Height": 20
                    },
                    "IsRequired": false,
                    "PageNumber": 1
                }
            ]
        },
        {
            "EditAction": "Add",
            "Name": "Signer",
            "EmailAddress": "signer@gmail.com",
            "AuthenticationType": "AccessCode",
            "AuthenticationCode": "1234",
            "FormFields": [
                {
                    "EditAction": "Add",
                    "FieldType": "Signature",
                    "Bounds": {
                        "X": 150,
                        "Y": 150,
                        "Width": 200,
                        "Height": 30
                    },
                    "IsRequired": true,
                    "PageNumber": 1
                }
            ]
        }
    ],
    "Labels": ["Label1", "Label2"],
    "ReminderSettings": {
        "EnableAutoReminder": true,
        "ReminderDays": 2,
        "ReminderCount": 4
    },
    "DocumentDownloadOption": "Individually"
}'
```

C#

```csharp
var apiClient = new ApiClient("https://api.boldsign.com", "Your_API_Key");

var documentClient = new DocumentClient(apiClient);

var editDocumentRequest = new EditDocumentRequest()
{
    DocumentId = "6f0cff9e-xxxx-xxxx-xxxx-a78e389964c2",
    Message = "Please sign this document.",
    Signers = new List<EditDocumentSigner>()
    {
        new EditDocumentSigner()
        {
            EditAction = EditAction.Update,
            Id = "3ca6a81a-xxxx-xxxx-xxxx-f88e63f2ca6d",
            AuthenticationType = AuthenticationType.EmailOTP,
            FormFields = new List<EditFormField>()
            {
                new EditFormField()
                {
                    EditAction = EditAction.Update,
                    Id = "signature_iYQVu",
                    Type = FieldType.Initial,
                    IsRequired = false,
                },
                new EditFormField()
                {
                    EditAction = EditAction.Add,
                    Type = FieldType.TextBox,
                    IsRequired = false,
                    Bounds = new Rectangle()
                    {
                        X = 100,
                        Y = 100,
                        Width = 100,
                        Height = 20,
                    },
                    PageNumber = 1,
                },
            },
        },
        new EditDocumentSigner()
        {
            EditAction = EditAction.Add,
            Name = "Signer",
            EmailAddress = "signer@gmail.com",
            AuthenticationType = AuthenticationType.AccessCode,
            AuthenticationCode = "1234",
            FormFields = new List<EditFormField>()
            {
                new EditFormField()
                {
                    EditAction = EditAction.Add,
                    Type = FieldType.Signature,
                    IsRequired = false,
                    Bounds = new Rectangle()
                    {
                        X = 150,
                        Y = 150,
                        Width = 200,
                        Height = 30,
                    },
                    PageNumber = 1,
                },
            },
        },
    },
    Labels = new List<string>()
    {
        "Label1",
        "Label2",
    },
    ReminderSettings = new ReminderSettings()
    {
        EnableAutoReminder = true,
        ReminderCount = 4,
        ReminderDays = 2,
    },
};

documentClient.EditDocument(editDocumentRequest);
```

Python

```python
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)
    document_file = EditDocumentFile(
        edit_action="Add",
        file='YOUR_FILE_PATH'
    )

    edit_request = EditDocumentRequest(
        files=[document_file],
        message="the message is updated"
    )
    document_api.edit_document("YOUR_DOCUMENT_ID", edit_request)
```

PHP

```php
<?php
require_once(__DIR__ . '/../vendor/autoload.php');

$config = new BoldSign\Configuration();
$config->setHost('https://api.boldsign.com');
$config->setApiKey('YOUR_API_KEY');

$apiInstance = new BoldSign\Api\DocumentApi($config);

$form_fields = new \BoldSign\Model\EditFormField();
$form_fields->setEditAction("Add");
$form_fields->setFieldType("Signature");
$form_fields->setPageNumber(1);
$form_fields->setBounds(new \BoldSign\Model\Rectangle( [50, 50, 200, 25]));

$signers = new BoldSign\Model\EditDocumentSigner();
$signers->setEditAction("Add");
$signers->setEmailAddress("signer@cubeflakes.com");
$signers->setName("Signer Name");
$signers->setFormFields([$form_fields]);
$pdfFilePath = 'YOUR_FILE_PATH'; 
$document1 = new BoldSign\Model\EditDocumentFile();
$document1->setFile($pdfFilePath);
$document1->setEditAction('Add');

$edit_document_request = new \BoldSign\Model\EditDocumentRequest();
$edit_document_request->setMessage('Updated docuemnt');
$edit_document_request->setSigners([$signers]);
$edit_document_request->setFiles([$document1]);
$edit_document_response = $apiInstance->editDocument("YOUR_DOCUMENT_ID", $edit_document_request);
```
Nodejs

```js
import { DocumentApi, EditDocumentFile, EditDocumentRequest, EditDocumentSigner, EditFormField, Rectangle } from 'boldsign';

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 EditFormField();
formField.fieldType = EditFormField.FieldTypeEnum.Signature;
formField.pageNumber = 1;
formField.editAction = EditFormField.EditActionEnum.Add;
formField.bounds = bounds;
var signers = new EditDocumentSigner();
signers.editAction = EditDocumentSigner.EditActionEnum.Add,
signers.emailAddress = "signer1@cubeflakes.com",
signers.name = "signer1",
signers.signerRole = "Signer";
signers.formFields = [formField];

var documentfile = new EditDocumentFile();
documentfile.file = fs.createReadStream("YOUR_FILE_PATH");
documentfile.editAction = EditDocumentFile.EditActionEnum.Add;
var editDocumentRequest = new EditDocumentRequest();
editDocumentRequest.message = "Please review and sign the attached document.";
editDocumentRequest.signers = [signers];
editDocumentRequest.files = [documentfile]
documentApi.editDocument("YOUR_DOCUMENT_ID", editDocumentRequest);
```

Java

```java
ApiClient apiClient = Configuration.getDefaultApiClient();
apiClient.setBasePath("https://api.boldsign.com");
apiClient.setApiKey("YOUR_API_KEY");
DocumentApi documentApi = new DocumentApi(apiClient);
Rectangle bounds = new Rectangle();
bounds.setX(50f);
bounds.setY(100f);
bounds.setWidth(100f);
bounds.setHeight(60f);
EditFormField formField = new EditFormField();
formField.setEditAction(EditFormField.EditActionEnum.ADD);
formField.setFieldType(EditFormField.FieldTypeEnum.SIGNATURE);
formField.setPageNumber(1);
formField.setBounds(bounds);
EditDocumentSigner signers = new EditDocumentSigner();
signers.setEmailAddress("signer@cubeflakes.com");
signers.setName("signername");
signers.setFormFields(Arrays.asList(formField));
signers.setEditAction(EditDocumentSigner.EditActionEnum.ADD);

EditDocumentFile document1 = new EditDocumentFile();
document1.setEditAction(EditDocumentFile.EditActionEnum.ADD);
File file = new File("YOUR_FILE_PATH");
document1.setFile(file);
EditDocumentRequest editDocumentJsonRequest = new EditDocumentRequest();
editDocumentJsonRequest.setSigners(Arrays.asList(signers));
editDocumentJsonRequest.setMessage("Updated documments");
editDocumentJsonRequest.setFiles(Arrays.asList(document1));

DocumentEdited editDocumentResponse = documentApi.editDocument("YOUR_DOCUMENT_ID", editDocumentJsonRequest);

```

{% /codetab %}

## Request Body

{% nestedtable %}

-   {% arguments name="Files" /%}{% batch datatype="array" /%}

-   Details of the files to be edited. One or more files can be specified.
    {% nestedtable %}

    -   {% arguments name="EditAction" /%}{% batch datatype="string" /%}{% required /%}
    -   This is used to specify the edit action to be performed on the file. They are `Add`, `Update`, and `Remove`.

    ---

    -   {% arguments name="Id" /%}{% batch datatype="string" /%}
    -   ID of the file. This ID used to identify and target the specific file to perform the edit action.

        **Note :**
        This is required only for `Update` and `Remove` actions.

    ---

    - {% arguments name="File" /%}{% batch datatype="FormFile" /%}
    - The file to be uploaded for sending signature request. `.pdf`, `.png`, `.jpg`, `.docx`, `.xlsx` and `.pptx` are supported file formats. The preferred file format is `.pdf`. You can upload up to 25 files. Each document may have a maximum of 1000 pages and must be no larger than 25 MB in size.

      For a single file with file name, the Base64 format should be:
      `{ "base64": "data:application/{{fileType}};base64,{{content}}", "fileName": "{{fileName}}" }`.

      **Note :**
      This is required only for `Add` and `Update` actions.

    ---

    - {% arguments name="FileUrl" /%}{% batch datatype="URI" /%}
    - The URL of the file must be publicly accessible. `.pdf`, `.png`, `.jpg`, `.docx`, `.xlsx` and `.pptx` are supported file formats. The preferred file format is `.pdf`. You can upload up to 25 files. Each document may have a maximum of 1000 pages and must be no larger than 25 MB in size.

      **Note :**
      This is required only for `Add` and `Update` actions.

    ---

    {% /nestedtable %}

---

-   {% arguments name="Title" /%}{% batch datatype="string" /%}

-   This is the title of the document that will be displayed in the BoldSign user interface and in the signature request email.

    **Note :**
    `Title` can be edited only for draft documents.

---

-   {% arguments name="Message" /%}{% batch datatype="string" /%}
-   A message for all recipients. You can include instructions that the signer should know before signing the document.

---

-   {% arguments name="Signers" /%}{% batch datatype="array" /%}
-   Details of the signers to be edited. One or more signers can be specified.
    {% nestedtable %}

    -   {% arguments name="EditAction" /%}{% batch datatype="string" /%}{% required /%}
    -   This is used to specify the edit action to be performed on the signer. They are `Add`, `Update`, and `Remove`.

    ---

    -   {% arguments name="Id" /%}{% batch datatype="string" /%}

    -   ID of the signer. This ID used to identify and target the specific signer to perform the edit action.

        **Note :**
        This is required only for `Update` and `Remove` actions.

    ---

    -   {% arguments name="Name" /%}{% batch datatype="string" /%}
    -   Name of the signer. This name will appear on all emails, notifications, and the audit file.

    ---

    -   {% arguments name="EmailAddress" /%}{% batch datatype="string" /%}
    -   Email ID of the signer. This ID will appear on all emails, notifications, and the audit file.

    ---

    -   {% arguments name="PrivateMessage" /%}{% batch datatype="string" /%}
    -   A message that appears when the specified signer proceeds to sign the document. You can include instructions that the signer should know before signing the document.

    ---

    -   {% arguments name="AuthenticationType" /%}{% batch datatype="Nullable enum" /%}
    -   This is used to allow authentication for a specific signer. We have four types of authentication: `AccessCode`, `EmailOTP`, `SMSOTP`, and `IdVerification`. The default value is `None`.

    ---

    -   {% arguments name="AuthenticationCode" /%}{% batch datatype="string" /%}
    -   The authentication access code that must be entered by the signer to access the document. This should be shared with the signer.

    ---

    -   {% arguments name="EnableEmailOTP" /%}{% batch datatype="Nullable boolean" /%}
    -   Enables email OTP authentication. If this is enabled, the signer must enter the OTP received in the email to access the document.

    ---

    -   {% arguments name="PhoneNumber" /%}{% batch datatype="object" /%}

    -   When you set the authentication type to `SMSOTP` or select the delivery mode as `SMS`, `EmailAndSMS`, or `WhatsApp`, 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="IdentityVerificationSettings" /%}{% batch datatype="object" /%}

    -   Settings for identity verification when `IdVerification` authentication type is enabled for the signer.
        {% nestedtable %}

        -   {% arguments name="Type" /%}{% batch datatype="string" /%}
        -   Customize the frequency of identity verification for signers accessing documents.
            -   **EveryAccess**: Signers must undergo identity verification each time they access the document, even after completing their signature.
            -   **UntilSignCompleted**: Identity verification is required until the signer completes their signature, after which they will not need to undergo identity verification again.
            -   **OncePerDocument**: Signers authenticate their identity only once, even if accessing the document multiple times.

        ---

        -   {% arguments name="MaximumRetryCount" /%}{% batch datatype="integer" /%}
        -   Specify the maximum number of verification attempts allowed for signers. Exceeding this limit restricts access to the document. Senders have the option to reset failed signers for additional attempts and manually review failed document uploads for approval or rejection. The maximum number of retries is 10.

        ---

        -   {% arguments name="RequireLiveCapture" /%}{% batch datatype="boolean" /%}
        -   Mandate signers to capture a live image of their identification document using their device camera. This verifies the document's authenticity and originality, preventing the use of photos or photocopies.

        ---

        -   {% arguments name="RequireMatchingSelfie" /%}{% batch datatype="boolean" /%}
        -   Uses advanced machine learning algorithms to ensure facial recognition accuracy, preventing the use of stolen identity documents by comparing the photo on the ID and the selfie image.

        ---

        -   {% arguments name="NameMatcher" /%}{% batch datatype="string" /%}
        -   Define the tolerance level for matching the signer's name with the name on the uploaded identification document. Options include:
            -   **Strict**: Minimal variations are permitted, adhering to strict matching rules.
            -   **Moderate**: Moderate matching rules allow for variations in the middle, prefix, and suffix parts of the name.
            -   **Lenient**: Relaxed matching rules accommodate minor spelling mistakes for increased flexibility.

        ---

        -   {% arguments name="HoldForPrefill" /%}{% batch datatype="boolean" /%}
        -   Enable this option to hold the signer from signing the document, giving you the opportunity to prefill the signer's details. Once the prefill is completed, the signer can proceed with the signing process. The maximum hold time is 30 seconds; if you exceed this time limit, the signer will be redirected to the signing page.

        ---

        -   {% arguments name="AllowedDocumentTypes" /%}{% batch datatype="array" /%}
        -   Defines the list of document types from which the signer can upload any one as an identification document. The allowed types are `Passport`, `IDCard`, and `DriverLicense`.

        {% /nestedtable %}

    ---

    -   {% arguments name="AuthenticationRetryCount" /%}{% batch datatype="Nullable integer" /%}

    -   Specifies the maximum number of allowed authentication attempts for the signer during the signing process. This applies to the following authentication methods:

        -   `AccessCode`
        -   `EmailOTP`
        -   `SMSOTP`

        The retry count must be an integer between `1` and `10`. If this property is not specified, the value configured in the business profile will be used automatically. You can learn how to set it [here](https://support.boldsign.com/kb/article/19693/how-to-set-authentication-retry-attempts-in-boldsign). This property is optional.

    ---

    -   {% arguments name="DeliveryMode" /%}{% batch datatype="Nullable enum" /%}
    -   This property allows you to specify the desired delivery mode for sending notifications. We have four types of delivery modes: `Email`, `SMS`, `WhatsApp`, and `EmailAndSMS`. The default value is `Email`.

    ---

    -   {% arguments name="SignerOrder" /%}{% batch datatype="Nullable integer" /%}
    -   Signing order of the signer. This is applicable when the signing order option is enabled.

    ---

    -   {% arguments name="SignerType" /%}{% batch datatype="Nullable enum" /%}
    -   Type of the signer. The values are `Signer`, `Reviewer`, and `InPersonSigner`.

    ---

    -   {% arguments name="SignType" /%}{% batch datatype="Nullable 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="GroupId" /%}{% 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" /%}
    -   Email ID of the host. It is applicable when the `signerType` is set to `InPersonSigner`.

    ---

    -   {% arguments name="SignerRole" /%}{% batch datatype="string" /%}
    -   The role of the signer.

    ---

    -   {% arguments name="AllowFieldConfiguration" /%}{% batch datatype="Nullable 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.

    ---

    -   {% arguments name="FormFields" /%}{% batch datatype="array" /%}

    -   List of form fields associated with the signer that need to be edited.
        {% nestedtable %}

        -   {% arguments name="EditAction" /%}{% batch datatype="string" /%}{% required /%}
        -   This is used to specify the edit action to be performed on the form field. They are `Add`, `Update`, and `Remove`.

        ---

        -   {% 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.

            **Note :**
            This is required for `Update` and `Remove` actions.

        ---

        -   {% arguments name="Name" /%}{% batch datatype="string" /%}
        -   Name of the form field.

        ---

        -   {% arguments name="Type" /%}{% batch datatype="Nullable enum" /%}

        -   Type of the form field. The available values are `Signature`, `Initial`, `CheckBox`, `TextBox`, `Label`, `DateSigned`, `Image`, `Attachment`, `EditableDate`, `Hyperlink`, `Formula`, and `Dropdown`. 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="Nullable integer" /%}

        -   Page number in the document where the form field has to be placed. The page number must be greater than zero.

            **Note :**
            This is required for `Add` action.

        ---

        -   {% arguments name="Bounds" /%}{% batch datatype="Rectangle" /%}

        -   Position and size values of the form field to be placed.

            **Note :**
            This is required for `Add` action.

            {% nestedtable %}

            -   {% arguments name="X" /%}{% batch datatype="float" /%}
            -   X coordinate value to place the form field.

            ---

            -   {% arguments name="Y" /%}{% batch datatype="float" /%}
            -   Y coordinate value to place the form field.

            ---

            -   {% arguments name="Width" /%}{% batch datatype="float" /%}{% required /%}
            -   Width of the form field. The width must be greater than zero.

            ---

            -   {% arguments name="Height" /%}{% batch datatype="float" /%}{% required /%}
            -   Height of the form field. The height must be greater than zero.

            {% /nestedtable %}

        ---

        -   {% arguments name="IsRequired" /%}{% batch datatype="Nullable boolean" /%}
        -   Decides whether this form field is required to be filled or not.

        ---

        - {% 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 integer" /%}
        -   Assign tab index to control the flow of field focus while using `TAB` key navigation. Defaults to `null`, which denotes it will follow regular flow. The accepted range starts from `-1` to a valid `integer`.

        ---

        -   {% arguments name="BackgroundHexColor" /%}{% batch datatype="string" /%}
        -   Customize the label field background color. The value should be a hex color code. Example - `#FFFFFF`.

        ---

        -   {% arguments name="Value" /%}{% batch datatype="string" /%}
        -   Value to be displayed on the label form field.

        ---

        -   {% 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="FontSize" /%}{% batch datatype="Nullable float" /%}
        -   Size of the font. The default font size is **13.0**.

        ---

        -   {% arguments name="Font" /%}{% batch datatype="Nullable enum" /%}
        -   Font family. The values are `Courier`, ` Helvetica`, ` TimesNewRoman`, and ` NotoSans`. The default font family is ` Helvetica`.

        ---

        -   {% arguments name="FontHexColor" /%}{% batch datatype="string" /%}
        -   Color of the font. The value should be a hex color code. Example - `#035efc`.

        ---

        -   {% arguments name="IsBoldFont" /%}{% batch datatype="Nullable boolean" /%}
        -   Decides whether the font should be bold or not.

        ---

        -   {% arguments name="IsItalicFont" /%}{% batch datatype="Nullable boolean" /%}
        -   Decides whether the font should be italic or not.

        ---

        -   {% arguments name="IsUnderLineFont" /%}{% batch datatype="Nullable boolean" /%}
        -   Decides whether the font should be underlined or not.

        ---

        -   {% arguments name="LineHeight" /%}{% batch datatype="Nullable integer" /%}
        -   Height of a line in the text. The default line height is **15.0**.

        ---

        -   {% arguments name="CharacterLimit" /%}{% batch datatype="Nullable integer" /%}
        -   Limits the number of characters in the text. The character limit value must be greater than zero.

        ---

        -   {% arguments name="GroupName" /%}{% batch datatype="string" /%}
        -   The group name of the form field. This field is required when the type is set to `RadioButton`.

        ---

        -   {% arguments name="PlaceHolder" /%}{% batch datatype="string" /%}
        -   A hint text to be displayed on the text form field by default.

        ---

        -   {% arguments name="ValidationType" /%}{% batch datatype="Nullable enum" /%}
        -   Type of validation for the text box form field. The values are `Only Numbers`, `Regex`, `Currency`, `Email`, and `None`. The default validation type is `None`.

        ---

        -   {% arguments name="ValidationCustomRegex" /%}{% batch datatype="string" /%}
        -   Value for regex validation. This is applicable when the `validationType` is set to `Regex`.

        ---

        -   {% arguments name="ValidationCustomRegexMessage" /%}{% batch datatype="string" /%}
        -   Description for regex validation. This message is displayed when the signer enters an invalid regex format value in the text box form field.

        ---

        -   {% 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 your account's business profile settings.
            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 your account's business profile settings.
            Accepted formats are
            -   `hh:mm tt` (12:30 PM)
            -   `h:mm tt` (2:45 PM)
            -   `HH:mm` (14:30)
            -   `H:mm` (9:15)
            -   `None` (Disabled, no time will be displayed)

        ---

        -   {% arguments name="ImageInfo" /%}{% batch datatype="object" /%}

        -   Options to customize the image form field.
            {% nestedtable %}

            -   {% arguments name="Title" /%}{% batch datatype="string" /%}
            -   Title of the image form field.

            ---

            -   {% arguments name="Description" /%}{% batch datatype="string" /%}
            -   Description of the image form field.

            ---

            -   {% arguments name="AllowedFileExtensions" /%}{% batch datatype="string" /%}
            -   Controls the image formats that are allowed to upload on the image form field. The values are `.jpg` or `.jpeg`, `.svg`, `.png`, and `.bmp`.

            {% /nestedtable %}

        ---

        -   {% arguments name="AttachmentInfo" /%}{% batch datatype="object" /%}

        -   Options to customize the attachment form field.
            {% nestedtable %}

            -   {% arguments name="Title" /%}{% batch datatype="string" /%}
            -   Title of the attachment form field.

            ---

            -   {% arguments name="Description" /%}{% batch datatype="string" /%}
            -   Description of the attachment form field.

            ---

            -   {% arguments name="AllowedFileTypes" /%}{% batch datatype="string" /%}
            -   Controls the file formats that are allowed to upload on the attachment form field. The values are `PDF`, `Document`, and `Image`.

            {% /nestedtable %}

        ---

        -   {% arguments name="EditableDateFieldSettings" /%}{% batch datatype="object" /%}

        -   Options to customize the editable date form field.
            {% 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="ConditionalRules" /%}{% batch datatype="array" /%}
        -   This is used to specify which fields should be visible based on the conditions provided.

        ---

        -   {% arguments name="HyperLinkText" /%}{% batch datatype="string" /%}
        -   Text to be displayed for the hyperlink.

        ---

        -   {% arguments name="DataSyncTag" /%}{% batch datatype="string" /%}
        -   The value that can be specified on two or more textbox form fields to sync them.

        ---

        -   {% arguments name="DropDownOptions" /%}{% batch datatype="array" /%}
        -   The values that have to be displayed on the dropdown form field. One or more values can be specified.

        ---

        -   {% arguments name="IsReadOnly" /%}{% batch datatype="Nullable boolean" /%}
        -   Decides whether this form field is read-only or not.

        ---

        -   {% arguments name="TextAlign" /%}{% batch datatype="Nullable enum" /%}
        -   Determines the horizontal alignment of text for the textbox and label form fields, and can be set to `Left`, `Center`, or `Right`. The default alignment of text is `Left`.

        ---

        -   {% arguments name="TextDirection" /%}{% batch datatype="Nullable enum" /%}
        -   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="Nullable 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="CharacterLimit" /%}{% batch datatype="Nullable integer" /%}
        -   Limits the number of characters in the text. The character limit value must be greater than zero.

        ---

        -   {% arguments name="GroupName" /%}{% batch datatype="string" /%}
        -   The group name of the form field. This field is required when the type is set to `RadioButton`.

        ---

        -   {% arguments name="PlaceHolder" /%}{% batch datatype="string" /%}
        -   A hint text to be displayed on the text form field by default.

        ---

        -   {% arguments name="ValidationType" /%}{% batch datatype="Nullable enum" /%}
        -   Type of validation for the text box form field. The values are `Only Numbers`, `Regex`, `Currency`, `Email`, and `None`. The default validation type is `None`.

        ---

        -   {% arguments name="ValidationCustomRegex" /%}{% batch datatype="string" /%}
        -   Value for regex validation. This is applicable when the `validationType` is set to `Regex`.

        ---

        -   {% arguments name="ValidationCustomRegexMessage" /%}{% batch datatype="string" /%}
        -   Description for regex validation. This message is displayed when the signer enters an invalid regex format value in the text box form field.

        ---

        -   {% 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 to define the calculation or expression for the formula field.

            ---

            -   {% arguments name="DecimalPrecision" /%}{% batch datatype="integer" /%}
            -   This property is used to determine the decimal rounding precision for the computed result.

            {% /nestedtable %}

        ---

        -   {% arguments name="ResizeOption" /%}{% batch datatype="Nullable 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="AllowEditFormField" /%}{% batch datatype="Nullable boolean" /%}
        -   This allows form fields to be edited while sending the document.

        ---

        -   {% arguments name="AllowDeleteFormField" /%}{% batch datatype="Nullable boolean" /%}
        -   This allows form fields to be deleted while sending the document.

        {% /nestedtable %}

    ---

    -   {% arguments name="Language" /%}{% batch datatype="Nullable integer" /%}
    -   Index of the language in which the document signing pages and emails for the signer should render. 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.

    ---

    -   {% arguments name="Locale" /%}{% batch datatype="Nullable enum" /%}
    -   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="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 another 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 a change in the recipient.

        ---

        -   {% arguments name="EditDocument" /%}{% batch datatype="boolean" /%}
        -   Indicates whether the recipient should be notified when the 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.

    ---

    -   {% arguments name="AuthenticationSettings" /%}{% batch datatype="object" /%}

    -   Configure additional options for signers who are authenticated using Email OTP, SMS OTP, or Access Code. These settings allow you to control how often the signer must authenticate when accessing the document. And it applies only when the signer's `AuthenticationType` is set to `EmailOTP`, `SMSOTP`, or `AccessCode`. For `IdVerification`, use the `IdentityVerificationSettings` property instead.
        {% nestedtable %}

        -   {% arguments name="AuthenticationFrequency" /%}{% batch datatype="string" /%}
        -   Specifies how frequently the signer must complete authentication:
            -   **EveryAccess**: The signer must authenticate every time they access the document, even after signing.
            -   **UntilSignCompleted**: Authentication is required until the signer completes their signature. After signing, further authentication is not required.
            -   **OncePerDocument**: The signer authenticates only once per document, regardless of how many times they access it.

        {% /nestedtable %}

    ---

    {% /nestedtable %}

---

-   {% arguments name="CC" /%}{% batch datatype="array" /%}

-   Email IDs of the CC recipients. One or more CC recipients can be specified.
    {% nestedtable %}

    -   {% arguments name="EmailAddress" /%}{% batch datatype="string" /%}
    -   Email ID of the CC recipients.

    {% /nestedtable %}

---

-   {% arguments name="EnableSigningOrder" /%}{% batch datatype="Nullable boolean " /%}

-   Enables or disables the signing order. If this is enabled, then the signers can sign the document in the specified order and will not be able to sign in parallel. The default value is `false`.

    **Note :**
    `EnableSigningOrder` can be enabled or disabled only for draft documents.

---

-   {% arguments name="ExpiryDateType" /%}{% batch datatype="Nullable enum" /%}
-   This specifies the type of expiry date for the document. They are `Days`, `Hours`, and `SpecificDateTime`. The default value is `Days`.

---

-   {% arguments name="ExpiryValue" /%}{% batch datatype="Nullable long" /%}
-   This specifies the expiry value for the document based on the `ExpiryDateType` selected. The default value is `60` days.

---

-   {% arguments name="ReminderSettings.EnableAutoReminder" /%}{% batch datatype="boolean" /%}
-   Enables or disables the auto reminder.

---

-   {% arguments name="ReminderSettings.ReminderDays" /%}{% batch datatype="integer" /%}
-   The number of days between each automatic reminder.

---

-   {% arguments name="ReminderSettings.ReminderCount" /%}{% batch datatype="integer" /%}
-   The number of times the auto reminder should be sent.

---

-   {% arguments name="DisableEmails" /%}{% batch datatype="Nullable boolean" /%}
-   Disables the sending of document-related emails to all recipients. The default value is `false`.

---

-   {% arguments name="DisableSMS" /%}{% batch datatype="Nullable boolean" /%}
-   Disables the sending of document-related SMS to all recipients. The default value is `false`.

---

-   {% arguments name="BrandId" /%}{% batch datatype="string" /%}

-   You can customize the logo, colors, and other elements of the signature request emails and document signing pages to match your company branding. The ID of the existing brand can be obtained from the branding API and from the web app.

    **Note :**
    `BrandId` can be edited only for draft documents.

---

-   {% arguments name="HideDocumentId" /%}{% batch datatype="Nullable boolean" /%}
-   Decides whether the document ID should be hidden or not.

---

-   {% arguments name="Labels" /%}{% batch datatype="array" /%}
-   Labels (tags) are added to the document to categorize and filter the documents. One or more labels can be added. Labels cannot contain whitespaces and must not exceed 255 characters.

---

-   {% 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 long text tag handling.
    {% nestedtable %}

    -   {% arguments name="DefinitionId" /%}{% batch datatype="string" /%}
    -   The definition ID of the text tag.

    ---

    -   {% arguments name="Type" /%}{% batch datatype="Type" /%}
    -   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="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. Defaults to `null`, which denotes it will follow regular flow. The accepted range starts from `-1` to a valid `integer`.

    ---

    -   {% 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="FontFamily" /%}
        -   Font family. The values are `Courier`, ` Helvetica`, and ` TimesNewRoman`. The default font family is ` Helvetica`.

        ---

        -   {% arguments name="Color" /%}{% batch datatype="string" /%}
        -   Color of the font. The value should be a hex color code. Example - `#035efc`.

        ---

        -   {% arguments name="Size" /%}{% batch datatype="Nullable float" /%}
        -   Size of the font.

        ---

        -   {% arguments name="Style" /%}{% batch datatype="FontStyle" /%}
        -   Style of the font. The values are `Regular`, `Bold`, `Italic`, and `Underline`. The default font style is `Regular`.

        ---

        -   {% arguments name="LineHeight" /%}{% batch datatype="Nullable int" /%}
        -   Height of a line in the text.

        ---

        -   {% arguments name="IsBoldFont" /%}{% batch datatype="boolean" /%}
        -   Decides whether the font should be bold or not.

        ---

        -   {% arguments name="IsItalicFont" /%}{% batch datatype="boolean" /%}
        -   Decides whether the font should be italic or not.

        ---

        -   {% arguments name="IsUnderLineFont" /%}{% batch datatype="boolean" /%}
        -   Decides whether the font should be underlined or not.

        {% /nestedtable %}

    ---

    -   {% arguments name="Validation" /%}{% batch datatype="object" /%}

    -   When the type is selected as `TextBox`, 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 `ValidationType` is set to `CustomRegex`, this will be required.

        ---

        -   {% arguments name="RegexMessage" /%}{% batch datatype="string" /%}
        -   Description for regex validation. This message is displayed when the signer enters an invalid regex format value in the text box field.

        {% /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 your account's business profile settings.
        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 your account's business profile settings.
        Accepted formats are
        -   `hh:mm tt` (12:30 PM)
        -   `h:mm tt` (2:45 PM)
        -   `HH:mm` (14:30)
        -   `H:mm` (9:15)
        -   `None` (Disabled, no time will be displayed)

    ---

    -   {% arguments name="RadioGroupName" /%}{% batch datatype="string" /%}
    -   The form field's group name, which is required when the type is set as `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 adjustment must remain within the page dimensions.
        {% nestedtable %}

        -   {% arguments name="OffSetX" /%}{% batch datatype="double" /%}
        -   Adjusts the text tag's position horizontally (left or right). The default value is **0.0**.

        ---

        -   {% arguments name="OffSetY" /%}{% batch datatype="double" /%}
        -   Adjusts the text tag's position vertically (top or bottom). The default value is **0.0**.

        {% /nestedtable %}

    ---

    -   {% 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 to define the calculation or expression for the formula field.

        ---

        -   {% arguments name="DecimalPrecision" /%}{% batch datatype="integer" /%}
        -   This property is used to determine the decimal rounding precision for the computed result.

        {% /nestedtable %}

    ---

    -   {% 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="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="DataSyncTag" /%}{% batch datatype="string" /%}
    -   The value that can be specified on two or more textbox fields to sync them.

    ---

    -   {% 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 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="CharacterLimit" /%}{% batch datatype="integer" /%}
    -   Limits the number of characters in the text. The character limit value must be greater than zero.

    {% /nestedtable %}

---

-   {% arguments name="EnablePrintAndSign" /%}{% batch datatype="Nullable boolean" /%}
-   Allows the signer to print and sign the document. The default value is `false`.

---

-   {% arguments name="EnableReassign" /%}{% batch datatype="Nullable boolean" /%}
-   Allows the signer to reassign the signature request to another person. The default value is `true`.

---

-   {% arguments name="DisableExpiryAlert" /%}{% batch datatype="Nullable boolean" /%}
-   Disables the alert that will be sent one day before the document's expiry.

---

-   {% arguments name="DocumentInfo" /%}{% batch datatype="array" /%}

-   Options to customize the information, such as the title and description of the document for a particular signer.
    {% nestedtable %}

    -   {% arguments name="Language" /%}{% batch datatype="integer" /%}
    -   Language in which the document signing pages and emails for the signer should be rendered. 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" /%}

    -   Title of the document.

        **Note :**
        `Title` can be edited only for draft documents.

    ---

    -   {% arguments name="Description" /%}{% batch datatype="string" /%}
    -   A message for the signer. You can include instructions that the signer should know before signing 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`, `JA-Japanese`, `TH-Thai`, `ZH_CN-Simplified Chinese`, `Zh_TW-Traditional Chinese`, `Korean`, and `SV-Swedish`. The default locale language is `EN-English`.

    {% /nestedtable %}

---

-   {% arguments name="OnBehalfOf" /%}{% batch datatype="string" /%}
-   Email ID of the user to send the document on behalf of them.

---

-   {% arguments name="DocumentDownloadOption" /%}{% batch datatype="Nullable enum" /%}
-   This option allows you to configure how the uploaded files, especially multiple files, should be downloaded: either as a single combined document or as separate documents. The values are `Combined` and `Individually`. The default value is `Combined`. If the value is `null`, the setting configured in the business profile will be considered.

---

-   {% 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="MetaData" /%}{% batch datatype="dictionary" /%}
-   Additional information about the document in the form of key-value pairs. Up to 50 key-value pairs can be added. The key is limited to 50 characters, and the value is limited to 500 characters.

---

-   {% 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 another 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="EnableAuditTrailLocalization" /%}{% batch datatype="Nullable boolean" /%}
-   Enable localization for the audit trail based on the signer's language. If `null` is provided, the value will be inherited from the Business Profile settings. Only one additional language can be specified in the signer's languages besides English.

---

-   {% arguments name="DownloadFileName" /%}{% batch datatype="string" /%}

-   Defines the custom format for the file name of downloaded document files. You can combine your own file name elements with the following predefined dynamic variables:

    -   `title`
    -   `documentId`
    -   `signername`
    -   `signername_last`
    -   `signername_order#1`
    -   `sendername`
    -   `completeddate`
    -   `status`

    The `#1` in `signername_order#1` serves as a placeholder and should be replaced with an actual value, such as `signername_order#3`, to represent a 3rd signer's name.

    The maximum file name length is 250 characters. If the generated name exceeds this limit, it will be truncated to fit within the limit. This property is optional; if not provided, the default format configured in the business profile will be used.

---

- {% 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="ScheduledSendTime" /%}{% batch datatype="Nullable long" /%}
-   This property is used to schedule the document for sending at a later time. The value should be a Unix timestamp representing the desired send time. If `null` is provided, the document will be sent immediately.

    **Note :**
    `ScheduledSendTime` can be edited only for draft documents.

---

- {% 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="DocumentTimeZone" /%}{% batch datatype="string" /%}
- This property specifies the time zone to be applied to the document. The selected time zone is used for the audit trail and the Date Signed field.
A valid IANA time zone identifier (for example, Asia/Kolkata or America/New_York) must be provided. If no value is specified, the time zone defaults to that of the associated brand for the document. If an invalid value is supplied, an appropriate error will be returned.
---

-   {% arguments name="GroupSignerSettings" /%}{% batch datatype="object" /%}
-   Configures whether contact groups can be used as signers for this document, 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 %}

**Note**s

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

**_Request without files_**

```json
{
    "status": "Completed"
}
```

**_Request with files_**

```json
{
    "status": "Queued"
}
```
