---
title: "Use this API to edit or update an existing request."
method: PUT
path: "/v2.1/sign/request"
tags: ["Document Execution Platform"]
---

# Use this API to edit or update an existing request.

`PUT /v2.1/sign/request`

A POST call has to be made to this API with the documentID and the updated details. You need to pass only the values that you need to update.
Edits can be made to all the parameters available in this API. To edit the configuration of the invitation of a particular invitee, pass the signUrl in addition to the documentID. No edits can be made to the configurations of the invitees who have already signed the document.

## Request body

- SignRequestEdit
  - `documentId` string, required — documentID is the unique Leegality Document ID. Pass the documentID of the Document, for which you want to edit the details.
  - `invitees` InviteeEdit[]
    - `url` string, required — Pass the relevant signUrl.
    - `name` string — Name of the invitee.
    - `emailNotification` boolean — Pass 'true' if you want to send the eSigning invitation and other notifications to the invitee's email.
    - `phoneNotification` boolean — Pass 'true' if you want to send the eSigning invitation and other notifications to the invitee's phone.
    - `expiryTime` integer — Pass the value of date in long format to set the absolute value of date & time for the expiration of invitation.
    - `appearances` Appearance[]
      - `x1` integer, required — Lower-left x-coordinate for the visual appearance of the digital signature on a specific page. Default x1 coordinate of the first signature is 20, default x1 coordinate for the second signature is 120.
      - `y1` integer, required — Lower-left y-coordinate for the visual appearance of the digital signature on a specific page. Default x1 coordinate of the first signature is 20, default x1 coordinate for the second signature is 20.
      - `x2` integer, required — Upper-right x-coordinate for the visual appearance of the digital signature on a specific page. Default x1 coordinate of the first signature is 120, default x1 coordinate for the second signature is 220.
      - `y2` integer, required — Upper-right y-coordinate for the visual appearance of the digital signature on a specific page. Default x1 coordinate of the first signature is 80, default x1 coordinate for the second signature is 80.
      - `page` string, required — This defines the Page Numbers on which the visual representation of the Digital Signature will be made with the above coordinates. Default value is 'A'. Possible values are 'A'- All Pages, 'F'- First Page, 'L'-Last Page, 'E'- Even Pages, 'O'- Odd Pages or comma separated Page numbers eg. '1,2,5'.
    - `fixedName` boolean — Pass 'true' if you do not want to allow the invitee to edit his Name before eSigning.
    - `noName` boolean — Pass 'true' if you do not want the invitee's provided Name to be printed in the visual representation of the Digital Signature.
    - `supportingDocuments` SupportDocument[]
      - `name` string — Pass this parameter if you want the user to upload a supporting document before being able to eSign. Pass the type of the Supporting Document in this parameter. For example, Board Resolution.
    - `viewSupportingDocuments` boolean — Pass 'true' if you want the invitee to be able to see the supporting documents uploaded by all the invitees.
    - `orgConfig` OrgConfig
      - `require` boolean — Pass true, if you want the signer to sign on behalf of an organisation.
      - `name` string — Pass the name of the organisation on whose behalf the signer will be eSigning. In case, this value is not passed but the value of the require key above is true, then the signer will be asked to enter his organisation's name before signing.
      - `sealType` string — You can mandate the user to use an Organisational Seal while signing on behalf of an organisation. The seal will be made based on the signer's organisation name- either passed by you or entered by him. Use the following values- AUTHORIZED_SIGNATORY_SEAL- Authorized Signatory Seal DIRECTOR_SEAL- Director Seal CUSTOM- Use this to ask the user to upload an image of the Seal
    - `enforceAuthentication` boolean — Pass true if you want the invitee to go through an OTP authentication before being able to access the document both before and after signing.
    - `captureLocation` boolean — Pass true if you want to capture the GPS coordinates of the invitee. If you are using our Front-end Mobile SDKs, please ensure that you own Application has the ability to access signer's GPS location.
    - `gpsConfig` GpsConfig — Location and Accuracy based restriction parameters can be configured here
      - `applyLocationRestriction` boolean — Pass this parameter as true to enable location-based restriction for the signer. The signer will be able to sign only if their device location is within the location specified in allowedLatitude, allowedLongitude and permissbleRadius.
      - `allowedLatitude` string — Pass the latitude value in decimal degrees format of the required location. This value will be used to assess if the signer location is within the restricted location.
      - `allowedLongitude` string — Pass the longitude value in decimal degrees format of the required location. This value will be used to assess if the signer location is within the restricted location.
      - `permissibleRadius` integer — Pass the permissible radius value in meters. This value, along with allowedLatitude and allowedLongitude, determines the restricted location area from which the Signer can sign.
      - `applyLocationAccuracy` boolean — Pass this parameter as true to enable accuracy-based restriction for the signer. At the time of signing, the signer's device's GPS accuracy will be checked against this value.
      - `accuracyThreshold` integer — Pass the allowed accuracy threshold here. The signer will not be able to sign if the captured accuracy of signer's device is more than the value specified in this parameter.
    - `capturePhoto` boolean — Pass true if you want to capture the live photo of the invitee before the signature. If you are using our Front-end Mobile SDKs, please ensure that your application has access to the signer's camera.
    - `webhook` Webhook — Webhook should be configured in order to receive a POST API call to the URL provided when the invitee signs the document. A call is made to success URL in case of successful signing of the document and in case of signature failure, a call is made to the error URL. Note: In case of webhook version 2.5, the URL has to be passed for both success and error parameter in order to receive the corresponding call. Same webhook URL can also be passed in both success and error
      - `success` string — If provided, we will make POST calls to this URL after successful signing by the signer with the data as described in webhookData model below.
      - `failure` string — If provided, we will make POST calls to this URL after expiry or failure of the signature for the user as per the data described in errorWebhookdata model below.
      - `version` number — If provided, we will make call to specific version of webhook data. Valid values are '2.1', '2.2', '2.3', '2.5'.
      - `profileId` string — If provided, we will encrypt the webhook payload and/or add the additional custom headers as per the configured requirement against the provided Profile ID. To obtain a Profile ID for your requirement, please contact your Leegality customer success manager.
    - `baseUrl` string — Provide the URL where you want the user to be redirected on clicking the Back button during the transaction. (Not applicable if you are using our Front-end SDKs).
    - `redirectUrl` string — Provide the URL where you want the user to be redirected on completion/rejection of the transaction (Not applicable if you are using our Front-end SDKs). documentId will be appended to the URL on redirection.
    - `retry` integer — Use this parameter to define the number of re-attempts you want the user to take in case of aadhaar authentication failure in authenticating Aadhaar Number.
    - `enableFaceMatch` boolean — Pass true or false depending on whether face match is to be enabled or not, "capturePhoto" needs to be enabled to use Face Match.
    - `faceMatchRetryAttempts` integer — Use this parameter to define the number of Face Match retries allowed for the signer.
    - `faceMatchImage` string — Use this parameter to pass the base64 formatted string of the image to be compared with the photo captured during the signing journey.
    - `smartUserLivelinessConfig` SmartUserLiveliness
      - `enableSmartUserLiveliness` boolean — Set this parameter to `true` to activate Smart User Liveliness, or `false` to deactivate it. Note that to enable Smart User Liveliness, the parameter capturephoto must also be set to `true`.
      - `smartUserLivelinessRetryAttempts` integer — This parameter specifies the maximum number of retry attempts allowed for Smart User Liveliness by the signer. This parameter is mandatory.
    - `customConsent` string — You can pass any custom consent that the signer needs to agree to before eSigning. This will be in addition to Leegality's standard signature specific consent. Maximum length of consent will be 500 characters.
    - `signatures` SignatureType[]
      - `type` string, required — Pass the value of the type of signature. Accepted values are- AADHAAR, VIRTUAL_SIGN, DSC, OFFLINE_SIGN , QUICK_SIGN, DOC_SIGNER, AUTOMATED_SIGN, NESL_ESIGN, and VISUAL_SIGN.The value OFFLINE_SIGN refers to Cloud DSC.
      - `config` SignatureConfig
        - `authTypes` AuthenticationType[], required — This parameter works only with Aadhaar eSign. Accepted values are - OTP, BIO, IRIS, FACE. Use OTP for OTP authentication, BIO for biometric authentication, IRIS for iris authentication or all to allow the user to choose from OTP and Biometric and IRIS while signing.
        - `allowDraw` boolean — Pass 'true' if you want to allow the signer to draw their signature on the screen. Only applicable for virtual signature.
        - `allowChoose` boolean — Pass 'true' if you want to allow user to choose their signature from a set of auto generated signature images based on their name. Only applicable for virtual signature.
        - `affixFingerprint` boolean — Pass 'true' if you want to allow the signer to affix an image of their fingerprint, scanned using a supported biometric fingerprint detection device. Fingerprint detection works only on Windows and Android devices, and requires access to a supported biometric device. Biometric device required to capture fingerprint. Only applicable for virtual signature.
        - `allowQuickDraw` boolean — Pass 'true' for Quick Sign if you want to allow the signer to draw their signature on the screen. Only applicable for quick signature.
        - `allowQuickChoose` boolean — Pass 'true' for Quick Sign if you want to allow user to choose their signature from a set of auto generated signature images based on their name. Only applicable for quick signature.
        - `quickSignAffixFingerprint` boolean — Pass 'true' for Quick Sign if you want to allow the signer to affix an image of their fingerprint, scanned using a supported biometric fingerprint detection device. Fingerprint detection works only on Windows and Android devices, and requires access to a supported biometric device. Biometric device required to capture fingerprint. Only applicable for quick signature.
        - `quickSignPhysicalSignature` boolean — Pass `true` to allow the signer to upload an image of their physical signature.
        - `physicalSignature` boolean — Pass 'true' if you want to allow the signer to upload an image of their signature.
        - `f2fmode` boolean — Pass 'true' if you want to enable f2f mode in NESL eSign.
        - `verifyName` boolean — Pass 'true' if you want the document to be generated only if the provided Name matches with the Name contained in the Digital Signature Certificate. This parameter will only work for Aadhaar eSign, DSC or OFFLINE_SIGN. In case of mismatch, the transaction will be charged but the document will be rejected. Character case is ignored for verification.
        - `verifySmartName` boolean — Pass 'true' if you want the document to be generated only if the provided Name matches with the Name contained in the Digital Signature Certificate to a certain percentage specified in the account. This parameter will only work for Aadhaar eSign, DSC or OFFLINE_SIGN. In case of the match percentage being less than the saved value, the transaction will take the course saved in the account. Character case is ignored for verification.
        - `verifyPincode` string — Pass PINCODE if you want to verify the user's PIN Code with the PIN Code contained in the Digital Signature Certificate. This parameter will only work for Aadhaar eSign, DSC or OFFLINE_SIGN. The document will only be generated if the PIN Codes match. The parameter will be ignored if this field is not present in the Certificate.
        - `verifyState` string — Pass value of State if you want to verify the user's State with the value of State contained in the Digital Signature Certificate. This parameter will only work for Aadhaar eSign, DSC or OFFLINE_SIGN. The document will only be generated if the values of States match.The parameter will be ignored if this field is not present in the Certificate.
        - `verifyYob` integer — Pass YEAR OF BIRTH in DIGITS if you want to verify the user's Year of Birth with the Year of Birth contained in the Digital Signature Certificate. This parameter will only function in case of an Aadhaar eSign. The document will only be generated if the Year of Birth matches. In case the certificate does not have this value, this parameter will be ignored.
        - `verifyGender` string — Pass Gender value if you want to verify the user's Gender with the value contained in the Digital Signature Certificate issued.This parameter will only function in case of Aadhaar eSign. The document will only be generated if both the values match. Possible values are 'M' for Male, 'F' for Female and 'T' for Transgender. All values have to be in Capitals. In case the certificate does not have this value, the parameter will be ignored.
        - `verifyTitle` string — Pass the last 4 digits of the UID No. if you want to verify the user's identity as contained in the Digital Signature Certificate. This parameter only works with Aadhaar eSign or OFFLINE_SIGN (where the SignerID is created using Aadhaar XML). The document will only be generated if both the values match. In case, the value is not present in the certificate, this parameter will be ignored.
        - `removeSignatureVerificationDocument` boolean — Pass 'true' if you want to remove the signature verification document. This parameter will only work for Virtual eSign.
        - `signatureVerificationDocument` string — Pass the value of Signature verification document in Base64 format while creating a request. The same document will be used to verify signature against the signer's signature. This parameter works only with Virtual eSign.
        - `id` string — This parameter works only with Automated Signer. Pass the value of the Automated Virtual Sign ID or Automated Document Signer ID after obtaining the same from your Dashboard.
        - `passkey` string — This parameter works only with Automated Signer. Pass the value of the passkey for the corresponding Automated Signer Id passed above.
        - `allowVisualDraw` boolean — Pass `true` to allow the signer to draw their signature on the screen. Only applicable for VISUAL_SIGN.
        - `allowVisualChoose` boolean — Pass `true` to allow the signer to choose their signature from a set of auto-generated signature images based on their name. Only applicable for VISUAL_SIGN.
        - `visualSignAffixFingerprint` boolean — Pass `true` to allow the signer to affix an image of their fingerprint scanned using a supported biometric fingerprint detection device. Only applicable for VISUAL_SIGN. **Note:** Fingerprint detection is supported only on Windows and Android devices, and requires access to a compatible biometric device.
        - `visualSignPhysicalSignature` boolean — Pass `true` to allow the signer to upload an image of their physical signature. Only applicable for VISUAL_SIGN.
    - `eSignPriority` ESignPriority — eSign Priority should be configured to prioritise Aadhaar over other eSign types for the Signer. Order within the Aadhaar subtypes like OTP, BIO, IRIS, FACE can also be specified here along with their retry attempts. When configured, signer will only see Aadhaar eSign type with the subtype of highest order. Specified retry attempts of subtype need to be met before the next in order subtype option is shown to the Signer along with current options. Once all the retry attempts criteria are met, only the other eSign type options, in addition to Aadhaar, will be shown to the Signer.
      - `enableEsignPriority` boolean — Pass 'true' if you want to prioritise Aadhaar over other eSign types and/or if you want to specify order/sequence amongst the selected eSign subtypes (e.g., OTP, BIO, IRIS, FACE, etc.)
      - `eSignPriorityConfig` ESignPriorityConfig[]
        - `signatureType` string — Pass the value of the type of signature. Accepted values - AADHAAR
        - `eSignSubType` string — Pass the value of the subtype of signature. Accepted values - OTP, BIO, IRIS, FACE
        - `retryAttempts` integer — Pass the additional try attempt count for this subtype. Signing subtype option which is next in order will be shown only after the retry counts of this order are equal to this parameter. Accepted Values - 0, 1, 2, 3, 4, 5
        - `order` integer — Pass the sequence number for this subtype. Values passed in this parameter in the array will be sorted in ascending order to create the signing order. subtypes having same 'order' will appear in the same sequence simultaneously. Accepted Values - 1, 2, 3
    - `orderLevelRetryCount` boolean — Pass true if retries are to be counted collectively per order. Progression occurs upon reaching the maximum attempts set for any subtype within that order. To be passed as true only if eSign priority is configured
    - `isApprover` boolean — Pass true if you want to use this invitee as a approver transaction.
    - `recordApproverResponse` boolean — Pass true if you want to record the approver transaction in audit trail. This will only work when you enable the invitee as a approver transaction.
    - `enableRejectDocument` boolean — Pass this parameter as "true" to allow signers to reject sign invitations in the signing journey. This is compatible with Aadhaar eSign, Secure Virtual Sign, DSC Sign, Quick Sign, Offline Sign & DocSigner.
    - `enableRejectMessage` boolean — Pass this parameter as "true" to mandate the invitee to share a message if they are rejecting the sign invitation. This parameter can be passed "true" only if EnableRejectDocument is also set as "true".
  - `irn` string — Internal Reference Number.
  - `folderId` string — Folder ID.
  - `deleteOnComplete` boolean — Pass 'true' if you want the documents to be automatically deleted on completion after 7 days of completion. The URLs sent to all signers will also be put to auto-delete after 7 days of completion unless the signer expressly saves it in his account. (Please setup a webhookUrl in this case as deleted documents cannot be recovered).
  - `attachments` Attachment[]
    - `file` string, required — Pass the base64 file string of the file you want to attach with the invitation. This attached file will be viewed to all signers.
    - `name` string, required — Pass the name of the file sent above.
    - `type` string, required — Pass the value of the type of document. For eg. original agreement, board resolution etc.
    - `contentType` string — Pass the value of the type of document. Accepted values are PDF, PNG, JPG and JPEG.

