> ## Documentation Index
> Fetch the complete documentation index at: https://www.cashfree.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# E-Sign

> Use Cashfree E-Sign to collect legally valid electronic signatures on documents using Aadhaar authentication, removing the need for physical paperwork.

Cashfree's E-sign is an API-based solution that enables businesses to collect legally valid electronic signatures on documents. It allows customers to sign documents securely from anywhere and at any time without the need for physical presence or paperwork.

Cashfree authenticates the customer using their Aadhaar identity. Cashfree sends an OTP to the Aadhaar holder's registered mobile number, which the customer uses to authorise the e-signature. The solution also supports multiple signers on the same document, with signatures captured at defined pages and positions.

## Key benefits of E-sign

* **Reliable and compliant**: Built on secure, government-approved infrastructure (eMudhra and NSDL), ensuring full compliance with regulatory standards.

* **Multi-signature support**: Capture multiple signatures on the same document and specify signature positions across pages.

* **Seamless geotagging**: Optionally capture the live location of signers as they complete the E-sign journey.

## Use cases

E-sign supports a wide range of industries and business scenarios where legally valid electronic signatures are required:

| Sector                 | Example use cases                                                                     |
| ---------------------- | ------------------------------------------------------------------------------------- |
| Banking and investment | Collect signatures on forms for opening new bank or investment accounts.              |
| Lending and insurance  | Get signatures on loan applications, policy documents, and agreements.                |
| Human resources        | Onboard employees by collecting signatures on employment agreements and HR documents. |
| Real estate            | Collect signatures on lease and rental agreements.                                    |
| Legal                  | Execute contracts and vendor agreements with legally valid E-signatures.              |

## How E-sign works

The E-sign process involves three simple steps:

<Note>
  The E-sign flow in the Sandbox environment requires real Aadhaar numbers and real-time DigiLocker data. Mock or test Aadhaar details aren't supported.
</Note>

1. **Upload the document**

   Upload the PDF document that requires a signature using the [Upload Document for E-Sign API](/docs/api-reference/vrs/v2/e-sign/upload-document-for-e-sign). This API call returns a unique `document_id`, which you will need in the following steps.

2. **Create the E-sign request**

   Initiate the signature process using the [Create E-sign Request API](/docs/api-reference/vrs/v2/e-sign/create-e-sign-request). In this request, provide:

   * The `document_id` from previous step.
   * Signer details, including name and email.
   * Signing details, such as the page number and position for each signature.

   Additional options:

   * Redirect address: A web address to which the signer is redirected after completing the e-sign journey.
   * Capture location: Set `capture_location` to `true` to geo-tag the signed document. If enabled, the signer will be prompted for location permission.
   * Link expiry: Set an expiry period (in days) for each signing link, up to a maximum of 15 days.

3. **Get the E-sign status**

   You can track the signing request in two ways:

   * **Webhooks**: Set up [webhooks](/docs/api-reference/vrs/v2/e-sign/webhooks-esign) to receive real-time status updates (for example, signed successfully or request failed).
   * **Get E-Sign Status API**: Use the [Get E-Sign Status API](/docs/api-reference/vrs/v2/e-sign/get-e-sign-status) to check the progress of a signing request at any time.

Common error scenarios and their solutions:

* **Document upload failed**: Ensure the PDF is under 5MB and not password-protected
* **Invalid signer details**: Verify email format and Aadhaar number validity
* **Signature timeout**: Default expiry is 15 days; users must complete within this timeframe

<snippet>snippets/related-topics-loader.mdx</snippet>

<div class="hidden" data-table-of-contents="bottom">
  <p class="mt-4 font-medium flex items-center gap-2 related-docs-heading">
    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="w-4 h-4">
      <path d="M3 4h7a2 2 0 0 1 2 2v13a2 2 0 0 0-2-2H3z" />

      <path d="M21 4h-7a2 2 0 0 0-2 2v13a2 2 0 0 1 2-2h7z" />
    </svg>

    <span>Related topics</span>
  </p>

  <ul>
    <li><a href="/docs/api-reference/vrs/v2/e-sign/upload-document-for-e-sign">Upload Document For E-Sign API</a></li>
    <li><a href="/docs/api-reference/vrs/v2/e-sign/create-e-sign-request">Create e-sign Request API</a></li>
    <li><a href="/docs/api-reference/vrs/v2/e-sign/get-e-sign-status">Get e-sign Status API</a></li>
    <li><a href="/docs/api-reference/vrs/v2/e-sign/webhooks-esign">E-sign Webhooks API</a></li>
  </ul>
</div>
