> **Source:** https://knowledge.leegality.com/document-execution/api/create-an-e-signing-request > **Site:** Leegality Knowledge Base — https://knowledge.leegality.com > **About:** Leegality is a document execution platform covering eSigning, stamps, NeSL, workflows, and REST API integration. > **Navigation:** Every article on this site has a plain-text version at `.txt` (this format). To get an index of all articles with their `.txt` links, read: https://knowledge.leegality.com/llms.txt > **AI Guide:** For instructions on how to navigate this knowledge base as an AI agent, read: https://knowledge.leegality.com/ai-readable.txt --- # POST /v3.0/sign/request — Create eSigning request Creates a new eSigning request based on a published Workflow. Use this endpoint to run a workflow and send a document with pre-configured settings. **Authentication:** `X-Auth-Token` header required on every request. ## Request URL ``` POST https://app1.leegality.com/api/v3.0/sign/request ``` **Environments:** - Production: `https://app1.leegality.com/api/v3.0/sign/request` - Sandbox: `https://sandbox.leegality.com/api/v3.0/sign/request` --- ## Request Body **Content-Type:** `application/json` | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `profileId` | string | Yes | The Workflow ID for this signing request. Find it in your Leegality Dashboard. | `7WMVrYf` | | `file` | File | Yes | File configuration. For PDF workflows, provide a base64-encoded PDF. For template workflows, provide the template field values. See **File** below. | — | | `stampSeries` | string | No | The stamp series to apply to this document. - **Note:** Ensure the selected series has stamps available. You can verify and manage stamp inventory under the **[Stamp](https://knowledge.leegality.com/document-execution/stamps/stamp-series/)** tab in your Dashboard. | — | | `multipleStampSeries` | array\ | No | Ensure the selected series has stamps available. You can verify and manage stamp inventory under the **[Stamp](https://knowledge.leegality.com/document-execution/stamps/stamp-series/)** tab in your Dashboard. See **multipleStampSeries** below. | — | | `seriesGroup` | string | No | Stamp group to use for this document. - **Note:** You can view available groups under the **[Stamp](https://knowledge.leegality.com/document-execution/stamps/stamp-group/stamp-groups)** tab in your Dashboard. | `DL02` | | `stampValue` | string | No | Stamp amount value for this document. | `5000` | | `stampUpload` | stampUpload | No | Configuration for uploading physical stamp paper. Required when the workflow uses **upload stamp paper**. All fields are required when this object is provided. See **stampUpload** below. | — | | `revenueStampSeries` | string | No | Revenue stamp series to use. | `06` | | `revenueStampQuantity` | string | No | Number of revenue stamps to attach to the document. - **Default:** 1 | `2` | | `neslData` | Nesl | No | See **Nesl** below. | — | | `invitees` | array\ | Yes | See **Invitee** below. | — | | `cc` | array\ | No | See **Cc** below. | — | | `irn` | string | No | Internal Reference Number (IRN) for the document. Used to search or reference this document via API or Dashboard. - **Allowed characters:** Alphanumeric, `+`, `\|`, `-`, `:`, `(`, `)`, `,`, `_`, `.`, `[`, `]`, `&`, `/`, and `@` - **Max length:** 255 characters | — | #### File File configuration. For PDF workflows, provide a base64-encoded PDF. For template workflows, provide the template field values. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `name` | string | No | Name for the document. - **Allowed characters:** Alphanumeric, `+`, `\|`, `-`, `:`, `(`, `)`, `,`, `_`, `.`, `[`, `]`, `&`, `/`, and `@` - **Max length:** 255 characters | `KYC_Application_Form` | | `file` | string | No | Base64-encoded string of the PDF to be eSigned. - **Format:** Base64-encoded PDF - **Max size:** 15 MB (before encoding) | `JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL...` | | `fields` | array\ | No | One object represents a single field in a template-type workflow. Get the complete field structure including IDs from Dashboard > Template Editor > Download Form Fields. Leave empty if you want the first invitee to fill in this field themselves. See **TemplateFields** below. | — | | `autoGroupedFieldsFill` | boolean | No | Enables automatic population of grouped fields in HTML templates. Grouped fields share the same data across multiple locations (e.g., an address repeated in five places). When `true`, pass only one field from each group — all others in the group are auto-populated. When `false`, all grouped fields must be passed individually. - **Default:** `false` - **Note:** Only works with HTML templates. Currently in Beta. | `true` | | `additionalFiles` | array\ | No | Array of Base64-encoded PDF strings to append to the main document. - **Format:** Array of Base64-encoded PDFs - **Max total size:** 15 MB | `JVBERi0xLjQKJeLjz9MKMSAwIG9iago...,JVBERi0xLjcKJcfsj6UKMzQgM` | ##### TemplateFields One object represents a single field in a template-type workflow. Get the complete field structure including IDs from Dashboard > Template Editor > Download Form Fields. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `id` | string | No | Unique identifier of the template field. | `field_123` | | `name` | string | No | Name of the template field. | `employeeName` | | `type` | string | No | Type of the template field. - **Allowed:** `checkbox`, `radio`, `text`, `dropdown`, `textarea`, `select`, `files` Allowed: `text`, `textarea`, `checkbox`, `radio`, `dropdown`, `select`, `files`. | `text` | | `value` | string | No | The value to pre-fill for this template field. | `John Doe` | | `checked` | boolean | No | Indicates whether this option is selected by default in template. - **Required:** When `type` is `checkbox` or `radio`. | `true` | | `multiple` | boolean | No | Indicates whether the user can select more than one option.. **Required:** When `type` is `dropdown`. | `false` | | `width` | string | No | Width of the image in px. - **Required:** When `type` is `files` (image). | `200` | | `height` | string | No | Height of the image in px. - **Required:** When `type` is `files` (image). | `150` | | `required` | boolean | No | Indicates whether the invitee must fill in this field during the signing process. | `true` | #### multipleStampSeries Configuration for affixing multiple stamps from a specific series to the document. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `stampSeries` | string | No | Unique series number of the stamp series to use. | `07` | | `seriesQuantity` | string | No | Number of stamps from this series to affix to the document. - **Range:** 1 – 99 | `2` | #### stampUpload Configuration for uploading physical stamp paper. Required when the workflow uses **upload stamp paper**. All fields are required when this object is provided. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `state` | string | Yes | Name of the state for the uploaded stamp paper. | `Maharashtra` | | `denomination` | string | Yes | Denomination of the uploaded stamp paper. | `100` | | `firstPartyName` | string | Yes | Name of the first party on the uploaded stamp paper. | `ABC Pvt Ltd` | | `secondPartyName` | string | Yes | Name of the second party on the uploaded stamp paper. | `XYZ Corporation` | | `stampSerial` | string | Yes | Serial number of the uploaded stamp paper. | `IN-KA20230012345` | | `stampFile` | string | Yes | Base64-encoded string of the stamp paper to upload. - **Format:** Base64-encoded PDF | `JVBERi0xLjQKJeLjz9MK...` | #### Nesl | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `documentDetail` | NeslDocument | No | See **NeslDocument** below. | — | | `stampData` | array\ | No | See **NeslStamp** below. | — | | `entities` | array\ | No | See **NeslEntity** below. | — | | `participants` | array\ | No | See **NeslParticipants** below. | — | | `neslParties` | array\ | No | See **NeslParties** below. | — | | `neslSecurities` | array\ | No | See **NeslSecurities** below. | — | ##### NeslDocument | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `loanNumber` | string | No | The loan number associated with the debt. Mandatory for Individual, non-individual loans and eBG | — | | `sanctionNumber` | string | No | The sanction number associated with the debt. Mandatory for Individual, non-individual loans and eBG | — | | `registrationType` | string | Yes | Type of debt (Individual Loan or Non-Individual Loan) or eBG Accepted values are- INDIVIDUAL_LOAN, NON_INDIVIDUAL_LOAN, non_lending, EBG Allowed: `INDIVIDUAL_LOAN`, `NON_INDIVIDUAL_LOAN`, `NON_LENDING`, `EBG`. | — | | `state` | string | Yes | The state in which stamp duty is being paid. | — | | `branchName` | string | No | The name of the branch granting the loan. | — | | `branchAddress` | string | No | The address of the branch granting the loan. | — | | `dateOfSanction` | string | No | The date on which the loan was sanctioned as per the lender's CBS. Mandatory for Individual and non-individual loans. | `2018-02-02` | | `emiAmount` | string | No | Interest installment amount payable on the loan. Mandatory for Individual and non-individual loans. | — | | `rateOfInterest` | string | No | Rate of Interest on the loan. Mandatory for Individual and non-individual loans. | — | | `sanctionAmount` | string | No | The amount sanctioned by the financial creditor. Mandatory for Individual, non-individual loans and eBG | — | | `tenure` | string | No | The tenure of the loan. Mandatory for Individual and non-individual loans. | — | | `typeOfDebt` | string | No | The type of loan (financial debt or operational debt). Mandatory for Individual, non-individual loans and eBG Accepted values are- FINANCIAL, OPERATIONAL. Allowed: `FINANCIAL`, `OPERATIONAL`. | — | | `accountClosedFlag` | string | No | Whether the account is closed (yes, no, or assigned debt). Mandatory for Individual, non-individual loans and eBG Accepted values are- YES, NO, ASSIGNED. Allowed: `YES`, `NO`, `ASSIGNED`. | — | | `fundType` | string | No | Whether the credit facility is funded or non funded. Mandatory for Individual, non-individual loans and eBG Accepted values are- FUNDED, NON_FUNDED. Allowed: `FUNDED`, `NON_FUNDED`. | — | | `sanctionCurrency` | string | No | The currency in which the loan is denominated (INR). Mandatory for Individual, non-individual loans and eBG. Accepted values are- INR Allowed: `INR`. | — | | `creditSubtype` | string | No | Whether the financial debt is created pursuant to a credit facility or the purchase of a property. Mandatory for Individual, non-individual loans and eBG Accepted values are- CREDIT_FACILITY, PROPERTY_BUYER, GRANT Allowed: `CREDIT_FACILITY`, `PROPERTY_BUYER`, `HYBRID_EBG`. | — | | `facilityName` | string | No | The name of the loan facility. Mandatory for Individual and non-individual loans. | — | | `amountOverdue` | string | No | The amount overdue on the loan. | — | | `otherChargeAmount` | string | No | Any other charges (if applicable). | — | | `debtStartDate` | string | No | The date on which the financial debt started. | — | | `interestAmount` | string | No | The amount of interest. | — | | `oldDebtRefNo` | string | No | The old debt reference number (applicable in case there is a change in the debt reference number). | — | | `principalOutstanding` | string | No | The outstanding principal amount. | — | | `loanRemark` | string | No | Loan remarks (if any). | — | | `totalOutstandingAmount` | string | No | Total outstanding amount. | — | | `creditorBusinessUnit` | string | No | The business unit of the creditor providing the debt (such as SME, Retail etc). | — | | `drawingPower` | string | No | The drawing power of the loan. | — | | `daysPastDue` | string | No | The number of days past due date. | — | | `docRefNo` | string | No | This parameter is applicable only for Non-Lending Flow. An alphanumeric document reference number can be added in this parameter which will be stored in the IU. Note- This is a mandatory parameter for Non-lending flow. | — | | `expiryDateEbg` | string | No | The Expiry Date of eBG in "yyyy-MM-dd" format. Mandatory for eBG | — | | `claimExpiryDate` | string | No | The Claim Expiry Date of eBG in "yyyy-MM-dd" format. Mandatory for eBG | — | | `contractRefNo` | string | No | Vendor Contract Reference Number | — | | `vendorCode` | string | No | Vendor Code | — | | `portalId` | string | No | Portal ID as assigned to the Creditor by NeSL | — | | `event` | string | No | Specifies the type of electronic Bank Guarantee (eBG) event. This field is **required** if `registrationType` is set to EBG. Allowed values are: - Issuance - Amendment - Partial_invocation - Invocation - Cancellation - Closure - Renewal - Court_injunction | — | ##### NeslStamp | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `firstParty` | string | Yes | The name of the first party (for the stamp paper). | — | | `secondParty` | string | Yes | The name of the second party (for the stamp paper). | — | | `stampDutyAmount` | string | Yes | The stamp duty amount. **Note:** For West Bengal, Maharashtra, Madhya Pradesh, Kerala, and Telangana, the stamp duty is automatically calculated based on the considerationPrice and will override the value passed in this parameter, if there is a difference between the two. | — | | `considerationPrice` | string | Yes | The consideration price for the purposes of stamp duty. | — | | `descriptionOfDocument` | string | Yes | The description of the document for the purposes of stamp duty. | — | | `stampDutyPaidBy` | string | Yes | The name of the party paying the stamp duty. | — | | `articleCode` | string | Yes | Article code for payment of stamp duty. | — | | `articleSubCode` | string | No | Article sub-code as per the selected state. | — | | `firstPartyPin` | string | No | The pincode of the first party (for the stamp paper). This is mandatory for the states of Madhya Pradesh & West Bengal. | — | | `secondPartyPin` | string | No | The pincode of the second party (for the stamp paper). This is mandatory for the states of Madhya Pradesh & West Bengal. | — | | `firstPartyOVDType` | string | No | The OVD Type of the first party (for the stamp paper). This will be List of values. This is mandatory for the states of West Bengal. Accepted values are - PAN_CARD, DRIVING_LICENSE, VOTER_ID, PASSPORT, ANY_OTHER_OFFICIAL_ID. Allowed: `PAN_CARD`, `DRIVING_LICENSE`, `VOTER_ID`, `PASSPORT`, `ANY_OTHER_OFFICIAL_ID`. | — | | `firstPartyOVDValue` | string | No | The OVD Value of the first party (for the stamp paper). This is mandatory for the states of West Bengal. | — | | `secondPartyOVDType` | string | No | The OVD Type of the second party (for the stamp paper). This will be List of values. This is mandatory for the states of West Bengal. Accepted values are - PAN_CARD, DRIVING_LICENSE, VOTER_ID, PASSPORT, ANY_OTHER_OFFICIAL_ID. Allowed: `PAN_CARD`, `DRIVING_LICENSE`, `VOTER_ID`, `PASSPORT`, `ANY_OTHER_OFFICIAL_ID`. | — | | `secondPartyOVDValue` | string | No | The OVD Value of the second party (for the stamp paper). This is mandatory for the states of West Bengal. | — | ##### NeslEntity NeSL entity details for non-individual participants (companies, partnerships, etc.). - **For `NON_INDIVIDUAL_LOAN` and `NON_LENDING`:** Only one entity object is allowed. - **For `EBG`:** Multiple entity objects may be passed based on the number of non-individual participants. They are maintained as an array. - The entity object is optional. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `entityName` | string | Yes | Name of the entity associated with the document. - **Max length:** 100 characters - **Allowed characters:** Alphanumeric only | `ABC Corporation Pvt Ltd` | | `entityPan` | string | Yes | PAN number of the entity associated with the document. - **Length:** 10 characters - **Allowed characters:** Alphanumeric only - **Format:** First 5 characters alphabetic, next 4 numeric, last character alphabetic. - **4th character rule:** Must be `C` or `E`, OR `P` when `legalConstitution` is `PROPRIETORSHIP`, OR `F` when `legalConstitution` is `PARTNERSHIP`. | `ASDCB1234B` | | `legalConstitution` | string | Yes | Legal constitution of the entity. Accepted values are- - `RESIDENT_INDIVIDUAL` - `PUBLIC_LTD` - `PRIVATE_LTD` - `LLP` - `PROPRIETORSHIP` - `PARTNERSHIP` - `ENTITY_CREATED_BY_STATUTE` - `TRUST` - `HUF` - `CO_OP_SOCIETY` - `ASSOCIATION_OF_PERSONS` - `GOVERNMENT` - `SELF_HELP_GROUP` - `NON_RESIDENT` - `FOREIGN_COMPANY` Allowed: `RESIDENT_INDIVIDUAL`, `PUBLIC_LTD`, `PRIVATE_LTD`, `LLP`, `PROPRIETORSHIP`, `PARTNERSHIP`, `ENTITY_CREATED_BY_STATUTE`, `TRUST`, `HUF`, `CO_OP_SOCIETY`, `ASSOCIATION_OF_PERSONS`, `GOVERNMENT`, `SELF_HELP_GROUP`, `NON_RESIDENT`, `FOREIGN_COMPANY`. | — | | `dateOfIncorporation` | string | Yes | Date of incorporation of the legal entity. - **Format:** YYYY-MM-DD - **Length:** 10 characters | `1992-05-18` | | `emailId` | string | Yes | Email address of the entity. - **Max length:** 100 characters - **Allowed special characters:** `-`, `_`, `.`, `@` - **Format:** Must be a valid email address. | `abc@company.com` | | `mobileNumber` | string | Yes | Contact number of the entity. - **Length:** 10 characters - **Allowed characters:** Numeric only | `7795719077` | | `registeredAddress` | string | Yes | Registered office address of the entity. - **Max length:** 300 characters - **Allowed characters:** Alphanumeric and `@!@#$%^&*()_+-=}{[]:;\|'.,/?~` | `Bangalore` | | `registeredPincode` | string | Yes | PIN code of the registered office address. Must be a valid 6-digit Indian PIN code. - **Length:** 6 characters - **Allowed characters:** Numeric only | `560001` | | `communicationAddress` | string | Yes | Communication address of the entity. - **Max length:** 300 characters - **Allowed characters:** Alphanumeric and `@!@#$%^&*()_+-=}{[]:;\|'.,/?~` | `Test` | | `communicationAddressPinCode` | string | Yes | PIN code of the communication address. Must be a valid 6-digit Indian PIN code. - **Length:** 6 characters - **Allowed characters:** Numeric only | `111111` | | `businessUnitCode` | string | No | Business unit code of the entity. **Only for `EBG`.** - **Max length:** 30 characters - **Allowed characters:** Alphanumeric only | `BU001` | ##### NeslParticipants NeSL participant details. The number of participants must equal the number of NeSL-type invitees in the request. The first participant (matching the first NeSL invitee) must have contactRelation set to `DEBTOR`. For `NON_INDIVIDUAL_LOAN`, participants additionally require: registeredAddress, registeredPinCode, communicationAddress, communicationAddressPinCode, and a company PAN (4th letter C or E in officialDocId). | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `fullName` | string | Yes | Full name of the Party. | — | | `contactPersonName` | string | No | Full name of the contact person of the Party. | — | | `contactRelation` | string | Yes | Relation of the party to the debt (Debtor, Guarantor, Co-obligant, Beneficiary, Creditor). Accepted values are- CREDITOR, DEBTOR, GUARANTOR, CO_OBLIGANT, SECURITY_PROVIDER, ASSIGNEE, BENEFICIARY. Allowed: `CREDITOR`, `DEBTOR`, `GUARANTOR`, `CO_OBLIGANT`, `SECURITY_PROVIDER`, `ASSIGNEE`, `BENEFICIARY`. | — | | `emailId` | string | Yes | Email ID of the signer. | — | | `mobileNumber` | string | Yes | Mobile Number of the signer. | `9876543210` | | `dob` | string | Yes | Date of Birth/Incorporation. | `1990-05-15` | | `legalConstitution` | string | Yes | Legal constitution of the signer (Resident Individual, Private Limited, Public Limited, LLP, Proprietorship, Partnership, Entity created by Statute, Trust, HUF, Coop Society, Association of Persons, Government, Self Help Groups, Non-Resident, Foreign Company). Accepted values are- RESIDENT_INDIVIDUAL, PUBLIC_LTD, PRIVATE_LTD, LLP, PROPRIETORSHIP, PARTNERSHIP, ENTITY_CREATED_BY_STATUTE, TRUST, HUF, CO_OP_SOCIETY, ASSOCIATION_OF_PERSONS, GOVERNMENT, SELF_HELP_GROUP, NON_RESIDENT, FOREIGN_COMPANY. Allowed: `RESIDENT_INDIVIDUAL`, `PUBLIC_LTD`, `PRIVATE_LTD`, `LLP`, `PROPRIETORSHIP`, `PARTNERSHIP`, `ENTITY_CREATED_BY_STATUTE`, `TRUST`, `HUF`, `CO_OP_SOCIETY`, `ASSOCIATION_OF_PERSONS`, `GOVERNMENT`, `SELF_HELP_GROUP`, `NON_RESIDENT`, `FOREIGN_COMPANY`. | — | | `alternateEmailId` | string | No | Alternate email ID of the signer. | — | | `alternateMobileNumber` | string | No | Alternate mobile of the signer. | — | | `officialDocType` | string | Yes | Official Document Type (Pan Card, Driving License, Voter ID, Passport, Others). Accepted values are- PAN_CARD, DRIVING_LICENSE, VOTER_ID, PASSPORT, ANY_OTHER_OFFICIAL_ID. Allowed: `PAN_CARD`, `DRIVING_LICENSE`, `VOTER_ID`, `PASSPORT`, `ANY_OTHER_OFFICIAL_ID`. | — | | `officialDocId` | string | Yes | Official Document ID. | — | | `registeredAddress` | string | No | Registered address of the signer. | — | | `registeredPinCode` | string | No | PIN code of the registered address of the signer. | — | | `designation` | string | No | Designation of the signer (relevant in case of corporate entities). | — | | `communicationAddress` | string | No | Communication address of the signer. | — | | `communicationAddressPinCode` | string | No | PIN code of the communication address of the signer. | — | | `cin` | string | No | Corporate Identification Number (relevant in case of corporate entities). | — | | `kin` | string | No | KYC Identification Number of signer. | — | | `partyType` | string | Yes | Type of Party (Indian entity/ Resident Individual/ Foreign Entity/ NRI/Foreign Individual. Accepted values are- INDIAN_ENTITY, RESIDENT_INDIVIDUAL, FOREIGN_ENTITY, NRI. Allowed: `INDIAN_ENTITY`, `RESIDENT_INDIVIDUAL`, `FOREIGN_ENTITY`, `NRI`. | — | | `isIndividual` | string | No | Whether the participant is individual or not Accepted values are - YES, NO Allowed: `YES`, `NO`. | — | | `signatoryGender` | string | No | Gender of the participant Accepted values are - MALE, FEMALE Allowed: `MALE`, `FEMALE`. | — | | `businessUnit` | string | No | Business Unit Code of the party. It is an alphanumeric string with a maximum length of 30 characters. (Only for eBG) | — | ##### NeslParties Additional NeSL party details for non-signing parties involved in the transaction. Unlike participants, neslParties do not need to match invitees. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `fullName` | string | Yes | Full name of the Party. | — | | `contactPersonName` | string | Yes | Full name of the contact person of the Party. | — | | `contactRelation` | string | Yes | Relation of the party to the debt (Debtor, Guarantor, Co-obligant, Beneficiary, Creditor). Accepted values are- CREDITOR, DEBTOR, GUARANTOR, CO_OBLIGANT, SECURITY_PROVIDER, ASSIGNEE, BENEFICIARY. Allowed: `CREDITOR`, `DEBTOR`, `GUARANTOR`, `CO_OBLIGANT`, `SECURITY_PROVIDER`, `ASSIGNEE`, `BENEFICIARY`. | — | | `emailId` | string | Yes | Email ID of the signer. | — | | `mobileNumber` | string | Yes | Mobile Number of the signer. | `9876543210` | | `dob` | string | Yes | Date of Birth/Incorporation. | `1990-05-15` | | `legalConstitution` | string | Yes | Legal constitution of the signer (Resident Individual, Private Limited, Public Limited, LLP, Proprietorship, Partnership, Entity created by Statute, Trust, HUF, Coop Society, Association of Persons, Government, Self Help Groups, Non-Resident, Foreign Company). Accepted values are- RESIDENT_INDIVIDUAL, PUBLIC_LTD, PRIVATE_LTD, LLP, PROPRIETORSHIP, PARTNERSHIP, ENTITY_CREATED_BY_STATUTE, TRUST, HUF, CO_OP_SOCIETY, ASSOCIATION_OF_PERSONS, GOVERNMENT, SELF_HELP_GROUP, NON_RESIDENT, FOREIGN_COMPANY. Allowed: `RESIDENT_INDIVIDUAL`, `PUBLIC_LTD`, `PRIVATE_LTD`, `LLP`, `PROPRIETORSHIP`, `PARTNERSHIP`, `ENTITY_CREATED_BY_STATUTE`, `TRUST`, `HUF`, `CO_OP_SOCIETY`, `ASSOCIATION_OF_PERSONS`, `GOVERNMENT`, `SELF_HELP_GROUP`, `NON_RESIDENT`, `FOREIGN_COMPANY`. | — | | `alternateEmailId` | string | No | Alternate email ID of the signer. | — | | `alternateMobileNumber` | string | No | Alternate mobile of the signer. | — | | `officialDocType` | string | Yes | Official Document Type (Pan Card, Driving License, Voter ID, Passport, Others). Accepted values are- PAN_CARD, DRIVING_LICENSE, VOTER_ID, PASSPORT, ANY_OTHER_OFFICIAL_ID. Allowed: `PAN_CARD`, `DRIVING_LICENSE`, `VOTER_ID`, `PASSPORT`, `ANY_OTHER_OFFICIAL_ID`. | — | | `officialDocId` | string | Yes | Official Document ID. | — | | `registeredAddress` | string | No | Registered address of the signer. | — | | `registeredPinCode` | string | No | PIN code of the registered address of the signer. | — | | `designation` | string | No | Designation of the signer (relevant in case of corporate entities). | — | | `communicationAddress` | string | No | Communication address of the signer. | — | | `communicationAddressPinCode` | string | No | PIN code of the communication address of the signer. | — | | `cin` | string | No | Corporate Identification Number (relevant in case of corporate entities). | — | | `kin` | string | No | KYC Identification Number of signer. | — | | `partyType` | string | Yes | Type of Party (Indian entity/ Resident Individual/ Foreign Entity/ NRI/Foreign Individual. Accepted values are- INDIAN_ENTITY, RESIDENT_INDIVIDUAL, FOREIGN_ENTITY, NRI. Allowed: `INDIAN_ENTITY`, `RESIDENT_INDIVIDUAL`, `FOREIGN_ENTITY`, `NRI`. | — | | `isIndividual` | string | No | Whether the parties is individual or not. Mandatory for eBG Accepted values are - YES, NO Allowed: `YES`, `NO`. | — | | `signatoryGender` | string | No | Gender of the participant Accepted values are - MALE, FEMALE Allowed: `MALE`, `FEMALE`. | — | ##### NeslSecurities | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `securityDescription` | string | Yes | Description of security. | — | | `assetsType` | string | Yes | Type of asset forming security (Movable, Immovable, Intangible, Not Classified). Accepted values are- MOVABLE, IMMOVABLE, INTANGIBLE, NOT_CLASSIFIED. Allowed: `MOVABLE`, `IMMOVABLE`, `INTANGIBLE`, `NOT_CLASSIFIED`. | — | | `chargeType` | string | Yes | Type of charge created (Mortgage, Hypothecation, Charge, Assignment, Pledge, Lien, Negative Lien, Guarantee, Others, Not Classified). Accepted values are- MORTGAGE, HYPOTHECATION, CHARGE, ASSIGNMENT, PLEDGE, LIEN, NEGATIVE_LIEN, GUARANTEE, OTHERS, NOT_CLASSIFIED. Allowed: `MORTGAGE`, `HYPOTHECATION`, `CHARGE`, `ASSIGNMENT`, `PLEDGE`, `LIEN`, `NEGATIVE_LIEN`, `GUARANTEE`, `OTHERS`, `NOT_CLASSIFIED`. | — | | `assetId` | string | Yes | Asset ID of the Security (used internally by the lender). | — | | `doc` | string | No | Date of creation of security. | — | | `dov` | string | No | Date of valuation of security. | — | | `cersaiId` | string | No | CERSAI ID of security created. | — | | `rocChargeId` | string | No | ROC ID for security created. | — | | `securityValue` | string | No | Value of security. | — | | `abc` | string | No | Asset ID of the Security (used internally by the lender). | — | #### Invitee Represents a single signer or approver in the eSigning workflow. Each invitee receives a unique signing URL and can be configured with signature verification, GPS restrictions, and face matching. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `name` | string | Yes | Full name of the invitee. - **Maximum Length:** 255 Characters | — | | `email` | string | No | Email address of the invitee. - **Required:** At least one of `email` or `phone` must be provided. - **Format:** `johndoe@example.com` | — | | `phone` | string | No | Mobile number of the invitee. - **Required:** At least one of `email` or `phone` must be provided. - **Format:** 10-digit mobile number | — | | `groupId` | string | No | Group ID for the invitee when using the Group Invitee feature. Find this value in the API payload downloaded from your Dashboard. - **Required:** When signing from a group. | — | | `groupName` | string | No | Group name for the invitee when using the Group Invitee feature. Auto-filled if configured in the Dashboard workflow. - **Required:** When signing from a group. | — | | `completionThreshold` | string | No | Completion threshold for the group. Auto-filled if configured in the Dashboard workflow. - **Required:** When signing from a group. | — | | `organizationName` | string | No | Organization name of the signer. - **Required:** When the workflow is configured to use organizational signatures. | — | | `defaultLanguageSelect` | string | No | Language for the signing journey presented to this invitee. - **Allowed:** `ENGLISH`, `HINDI`, `MARATHI`, `GUJARATI`, `BENGALI`, `MALAYALAM`, `TAMIL`, `TELUGU`, `KANNADA`, `ODIA` Allowed: `ENGLISH`, `HINDI`, `MARATHI`, `GUJARATI`, `BENGALI`, `MALAYALAM`, `TAMIL`, `TELUGU`, `KANNADA`, `ODIA`. | `ENGLISH` | | `faceMatchImage` | string | No | Reference image for face match verification. - **Required:** When face match is enabled in the workflow configuration. Omitting this when face match is enabled will return an error. - **Format:** Base64-encoded image | — | | `workflowPaymentCollectionConfig` | workflowPaymentCollectionConfig | No | Payment collection configuration for collecting a fee from the signer before they can sign the document. See **workflowPaymentCollectionConfig** below. | — | | `gpsConfig` | gpsConfig | No | GPS location restriction and accuracy configuration for the signer. When enabled, the signer must be within the specified location and accuracy threshold to sign. **Dashboard Override:** If the workflow toggle "Allow sender to make changes while running" is OFF, API values are ignored and dashboard values are used instead. See **gpsConfig** below. | — | | `aadhaarConfig` | AadhaarConfig | No | Aadhaar certificate verification configuration. When enabled, the signer's Aadhaar certificate details are verified against the values provided here before signing. > On any verification mismatch or failure to meet the threshold, whether the signer can proceed depends on sender's **[Department > eSignature](https://knowledge.leegality.com/document-execution/settings/Department/esignature-settings#configure-certificate-verification-settings)** settings. - **Dashboard Override:** If a verification field is disabled on the Dashboard, the API value is ignored. If enabled and marked mandatory on the Dashboard, the field becomes required. See **AadhaarConfig** below. | — | | `dscConfig` | DscConfig | No | DSC verification configuration. > On any verification mismatch or failure to meet the threshold, whether the signer can proceed depends on sender's **[Department > eSignature](https://knowledge.leegality.com/document-execution/settings/Department/esignature-settings#configure-certificate-verification-settings)** settings. - **Dashboard Override:** If a verification field is disabled on the Dashboard, the API value is ignored. If enabled and marked mandatory on the Dashboard, the field becomes required regardless of the API value. See **DscConfig** below. | — | | `neslConfig` | NeslConfig | No | **Dashboard Override:** If a verification field is disabled on the Dashboard, the API value is ignored. If enabled and marked mandatory on the Dashboard, the field becomes required regardless of the API value. See **NeslConfig** below. | — | ##### workflowPaymentCollectionConfig Payment collection configuration for collecting a fee from the signer before they can sign the document. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `amount` | string | No | Amount to collect from the signer before signing. - **Range:** Greater than ₹10 | `500` | ##### gpsConfig GPS location restriction and accuracy configuration for the signer. When enabled, the signer must be within the specified location and accuracy threshold to sign. **Dashboard Override:** If the workflow toggle "Allow sender to make changes while running" is OFF, API values are ignored and dashboard values are used instead. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `applyLocationRestriction` | boolean | No | Enables location-based signing restriction. When `true`, the signer can only sign from within the area defined by `allowedLatitude`, `allowedLongitude`, and `permissibleRadius`. | — | | `allowedLatitude` | number | No | Latitude of the permitted signing location. - **Required:** When `applyLocationRestriction` is `true`. - **Format:** Decimal degrees | `29.982643` | | `allowedLongitude` | number | No | Longitude of the permitted signing location. - **Required:** When `applyLocationRestriction` is `true`. - **Format:** Decimal degrees | `78.055405` | | `permissibleRadius` | integer | No | Radius (in meters) around the permitted location within which signing is allowed. - **Required:** When `applyLocationRestriction` is `true`. | `5000` | | `applyLocationAccuracy` | boolean | No | Enables GPS accuracy-based restriction. When `true`, the signer's device GPS accuracy is validated against `accuracyThreshold`. | — | | `accuracyThreshold` | integer | No | Maximum allowed GPS accuracy in meters. Signing is blocked if the device accuracy exceeds this value. - **Required:** When `applyLocationAccuracy` is `true`. | `10000` | ##### AadhaarConfig Aadhaar certificate verification configuration. When enabled, the signer's Aadhaar certificate details are verified against the values provided here before signing. > On any verification mismatch or failure to meet the threshold, whether the signer can proceed depends on sender's **[Department > eSignature](https://knowledge.leegality.com/document-execution/settings/Department/esignature-settings#configure-certificate-verification-settings)** settings. - **Dashboard Override:** If a verification field is disabled on the Dashboard, the API value is ignored. If enabled and marked mandatory on the Dashboard, the field becomes required. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `verifyName` | boolean | No | Indicates whether the signer's name on the signing certificate must match the name provided in the request. | — | | `verifySmartName` | boolean | No | When `true`, returns a percentage similarity score between the certificate name and the provided name. | — | | `verifyPincode` | string | No | PIN code to verify against the signer's certificate. Ignored if the certificate does not contain a PIN code. | `247667` | | `verifyYob` | string | No | Year of birth to verify against the signer's certificate. Only works for Aadhaar eSign or NESL. - **Format:** 4-digit year | `1998` | | `verifyTitle` | string | No | Last 4 digits of the signer's Aadhaar UID to verify against the certificate. Only works for Aadhaar eSign or NESL. | `3870` | | `verifyState` | string | No | State name to verify against the signer's certificate. | `Uttarakhand` | | `verifyGender` | string | No | Gender to verify against the signer's certificate.Only works for Aadhaar eSign or NESL. - **Allowed:** `M` (Male), `F` (Female), `T` (Transgender) Allowed: `M`, `F`. | — | ##### DscConfig DSC verification configuration. > On any verification mismatch or failure to meet the threshold, whether the signer can proceed depends on sender's **[Department > eSignature](https://knowledge.leegality.com/document-execution/settings/Department/esignature-settings#configure-certificate-verification-settings)** settings. - **Dashboard Override:** If a verification field is disabled on the Dashboard, the API value is ignored. If enabled and marked mandatory on the Dashboard, the field becomes required regardless of the API value. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `verifyName` | boolean | No | When `true`, the signer's name in the signing certificate must match the name provided. - **Note:** If set as mandatory in the Dashboard workflow, this API value is ignored. | — | | `verifySmartName` | boolean | No | When `true`, returns a percentage similarity score between the certificate name and the provided name. - **Note:** If set as mandatory in the Dashboard workflow, this API value is ignored. | — | | `verifyPincode` | string | No | PIN code to verify against the signer's certificate. Ignored if the certificate does not contain a PIN code. - **Note:** If turned off in the Dashboard workflow, this API value is ignored. | `247667` | | `verifyState` | string | No | State name to verify against the signer's certificate. Ignored if the certificate does not contain a state. - **Note:** If turned off in the Dashboard workflow, this API value is ignored. | `Uttarakhand` | ##### NeslConfig **Dashboard Override:** If a verification field is disabled on the Dashboard, the API value is ignored. If enabled and marked mandatory on the Dashboard, the field becomes required regardless of the API value. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `verifyName` | boolean | No | When `true`, the signer's name in the signing certificate must match the name provided. | — | | `verifySmartName` | boolean | No | When `true`, returns a percentage similarity score between the certificate name and the provided name. | — | | `verifyPincode` | string | No | PIN code to verify against the signer's certificate. Ignored if the certificate does not contain a PIN code. | `247667` | | `verifyYob` | integer | No | Year of birth to verify against the signer's certificate. - **Format:** 4-digit year | `1998` | | `verifyTitle` | string | No | Last 4 digits of the signer's Aadhaar UID to verify against the certificate. | `3870` | | `verifyState` | string | No | State name to verify against the signer's certificate. Ignored if the certificate does not contain a state. | `Uttarakhand` | | `verifyGender` | string | No | Gender to verify against the signer's certificate. Only works for Aadhaar eSign or NESL. - **Allowed:** `M` (Male), `F` (Female), `T` (Transgender) Allowed: `M`, `F`, `T`. | — | #### Cc Carbon Copy recipient who receives a copy of the signed document via email after all signers complete their action. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `name` | string | Yes | Full name of the CC recipient. | `Finance Team` | | `email` | string | Yes | Email address of the CC recipient. The recipient will receive a copy of the signed document. - **Format:** Valid email address. | `finance@example.com` | ### Sample Request ```json { "profileId": "7WMVrYf", "file": { "name": "KYC_Application_Form", "file": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9UeXBlL...", "fields": [ { "id": "field_123", "name": "employeeName", "type": "text", "value": "John Doe", "checked": true, "multiple": false, "width": "200", "height": "150", "required": true } ], "autoGroupedFieldsFill": true, "additionalFiles": [ "JVBERi0xLjQKJeLjz9MKMSAwIG9iago...", "JVBERi0xLjcKJcfsj6UKMzQgMCBvYmo..." ] }, "stampSeries": "string", "multipleStampSeries": [ { "stampSeries": "07", "seriesQuantity": "2" } ], "seriesGroup": "DL02", "stampValue": "5000", "stampUpload": { "state": "Maharashtra", "denomination": "100", "firstPartyName": "ABC Pvt Ltd", "secondPartyName": "XYZ Corporation", "stampSerial": "IN-KA20230012345", "stampFile": "JVBERi0xLjQKJeLjz9MK..." }, "revenueStampSeries": "06", "revenueStampQuantity": "2", "neslData": { "documentDetail": { "loanNumber": "string", "sanctionNumber": "string", "registrationType": "INDIVIDUAL_LOAN", "state": "string", "branchName": "string", "branchAddress": "string", "dateOfSanction": "2018-02-02", "emiAmount": "string", "rateOfInterest": "string", "sanctionAmount": "string", "tenure": "string", "typeOfDebt": "FINANCIAL", "accountClosedFlag": "YES", "fundType": "FUNDED", "sanctionCurrency": "INR", "creditSubtype": "CREDIT_FACILITY", "facilityName": "string", "amountOverdue": "string", "otherChargeAmount": "string", "debtStartDate": "string", "interestAmount": "string", "oldDebtRefNo": "string", "principalOutstanding": "string", "loanRemark": "string", "totalOutstandingAmount": "string", "creditorBusinessUnit": "string", "drawingPower": "string", "daysPastDue": "string", "docRefNo": "string", "expiryDateEbg": "string", "claimExpiryDate": "string", "contractRefNo": "string", "vendorCode": "string", "portalId": "string", "event": "string" }, "stampData": [ { "firstParty": "string", "secondParty": "string", "stampDutyAmount": "string", "considerationPrice": "string", "descriptionOfDocument": "string", "stampDutyPaidBy": "string", "articleCode": "string", "articleSubCode": "string", "firstPartyPin": "string", "secondPartyPin": "string", "firstPartyOVDType": "PAN_CARD", "firstPartyOVDValue": "string", "secondPartyOVDType": "PAN_CARD", "secondPartyOVDValue": "string" } ], "entities": [ { "entityName": "ABC Corporation Pvt Ltd", "entityPan": "ASDCB1234B", "legalConstitution": "RESIDENT_INDIVIDUAL", "dateOfIncorporation": "1992-05-18", "emailId": "abc@company.com", "mobileNumber": "7795719077", "registeredAddress": "Bangalore", "registeredPincode": "560001", "communicationAddress": "Test", "communicationAddressPinCode": "111111", "businessUnitCode": "BU001" } ], "participants": [ { "fullName": "string", "contactPersonName": "string", "contactRelation": "CREDITOR", "emailId": "string", "mobileNumber": "9876543210", "dob": "1990-05-15", "legalConstitution": "RESIDENT_INDIVIDUAL", "alternateEmailId": "string", "alternateMobileNumber": "string", "officialDocType": "PAN_CARD", "officialDocId": "string", "registeredAddress": "string", "registeredPinCode": "string", "designation": "string", "communicationAddress": "string", "communicationAddressPinCode": "string", "cin": "string", "kin": "string", "partyType": "INDIAN_ENTITY", "isIndividual": "YES", "signatoryGender": "MALE", "businessUnit": "string" } ], "neslParties": [ { "fullName": "string", "contactPersonName": "string", "contactRelation": "CREDITOR", "emailId": "string", "mobileNumber": "9876543210", "dob": "1990-05-15", "legalConstitution": "RESIDENT_INDIVIDUAL", "alternateEmailId": "string", "alternateMobileNumber": "string", "officialDocType": "PAN_CARD", "officialDocId": "string", "registeredAddress": "string", "registeredPinCode": "string", "designation": "string", "communicationAddress": "string", "communicationAddressPinCode": "string", "cin": "string", "kin": "string", "partyType": "INDIAN_ENTITY", "isIndividual": "YES", "signatoryGender": "MALE" } ], "neslSecurities": [ { "securityDescription": "string", "assetsType": "MOVABLE", "chargeType": "MORTGAGE", "assetId": "string", "doc": "string", "dov": "string", "cersaiId": "string", "rocChargeId": "string", "securityValue": "string", "abc": "string" } ] }, "invitees": [ { "name": "string", "email": "string", "phone": "string", "groupId": "string", "groupName": "string", "completionThreshold": "string", "organizationName": "string", "defaultLanguageSelect": "ENGLISH", "faceMatchImage": "string", "workflowPaymentCollectionConfig": { "amount": "500" }, "gpsConfig": { "applyLocationRestriction": false, "allowedLatitude": 29.982643, "allowedLongitude": 78.055405, "permissibleRadius": 5000, "applyLocationAccuracy": false, "accuracyThreshold": 10000 }, "aadhaarConfig": { "verifyName": false, "verifySmartName": false, "verifyPincode": "247667", "verifyYob": "1998", "verifyTitle": "3870", "verifyState": "Uttarakhand", "verifyGender": "M" }, "dscConfig": { "verifyName": false, "verifySmartName": false, "verifyPincode": "247667", "verifyState": "Uttarakhand" }, "neslConfig": { "verifyName": false, "verifySmartName": false, "verifyPincode": "247667", "verifyYob": 1998, "verifyTitle": "3870", "verifyState": "Uttarakhand", "verifyGender": "M" } } ], "cc": [ { "name": "Finance Team", "email": "finance@example.com" } ], "irn": "string" } ``` --- ## Responses ### 200 — eSigning request created. Check status in the response body — 1 indicates success, 0 indicates a validation or configuration error. On success, the data object contains documentId, per-invitee signUrl, and expiryDate. Response returned by the Create eSigning Request endpoint. Contains the document ID, invitee signing URLs, and status/message details. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `status` | integer | No | Indicates success (`1`) or failure (`0`). Allowed: `0`, `1`. | — | | `messages` | array\ | No | Array of message objects containing success, error, or warning details. On success, contains `{"code": "simpleWorkFlow.success", "message": "Invitations sent successfully."}`. Also contain warning messages even on success (e.g., when dashboard overrides API values). See **Message** below. | — | | `data` | object | No | Response data containing the document ID and invitee details. Returns an empty object `{}` when `status` is `0` (failure). See **data** below. | — | #### Message Message object containing a machine-readable code and a human-readable description. Used for success confirmations, errors, and warnings. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `code` | string | No | Response message code. | `simpleWorkFlow.success` | | `message` | string | No | Human-readable success or error message. | `Invitations sent successfully.` | #### data Response data containing the document ID and invitee details. Returns an empty object `{}` when `status` is `0` (failure). | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `documentId` | string | No | Unique Leegality ID for this eSigning request. | `01KJPV67NZQFX5P2JRTSPSFKYY` | | `irn` | string | No | Internal Reference Number set for this document. | `LOAN-2024-00142` | | `invitees` | array\ | No | Array of invitee objects with their signing URLs and status. Includes all invitees — both from the API request and any auto-added from dashboard configuration. See **Request** below. | — | ##### Request Invitee details returned in the Create eSigning Request response. Contains the signing URL and invitation status for each invitee. | Field | Type | Required | Description | Example | |-------|------|----------|-------------|---------| | `name` | string | No | Name of the invitee. | `Abhishek Sharma` | | `email` | string | No | Email address of the invitee. | `abhishek@example.com` | | `phone` | string | No | Mobile number of the invitee. | `9876543210` | | `signUrl` | string | No | Signing URL unique to this invitee and request. | `https://app1.leegality.com/sign/uuid-here` | | `active` | boolean | No | Whether the signing URL is currently active. | — | | `expiryDate` | string | No | Expiry date and time of the signing invite. - **Format:** `DD-MM-YYYY HH:MM:SS` - **Note:** If `null`, the invite expires in 45 minutes. | `2026-03-12T18:29:59Z` | ### Sample Response (200) ```json { "status": 0, "messages": [ { "code": "simpleWorkFlow.success", "message": "Invitations sent successfully." } ], "data": { "documentId": "01KJPV67NZQFX5P2JRTSPSFKYY", "irn": "LOAN-2024-00142", "invitees": [ { "name": "Abhishek Sharma", "email": "abhishek@example.com", "phone": "9876543210", "signUrl": "https://app1.leegality.com/sign/uuid-here", "active": false, "expiryDate": "2026-03-12T18:29:59Z" } ] } } ```