Skip to main content

API Documentation For E-Stamping

Akshat Singhal avatar
Written by Akshat Singhal
Updated yesterday

Overview

The E-Stamp Integration API allows external clients to create and retrieve e-stamps through Legistify’s platform. This API integrates with SHCIL (Stock Holding Corporation of India Limited) to provide digital stamp papers for various states in India. It can also integrate directly with your pre-filled Legistify stamp wallet for other states.

Integration Steps

1. Obtain API Token: Secure the X-Auth-Token from Legistify for authentication.

2. Create Signature Request:

  • Configure the headers and request body as outlined in process section.

  • Perform a request to the Legistify API endpoint.

Process

1. Create E-Stamp Request

Creates a new e-stamp request and processes payment from your organization’s stamp wallet.

Method: POST

Headers:

  • Content-Type: application/json

  • X-Auth-Token: Token Provided by Legistify

Request Body:

  • stateOfIssuingStamp: State name (Delhi, Karnataka, Gujarat, Tamil Nadu, Rajasthan).

  • stateCode: State code (DL, KA, GJ, TN, RJ).

  • stampDuty: Amount of stamp duty in rupees.

  • purpose: Purpose of the stamp (e.g., "Contract Agreement").

  • description: Detailed description of the document.

  • considerationAmount: Total consideration amount.

  • firstPartyName: Name of the first party.

  • firstPartyLocality: Locality of first party.

  • firstPartyStreetAddress: Street address of first party.

  • firstPartyState: Object with value (state code) and label (state name).

  • firstPartyCity: City of first party.

  • firstPartyPinCode: PIN code of first party.

  • secondPartyName: Name of the second party.

  • secondPartyLocality: Locality of second party.

  • secondPartyStreetAddress: Street address of second party

  • secondPartyState: Object with value (state code) and (state name).

  • secondPartyCity: City of second party.

  • secondPartyPinCode: PIN code of second party.

  • docCategory: Object with value (category code) and label (category name).

To see value & label for docCategory: Document Category Data

Sample Request Body:

{

"stateOfIssuingStamp": "Delhi",

"stateCode": "DL",

"stampDuty": 100,

"purpose": "Contract Agreement",

"description": "Rental agreement for commercial property",

"considerationAmount": 50000,

"firstPartyName": "John Doe",

"firstPartyLocality": "Connaught Place",

"firstPartyStreetAddress": "123 Main Street",

"firstPartyState": {

"value": "DL",

"label": "Delhi"

},

"firstPartyCity": "New Delhi",

"firstPartyPinCode": "110001",

"secondPartyName": "Jane Smith",

"secondPartyLocality": "Khan Market",

"secondPartyStreetAddress": "456 Park Avenue",

"secondPartyState": {

"value": "DL",

"label": "Delhi"

},

"secondPartyCity": "New Delhi",

"secondPartyPinCode": "110003",

"docCategory": {

"value": "1",

"label": "Affidavit"

}

}

Sample Success Response (200):

{

"status": true,

"code": 200,

"msg": "E-Stamp successfully procured.",

"data": {

"transactionId": "TXN123456789",

"uniqueId": "REF987654321",

"base64Stamp": "JVBERi0xLjQKJcOkw7zDtsO..."

}

}

Sample Error Response (400):

{

"status": false,

"msg": "Sorry, you do not have enough credits in your stamp wallet. Please contact Legistify support to add credits."

}

Sample Error Response (400):

{

"status": false,

"msg": "State of issuing stamp is required"

}

2. Get E-Stamp (if ready)

Retrieves an existing e-stamp using the transaction ID and unique ID from the creation request.

Method: POST

Headers:

  • X-Auth-Token: Token Provided by Legistify

  • Content-Type: application/json

Request Body:

  • transactionId: Transaction ID from create request

  • uniqueId: Unique ID from create request

Sample Request Body:

{

"transactionId": "TXN123456789",

"uniqueId": "REF987654321"

}

Success Response (200):

{

"status": true,

"msg": "E-Stamp successfully procured.",

"data": {

"transactionId": "TXN123456789",

"uniqueId": "REF987654321",

"base64Stamp": "JVBERi0xLjQKJcOkw7zDtsO..."

}

}

Error Response (400):

{

"status": false,

"msg": "Stamp request not found"

}

Error Response (400):

{

"status": false,

"msg": "Stamp is not procured. Try again in some time"

}

3. Get Stamp from Wallet

Retrieves an existing stamp from your organization’s wallet based on criteria.

Method: POST

Headers:

  • X-Auth-Token: Token Provided by Legistify

  • Content-Type: application/json

Body:

{

"stateOfIssuingStamp": "Delhi",

"stampDuty": 100,

"firstPartyName": "John Doe"

}

Success Response (200):

{

"status": true,

"msg": "Stamp successfully procured.",

"data": {

"uniqueId": "REF987654321",

"base64Stamp": "JVBERi0xLjQKJcOkw7zDtsO..."

}

}

Error Response (400):

{

"status": false,

"code": 400,

"msg": "No stamp found, please check with customer support team."

}

Did this answer your question?