## Response `200`

Default Response

- EditApiResponse
  - `status` integer — if success then 1, else 0.
  - `messages` Message[]
    - `code` string — Message Code.
    - `message` string — Success/Error Message.
  - `data` EditApiResponseData
    - `documentId` string — documentId is the unique Leegality ID created for every eSigning request.
    - `irn` string — internal reference number.
    - `requests` InviteeRequest[]
      - `name` string — Name of the invitee.
      - `email` string — Email of the invitee.
      - `phone` string — Phone Number of the invitee.
      - `signUrl` string — User specfic URL unique to the request.
      - `active` boolean — Status of the URL.
      - `signed` boolean — Request eSigning status.
      - `rejected` boolean — Request rejection status.
      - `expired` boolean — Request expiration status.
      - `expiryDate` string — Expiry date of the signing invite - DD-MM-YYYY HH:MM:SS. Note: If expiryDate is null, expiry is set as 45 minutes.
      - `signType` string — This parameter will be there only for Webhook when the document has been signed. In case the transaction was of approver transaction then the value will be NULL. Possible values are- AADHAAR, VIRTUAL_SIGN, DSC, DOC_SIGNER, AUTOMATED_SIGN, QUICK_SIGN

---

[API](https://skmtc.dev/leegality/apis/leegality-documentation-gateway.md) · [All operations](https://skmtc.dev/leegality/apis/leegality-documentation-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/leegality/leegality-documentation-gateway/revisions/0290f3a2dc73/schema)
