SIMPLICI Sign

Sign documents digitally

Simplici Sign API Documentation

1. Upload document

This API is used to upload the document.

Endpoint

https://api.satschel.com/v2/esign/upload

Method: POST

Request Headers

  • Content-Type: application/json

Query parameters

ParameterTypeDescription
imageUploadbooleanOptional: If you want to upload an image, imageUpload should be true

Request Body

ParameterTypeDescription
dataobjectData object containing name of the file , size , base64string and extension

Example

{
  "data": {
    "originalname": "sample.pdf",
    "size": 10,
    "base64File": "Provide Base64String",
    "extension": "pdf"
  }
}

Response Example:

{
  "message": "ok",
  "data": {
    "pageIndex": null,
    "name": "pdflib_modification_example (1).pdf",
    "size": 41782,
    "_id": "652e571f1c824a3144bd3a9a",
    "path": "https://api.stage.satschel.com/v2/esign/pdf/fetch/652e571f1c824a3144bd3a9a",
    "pages": ["652e571f1c824a3144bd3a98"],
    "deleted": false,
    "createdAt": "2023-10-17T09:42:55.683Z"
  }
}

2. Create Template

This API is used to create an basic and overlay template.

Endpoint

https://api.stage.satschel.com/v2/esign/template

Method: POST

Request Headers

  • Content-Type: application/json

Request Body

ParameterTypeDescription
documentIdsarrayDocumentIds required for template creation
namestringOptional: Template name should be string
headersobjectOptional: Object containing custom tab info
typestringOptional: Supported types basic and overlay

Example

{
  "documentIds": ["652e322b1c824a3144b5bd18"],
  "name": "New template",
  "headers": [{ "name": "tab name", "type": "tab type", "label": "tab label" }],
  "type": "basic | overlay"
}

Response Example:

{
  "message": "ok",
  "data": {
    "name": "New Template",
    "type": "basic",
    "recipients": [],
    "templateId": "652e32321c824a3144b5bf5b",
    "prepareUrl": "https://esign.stage.satschel.com/config-doc?templateId=652e32321c824a3144b5bf5b",
    "createdAt": "2023-10-17T07:05:22.093Z",
    "updatedAt": "2023-10-17T07:05:22.093Z",
    "provider": "ESign",
    "documents": [
      {
        "_id": "652e322b1c824a3144b5bd18",
        "name": "7b4815c554e34632ae40b971400d4babsigned.pdf",
        "size": "2303887",
        "path": "https://api.stage.satschel.com/v2/esign/pdf/fetch/652e322b1c824a3144b5bd18",
        "pages": [
          "652e322b1c824a3144b5bd0e",
          "652e322b1c824a3144b5bd0f",
          "652e322b1c824a3144b5bd10",
          "652e322b1c824a3144b5bd11",
          "652e322b1c824a3144b5bd12",
          "652e322b1c824a3144b5bd13",
          "652e322b1c824a3144b5bd14",
          "652e322b1c824a3144b5bd15",
          "652e322b1c824a3144b5bd16"
        ],
        "pageIndex": null,
        "deleted": false,
        "md5Hash": "19w8chXY8QesQAfQrx9u/Q==",
        "createdAt": "2023-10-17T07:05:15.825Z",
        "updatedAt": "2023-10-17T07:05:15.825Z"
      }
    ],
    "status": "created"
  }
}

3. Template configuration

This API is used to configure template.

Endpoint

https://api.stage.satschel.com/v2/esign/template/:templateId

Method: PATCH

Request Headers

  • Content-Type: application/json

Request Body

ParameterTypeDescription
documentsarrayOptional:Array of object containing document and associated tabs of document
signOrderbooleanOptional: Apply signing order for the recipients
recipientsarrayOptional: Recipients with their defined roles.
statusstringOptional: Supported types saved, configured, decline, reconfig

Example

{
    "documents": [
        {
            "document": "652e35b61c824a3144b895ff",
            "tabs": [
                {
                    "name": "initial",
                    "label": "Initial",
                    "type": "initial",
                    "source": "standard",
                    "position": {
                        "x": 0.2222222222222222,
                        "y": 0.149064432787912
                    },
                    "pageNumber": 1,
                    "icon": "ri-font-size",
                    "value": "",
                    "index": 1,
                    "recipientId": "652e35b61c824a3144b895ff"
                    "metadata": {
                        "tooltip": "Add your inputs for this field",
                        "required": true,
                        "editText": "Initial",
                        "width": 40,
                        "height": 38
                    }
                },
                {
                    "name": "signature",
                    "label": "Signature",
                    "type": "signature",
                    "source": "standard",
                    "position": {
                        "x": 0.42320261437908496,
                        "y": 0.22171768574336492
                    },
                    "pageNumber": 1,
                    "icon": "ri-admin-line",
                    "value": "",
                    "index": 2,
                    "recipientId": "652e35b61c824a3144b895ff"
                    "metadata": {
                        "tooltip": "Add your inputs for this field",
                        "required": true,
                        "editText": "Signature",
                        "width": 40,
                        "height": 38
                    }
                }
            ]
        }
    ],
    "signOrder":false,
    "recipients":[{ "action": "Needs to sign","title": "admin" }],
    "name": "New Template",
    "status": "saved"
}

4. Get Template

End-point is used to get a specific template using template id

Endpoint

https://api.stage.satschel.com/v2/esign/template/:templateId

  • Replace {templateId} with the actual ID of the template you want to retrieve details for.

Method: GET

Request Headers

  • Content-Type: application/json

Response Example:

{
  "message": "ok",
  "data": {
    "name": "New Template",
    "recipients": [
      {
        "title": "Admin",
        "fullName": null,
        "email": null,
        "phone": "",
        "signature": null,
        "action": "Needs to sign",
        "role": "signer",
        "status": "pending",
        "message": null,
        "externalUser": false,
        "completedAt": null,
        "consent": false,
        "colorCode": null,
        "_id": "652e3bed1c824a3144b9aa3e"
      }
    ],
    "templateId": "652e3bdd1c824a3144b9a558",
    "prepareUrl": "https://esign.stage.satschel.com/config-doc?templateId=652e3bdd1c824a3144b9a558",
    "provider": "ESign",
    "documents": [
      {
        "_id": "652e3be91c824a3144b9aa0a",
        "name": "pdf-lib_modification_example (1).pdf",
        "size": "41782",
        "path": "https://api.stage.satschel.com/v2/esign/pdf/fetch/652e3be91c824a3144b9aa0a",
        "pages": ["652e3be91c824a3144b9aa05"],
        "pageIndex": null,
        "deleted": false,
        "md5Hash": "YDXZNkz3xoxU/VdnUQWmhA==",
        "createdAt": "2023-10-17T07:46:49.467Z",
        "updatedAt": "2023-10-17T07:46:49.467Z"
      }
    ],
    "status": "saved",
    "createdAt": "2023-10-17T07:46:37.825Z",
    "type": "overlay"
  }
}

5. Template-List

End-point is used to get the list of templates.

Endpoint

`https://api.stage.satschel.com/v2/esign/template-list

Method: POST

Request Headers

  • Content-Type: application/json

Query parameters

ParameterTypeDescription
statusstringOptional: Supported types of status created, configured, decline, reconfig
sortingOrderstringOptional: Supported types of sortingOrder asc and desc
startDatestringOptional: Only fetch Templates after create of start date
endDatestringOptional: End date of template

Response Body

ParameterTypeDescription
templateIdsarrayOptional: Provide templateIds of the template you want to retrieve details for

Example

{
  "templateIds": ["652e3bed1c824a3144b9aa3e"]
}

Response Example:

{
  "message": "ok",
  "data": [
    {
      "name": "New Template",
      "recipients": [
        {
          "title": "admin",
          "fullName": null,
          "email": null,
          "phone": "",
          "signature": null,
          "action": "Needs to sign",
          "role": "signer",
          "status": "pending",
          "message": null,
          "externalUser": false,
          "completedAt": null,
          "consent": false,
          "colorCode": null,
          "_id": "652e36c51c824a3144b8d06e"
        }
      ],
      "templateId": "652e36a71c824a3144b8ba47",
      "prepareUrl": "https://esign.stage.satschel.com/config-doc?templateId=652e36a71c824a3144b8ba47",
      "provider": "ESign",
      "documents": [
        {
          "_id": "652e36af1c824a3144b8baa7",
          "name": "sample.pdf",
          "size": "14472",
          "path": "https://api.stage.satschel.com/v2/esign/pdf/fetch/652e36af1c824a3144b8baa7",
          "pages": ["652e36af1c824a3144b8baa4", "652e36af1c824a3144b8baa5"],
          "pageIndex": null,
          "deleted": false,
          "md5Hash": "FQXoEOQx21NJfyhJAiDHOg==",
          "createdAt": "2023-10-17T07:24:31.681Z",
          "updatedAt": "2023-10-17T07:24:31.681Z"
        }
      ],
      "status": "saved",
      "createdAt": "2023-10-17T07:24:23.194Z",
      "type": "overlay"
    }
  ]
}

6. Delete Template

You can delete a specific template using this.

Endpoint

https://api.stage.satschel.com/v2/esign/template/:templateId

  • Replace {templateId} with the actual ID of the template you want to retrieve details for.

Method: DELETE

Request Headers

  • Content-Type: application/json

Response Example:

{
  "message": "ok",
  "data": {
    "_id": "652e3bdd1c824a3144b9a558",
    "name": "New Template",
    "documents": [
      {
        "document": "652e3be91c824a3144b9aa0a",
        "tabs": ["652e3bf21c824a3144b9aa8c"],
        "_id": "652e3bf21c824a3144b9aa91"
      }
    ],
    "customTabs": [],
    "status": "saved",
    "kycFlow": false,
    "signOrder": false,
    "type": "overlay",
    "recipients": [
      {
        "title": "Admin",
        "fullName": null,
        "email": null,
        "phone": "",
        "signature": null,
        "action": "Needs to sign",
        "role": "signer",
        "status": "pending",
        "message": null,
        "externalUser": false,
        "completedAt": null,
        "consent": false,
        "colorCode": null,
        "_id": "652e3bed1c824a3144b9aa3e"
      }
    ],
    "createdAt": "2023-10-17T07:46:37.825Z",
    "updatedAt": "2023-10-17T07:46:58.570Z",
    "__v": 0
  }
}

7. Create Envelope

This API is used to create an envelope usign simplici sign.

Endpoint

https://api.stage.satschel.com/v2/esign/envelope-multisign

Method: POST

Request Headers

  • Content-Type: application/json

Request Body Example:

ParameterTypeDescription
templateIdstringOptional: You can create envelope using existing template
senderDataobjectObject containing Envelope originator information.

Example

{
  "templateId": "64e3645cf7b11424b340dcff",
  "senderData": {
    "fullName": "sender name",
    "email": "[email protected]",
    "phone": 8038473234,
    "testMode": true
  }
}

Response Example:

{
  "message": "ok",
  "data": {
    "envelopeId": "64e3645cf7b11424b340dcff",
    "prepareUrl": "https://esign.simplic.io"
  }
}

8. Get Envelope

End-point is used to get a specific envelope using envelope id

Endpoint

https://api.satschel.com/v2/esign/envelopes/:envelopeId

  • Replace {envelopeId} with the actual ID of the envelope you want to retrieve details for.

Method: GET

Request Headers

  • Content-Type: application/json

Response Example:

{
  "message": "ok",
  "data": {
    "_id": "651e4cecb646e5d067519a52",
    "name": "New Envelope",
    "certificateId": null,
    "documents": [
      {
        "document": {
          "_id": "651e4cecb646e5d067519a4e",
          "name": "sample.pdf",
          "size": "10",
          "path": "https://api.satschel.com/v2/esign/pdf/fetch/651e4cecb646e5d067519a4e",
          "pages": [
            {
              "_id": "651e4cecb646e5d067519a48",
              "name": "ec1aa7f5-c54f-4925-bdcf-5bb627c193c4-page-0",
              "path": "https://api.satschel.com/v2/esign/pdf/fetch/651e4cecb646e5d067519a48",
              "pages": [],
              "width": 612,
              "height": 792,
              "pageIndex": 0,
              "deleted": false,
              "md5Hash": null,
              "createdAt": "2023-10-05T05:43:08.152Z",
              "updatedAt": "2023-10-05T05:43:08.152Z"
            }
          ],
          "pageIndex": null,
          "deleted": false,
          "md5Hash": null,
          "createdAt": "2023-10-05T05:43:08.155Z",
          "updatedAt": "2023-10-05T05:43:08.155Z"
        },
        "tabs": [
          {
            "_id": "651e4cecb646e5d067519a16",
            "name": "kycFullName",
            "label": "Full Name",
            "position": {
              "x": 0.2826797385620915,
              "y": 0.31657920310981535,
              "_id": "6492a99b64622ec78092d598"
            },
            "type": "name",
            "source": "standard",
            "isEditable": true,
            "icon": "ri-user-line",
            "value": "",
            "pageNumber": 1,
            "recipientId": null,
            "index": 1,
            "metadata": {
              "editText": "Full Name",
              "readOnly": false,
              "tooltip": "Add your inputs for this field",
              "fontSize": "10px",
              "fontColor": "#000000",
              "fontFamily": "Poppins",
              "_id": "6492a99b64622ec78092d599"
            },
            "createdAt": "2023-10-05T05:43:08.137Z",
            "updatedAt": "2023-10-05T05:43:08.137Z"
          }
        ]
      }
    ],
    "signedDocument": null,
    "status": "voided | created | configured | completed ",
    "sender": {
      "fullName": "John",
      "email": "[email protected]",
      "phone": "",
      "testMode": true,
      "_id": "651e4cecb646e5d067519a55"
    },
    "signOrder": false,
    "purpose": "workflow",
    "originalDocuments": [
      "651e4cecb646e5d067519a4e",
      "651e4cecb646e5d067519a50"
    ],
    "authType": "webauth",
    "recipients": [
      {
        "title": null,
        "fullName": "alex",
        "email": "[email protected]",
        "phone": "",
        "signature": null,
        "action": "Needs to sign",
        "role": "signer",
        "status": "pending",
        "message": null,
        "externalUser": false,
        "completedAt": null,
        "consent": false,
        "_id": "6520082251e4f952c9267e04"
      }
    ],
    "combinedDocument": null,
    "origin": "basic | overlay",
    "createdAt": "2023-10-05T05:43:08.160Z",
    "updatedAt": "2023-10-06T13:14:10.050Z",
    "__v": 0,
    "statusMessage": "No reason only update the status"
  }
}

9. Add document and recipient to envelope

End point is used to upload document and add recipients.

Endpoint

https://api.satschel.com/v2/esign/envelope-multisign/:envelopeId

Method: PATCH

Request Headers

  • Content-Type: application/json

Request Body Example:

ParameterTypeDescription
namestringOptional: You can update envelope name
documentsarrayOptional: Array of objects containing document and applied tabs of the document.
recipientsarrayOptional: Array of objects containing recipients information.

Example

{
  "name": "Envelope name",
  "documents": [
    {
      "document": "6520082251e4f952c9267e04",
      "tabs": []
    }
  ],
  "recipients": [
    {
      "fullName": "recipient name",
      "email": "[email protected]",
      "role": "string",
      "action": "Needs to sign",
      "role": "signer",
      "message": null
    }
  ]
}

Response Example:

{
  "message": "ok",
  "data": {
    "_id": "651e4cecb646e5d067519a52",
    "name": "New Envelope",
    "certificateId": null,
    "documents": [
      {
        "document": {
          "_id": "651e4cecb646e5d067519a4e",
          "name": "sample.pdf",
          "size": "10",
          "path": "https://api.satschel.com/v2/esign/pdf/fetch/651e4cecb646e5d067519a4e",
          "pages": [
            {
              "_id": "651e4cecb646e5d067519a48",
              "name": "ec1aa7f5-c54f-4925-bdcf-5bb627c193c4-page-0",
              "path": "https://api.satschel.com/v2/esign/pdf/fetch/651e4cecb646e5d067519a48",
              "pages": [],
              "width": 612,
              "height": 792,
              "pageIndex": 0,
              "deleted": false,
              "md5Hash": null,
              "createdAt": "2023-10-05T05:43:08.152Z",
              "updatedAt": "2023-10-05T05:43:08.152Z"
            }
          ],
          "pageIndex": null,
          "deleted": false,
          "md5Hash": null,
          "createdAt": "2023-10-05T05:43:08.155Z",
          "updatedAt": "2023-10-05T05:43:08.155Z"
        },
        "tabs": [
          {
            "_id": "651e4cecb646e5d067519a16",
            "name": "kycFullName",
            "label": "Full Name",
            "position": {
              "x": 0.2826797385620915,
              "y": 0.31657920310981535,
              "_id": "6492a99b64622ec78092d598"
            },
            "type": "name",
            "source": "standard",
            "isEditable": true,
            "icon": "ri-user-line",
            "value": "",
            "pageNumber": 1,
            "recipientId": null,
            "index": 1,
            "metadata": {
              "editText": "Full Name",
              "readOnly": false,
              "tooltip": "Add your inputs for this field",
              "fontSize": "10px",
              "fontColor": "#000000",
              "fontFamily": "Poppins",
              "_id": "6492a99b64622ec78092d599"
            },
            "createdAt": "2023-10-05T05:43:08.137Z",
            "updatedAt": "2023-10-05T05:43:08.137Z"
          }
        ]
      }
    ],
    "signedDocument": null,
    "status": "configured",
    "sender": {
      "fullName": "John",
      "email": "[email protected]",
      "phone": "",
      "testMode": true,
      "_id": "651e4cecb646e5d067519a55"
    },
    "signOrder": false,
    "purpose": "workflow",
    "originalDocuments": [
      "651e4cecb646e5d067519a4e",
      "651e4cecb646e5d067519a50"
    ],
    "authType": "webauth",
    "combinedDocument": null,
    "recipients": [
      {
        "title": null,
        "fullName": "alex",
        "email": "[email protected]",
        "phone": "",
        "signature": null,
        "action": "Needs to sign",
        "role": "signer",
        "status": "pending",
        "message": null,
        "externalUser": false,
        "completedAt": null,
        "consent": false,
        "_id": "6520082251e4f952c9267e04"
      }
    ],
    "origin": "basic | overlay",
    "createdAt": "2023-10-05T05:43:08.160Z",
    "updatedAt": "2023-10-06T13:14:10.050Z",
    "__v": 0,
    "statusMessage": "No reason only update the status"
  }
}

10. Send invite to recipients

End point is used to send invite to all recipients for complete the signing.

Endpoint

https://api.stage.satschel.com/v2/esign/envelope-multisign/:envelopeId

Method: PATCH

Request Headers

  • Content-Type: application/json

Query Parameters:

ParameterTypeDescription
sendInvitebooleanOptional: For send invite to recipients sendInvite should be true

Request Body

ParameterTypeDescription
namestringOptional: You can update the name of the envelope
documentsarrayOptional: Array of object containing document and applied tabs of the document.

Example

{
  "documents": [
    {
      "document": "652e30991c824a3144b47922",
      "tabs": [
        {
          "name": "signature",
          "label": "Signature",
          "type": "signature",
          "source": "standard",
          "position": {
            "x": 0.1977124183006536,
            "y": 0.45971972128708993
          },
          "pageNumber": 1,
          "icon": "ri-admin-line",
          "value": "",
          "index": 1,
          "recipientId": "652e30a51c824a3144b48192",
          "metadata": {
            "tooltip": "Add your inputs for this field",
            "required": true,
            "editText": "Signature",
            "width": 40,
            "height": 38
          }
        },
        {
          "name": "fullName",
          "label": "Full Name",
          "type": "name",
          "source": "standard",
          "position": {
            "x": 0.2839562908496732,
            "y": 0.47864636342284506
          },
          "pageNumber": 1,
          "icon": "ri-user-line",
          "value": "",
          "index": 2,
          "recipientId": "652e30a51c824a3144b48192",
          "metadata": {
            "tooltip": "Add your inputs for this field",
            "fontFamily": "Poppins",
            "fontColor": "#000000",
            "fontSize": "8px",
            "editText": "Full Name"
          }
        }
      ]
    }
  ],
  "name": "New Packet"
}

Response Example:

{
  "_id": "652e2ae21c824a3144b30866",
  "name": "pdf-lib_modification_example",
  "certificateId": null,
  "recipients": [
    {
      "title": null,
      "fullName": "Sandeep vishwakarma",
      "email": "[email protected]",
      "phone": "",
      "signature": "64a2ac8f2ab85553adaca73c",
      "action": "Needs to sign",
      "role": "signer",
      "status": "pending",
      "message": null,
      "externalUser": true,
      "completedAt": null,
      "consent": false,
      "colorCode": null,
      "_id": "652e30a51c824a3144b48192"
    }
  ],
  "documents": [
    {
      "document": {
        "_id": "652e30991c824a3144b47922",
        "name": "pdf-lib_modification_example.pdf",
        "size": "41784",
        "path": "esign/8ef21b55-2dda-4818-8838-57a7431eb049-pdf-lib_modification_example.pdf",
        "pages": ["652e30991c824a3144b47920"],
        "pageIndex": null,
        "deleted": false,
        "md5Hash": "EORzPa5IERaaeIG87gsS/g==",
        "createdAt": "2023-10-17T06:58:33.727Z",
        "updatedAt": "2023-10-17T06:58:33.727Z"
      },
      "tabs": ["652e30bd1c824a3144b494b4", "652e30bd1c824a3144b494b7"],
      "_id": "652e30bd1c824a3144b494bc"
    }
  ],
  "signedDocument": null,
  "status": "configured",
  "sender": {
    "fullName": "Sandeep Vishwakarma",
    "email": "[email protected]",
    "phone": "",
    "testMode": false,
    "_id": "652e2ae21c824a3144b30867"
  },
  "signOrder": true,
  "purpose": "workflow",
  "originalDocuments": ["652e30991c824a3144b47922"],
  "authType": "facial",
  "statusMessage": null,
  "combinedDocument": null,
  "origin": "basic",
  "createdAt": "2023-10-17T06:34:10.449Z",
  "updatedAt": "2023-10-17T06:59:09.957Z",
  "__v": 0
}

11. Envelope-List

End-point is used to get the list of envelopes

Endpoint

https://api.stage.satschel.com/v2/esign/envelope-list

Method: POST

Request Headers

  • Content-Type: application/json

Query parameters

ParameterTypeDescription
statusstringOptional: Supported typs: created, configured, completed, declined, voided
emailstringOptional: Supported typs: Fetch envelope using email id

Response Body

ParameterTypeDescription
envelopeIdsarrayOptional: Provide envelopIds of the envelope you want to retrieve details for

Example

{
  "envelopeIds": ["652e3bed1c824a3144b9aa3e"]
}

Response Example:

{
  "message": "ok",
  "data": [
    {
      "_id": "652e26001c824a3144b214a4",
      "name": "pdf-lib_modification_example (1)",
      "certificateId": "652e267a1c824a3144b22287",
      "recipients": [
        {
          "title": null,
          "fullName": "Sandeep vishwakarma",
          "email": "[email protected]",
          "phone": "",
          "signature": "64a2ac8f2ab85553adaca73c",
          "action": "Needs to sign",
          "role": "signer",
          "status": "completed",
          "message": null,
          "externalUser": true,
          "completedAt": "2023-10-17T06:14:29.551Z",
          "consent": false,
          "colorCode": null,
          "_id": "652e26101c824a3144b214b5",
          "biometric": {
            "_id": "652e26451c824a3144b21bb2",
            "userId": "652e26101c824a3144b214b5",
            "envelopeId": "652e26001c824a3144b214a4",
            "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
            "ip": "10.10.15.245",
            "timeZone": "Asia/Calcutta",
            "image": null,
            "createdAt": "2023-10-17T06:14:29.532Z",
            "updatedAt": "2023-10-17T06:14:29.532Z",
            "__v": 0
          }
        }
      ],
      "documents": [
        {
          "document": {
            "_id": "652e26471c824a3144b21bc4",
            "name": "pdf-lib_modification_example (1).pdf",
            "size": "41782",
            "path": "https://api.stage.satschel.com/v2/esign/pdf/fetch/652e26471c824a3144b21bc4",
            "pages": ["652e26461c824a3144b21bc2"],
            "pageIndex": null,
            "deleted": false,
            "md5Hash": "af3idepaJwSrZZM6Tp5enA==",
            "createdAt": "2023-10-17T06:14:31.049Z",
            "updatedAt": "2023-10-17T06:14:31.049Z"
          },
          "tabs": ["652e261e1c824a3144b21926"],
          "_id": "652e261e1c824a3144b2192e"
        }
      ],
      "signedDocument": null,
      "status": "completed",
      "sender": {
        "fullName": "Sandeep Vishwakarma",
        "email": "[email protected]",
        "phone": "",
        "testMode": false,
        "_id": "652e26001c824a3144b214a5",
        "biometric": {
          "_id": "652e261e1c824a3144b2191e",
          "userId": "652e26001c824a3144b214a5",
          "envelopeId": "652e26001c824a3144b214a4",
          "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
          "ip": "10.10.15.245",
          "timeZone": "Asia/Calcutta",
          "image": null,
          "createdAt": "2023-10-17T06:13:50.724Z",
          "updatedAt": "2023-10-17T06:13:50.724Z",
          "__v": 0
        }
      },
      "signOrder": false,
      "purpose": "workflow",
      "originalDocuments": ["652e260f1c824a3144b214b0"],
      "authType": "webauth",
      "statusMessage": null,
      "combinedDocument": null,
      "origin": "basic",
      "createdAt": "2023-10-17T06:13:20.250Z",
      "updatedAt": "2023-10-17T06:15:23.037Z",
      "__v": 0
    }
  ]
}

Response Example:

{
  "message": "ok",
  "data": {
    "_id": "652e36a71c824a3144b8ba47",
    "name": "New Template",
    "documents": [
      {
        "document": "652e36af1c824a3144b8baa7",
        "tabs": ["652e36af1c824a3144b8baa9", "652e36af1c824a3144b8baa0"],
        "_id": "652e36c51c824a3144b8d06f"
      }
    ],
    "customTabs": [],
    "status": "saved",
    "kycFlow": false,
    "signOrder": false,
    "type": "overlay",
    "recipients": [
      {
        "title": "admin",
        "fullName": null,
        "email": null,
        "phone": "",
        "signature": null,
        "action": "Needs to sign",
        "role": "signer",
        "status": "pending",
        "message": null,
        "externalUser": false,
        "completedAt": null,
        "consent": false,
        "colorCode": null,
        "_id": "652e36c51c824a3144b8d06e"
      }
    ],
    "createdAt": "2023-10-17T07:24:23.194Z",
    "updatedAt": "2023-10-17T07:24:53.746Z",
    "__v": 0
  }
}

12. Create Signature

It is used to create a signature inside an envelope for a particular signer

Endpoint

https://api.satschel.com/v2/esign/signatures

Method: POST

Request Headers

  • Content-Type: application/json

Request Body

ParameterTypeDescription
envelopeIdstringId of the envelope for which the signer belongs
recipientIdstringId of the recipient/signer for which signature is to be created
signatureobjectOptional: Object containing Base64 encoded signature photo. Supported types are image/png, image/jpeg
initialobjectOptional: Object containing Base64 encoded selfie photo. Supported types are image/png, image/jpeg

Request Body Example:

Below is an example of the JSON payload you should send in the HTTP body:

{
  "envelopeId": "string",
  "recipientId": "string",
  "signature": {
    "base64File": "string",
    "name": "string",
    "size": number,
    "type": "generate | upload | draw"
  },
  "initial": {
    "base64File": "string",
    "name": "string",
    "size": number,
    "type": "generate | upload | draw"
  }
}

Response Example:

{
    "message": "ok",
    "data": {
        "_id": "string",
        "signDetail": {
            "document": {
                "_id": "string",
                "name": "string",
                "size": number,
                "path": "string",
                "pages": [],
                "createdAt": "date string",
                "updatedAt": "date string",
                "deleted": boolean,
                "pageIndex": number,
                "md5Hash": "string"
            },
            "type": "string",
            "_id": "string",
        },
        "initialDetail": {
            "document": {
                "_id": "string",
                "name": "string",
                "size": number,
                "path": "string",
                "pages": [],
                "createdAt": "date string",
                "updatedAt": "date string",
                "deleted": boolean,
                "pageIndex": number,
                "md5Hash": "string"
            },
            "type": "string",
            "_id": "string",
        },
        "createdAt": "string",
        "updatedAt": "string"
    }
}

13. Edit Signature

It is used to edit an existing signature

Endpoint

https://api.satschel.com/v2/esign/signatures/:_id

Method: PATCH

Request Headers

  • Content-Type: application/json

Request Body

ParameterTypeDescription
signatureobjectOptional: Object containing Base64 encoded signature photo. Supported types are image/png, image/jpeg
initialobjectOptional: Object containing Base64 encoded selfie photo. Supported types are image/png, image/jpeg

Request Body Example:

Below is an example of the JSON payload you should send in the HTTP body:

{
  "signature": {
    "base64File": "string",
    "name": "string",
    "size": number,
    "type": "generate | upload | draw"
  },
  "initial": {
    "base64File": "string",
    "name": "string",
    "size": number,
    "type": "generate | upload | draw"
  }
}

Response Example:

{
    "message": "ok",
    "data": {
        "_id": "string",
        "signDetail": {
            "document": {
                "_id": "string",
                "name": "string",
                "size": number,
                "path": "string",
                "pages": [],
                "createdAt": "date string",
                "updatedAt": "date string",
                "deleted": boolean,
                "pageIndex": number,
                "md5Hash": "string"
            },
            "type": "string",
            "_id": "string",
        },
        "initialDetail": {
            "document": {
                "_id": "string",
                "name": "string",
                "size": number,
                "path": "string",
                "pages": [],
                "createdAt": "date string",
                "updatedAt": "date string",
                "deleted": boolean,
                "pageIndex": number,
                "md5Hash": "string"
            },
            "type": "string",
            "_id": "string",
        },
        "createdAt": "string",
        "updatedAt": "string"
    }
}

14. Get Signature

This API is used to fetch an existing signature using it's ID.

Endpoint

https://api.satschel.com/v2/esign/signatures/:_id

Method: GET

Query Parameters

ParameterTypeDescriptionDefault
getUrlbooleanOptional: specify whether the signature document path should be replaced with direct file urlfalse

Response Example:

{
    "message": "ok",
    "data": {
        "_id": "string",
        "signDetail": {
            "document": {
                "_id": "string",
                "name": "string",
                "size": number,
                "path": "string",
                "pages": [],
                "createdAt": "date string",
                "updatedAt": "date string",
                "deleted": boolean,
                "pageIndex": number,
                "md5Hash": "string"
            },
            "type": "string",
            "_id": "string",
        },
        "initialDetail": {
            "document": {
                "_id": "string",
                "name": "string",
                "size": number,
                "path": "string",
                "pages": [],
                "createdAt": "date string",
                "updatedAt": "date string",
                "deleted": boolean,
                "pageIndex": number,
                "md5Hash": "string"
            },
            "type": "string",
            "_id": "string",
        },
        "createdAt": "string",
        "updatedAt": "string"
    }
}

15. Delete Signature

This API is used to delete a signature using a combination of envelope and recipient ID.

Endpoint

https://api.satschel.com/v2/esign/signatures/:envelopeId

Method: DELETE

Query Parameters

ParameterTypeDescriptionDefault
currentRecipientIdstringspecify the recipient ID for which the signature should be deletedNA
typestringspecify the component of signature to be deleted. Allowed values: [signDetail, initialDetail]NA

Response Example:

{
    "message": "ok",
    "data": {
        "_id": "string",
        "signDetail": {
            "document": {
                "_id": "string",
                "name": "string",
                "size": number,
                "path": "string",
                "pages": [],
                "createdAt": "string",
                "updatedAt": "string",
                "deleted": boolean,
                "pageIndex": number | null,
                "md5Hash": "string"
            },
            "type": "generate | upload | draw",
            "_id": "string",
        },
        "initialDetail": {
            "document": {
                "_id": "string",
                "name": "string",
                "size": number,
                "path": "string",
                "pages": [],
                "createdAt": "string",
                "updatedAt": "string",
                "deleted": boolean,
                "pageIndex": number | null,
                "md5Hash": "string"
            },
            "type": "generate | upload | draw",
            "_id": "string",
        }
    }
}

16. Complete the envelope

This API is used to complete the envelope(Signed the document).

Endpoint

https://api.stage.satschel.com/v2/esign/envelopes/:envelopeId

Method: PATCH

Request Headers

  • Content-Type: application/json

Request Body

ParameterTypeDescription
fieldTabsarrayOptional: Field Tabs array of object containing tab Id and tab value
currentRecipientIdstringOptional: Valid id of recipient who will signed the document
  • If fieldTabs exist {currentRecipientId} will be required.

Example

{
  "fieldtabs": [{ "id": "652e30991c824a3144b47922", "value": "string" }],
  "currentRecipientId": "652e30991c824a3144b47923"
}

Response Example:

{
  "message": "ok",
  "data": {
    "_id": "652e26001c824a3144b214a4",
    "name": "pdf-lib_modification_example (1)",
    "certificateId": "652e267a1c824a3144b22287",
    "recipients": [
      {
        "title": null,
        "fullName": "Sandeep vishwakarma",
        "email": "[email protected]",
        "phone": "",
        "signature": "64a2ac8f2ab85553adaca73c",
        "action": "Needs to sign",
        "role": "signer",
        "status": "completed",
        "message": null,
        "externalUser": true,
        "completedAt": "2023-10-17T06:14:29.551Z",
        "consent": false,
        "colorCode": null,
        "_id": "652e26101c824a3144b214b5",
        "biometric": {
          "_id": "652e26451c824a3144b21bb2",
          "userId": "652e26101c824a3144b214b5",
          "envelopeId": "652e26001c824a3144b214a4",
          "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
          "ip": "10.10.15.245",
          "timeZone": "Asia/Calcutta",
          "image": null,
          "createdAt": "2023-10-17T06:14:29.532Z",
          "updatedAt": "2023-10-17T06:14:29.532Z",
          "__v": 0
        }
      }
    ],
    "documents": [
      {
        "document": {
          "_id": "652e26471c824a3144b21bc4",
          "name": "pdf-lib_modification_example (1).pdf",
          "size": "41782",
          "path": "https://api.stage.satschel.com/v2/esign/pdf/fetch/652e26471c824a3144b21bc4",
          "pages": ["652e26461c824a3144b21bc2"],
          "pageIndex": null,
          "deleted": false,
          "md5Hash": "af3idepaJwSrZZM6Tp5enA==",
          "createdAt": "2023-10-17T06:14:31.049Z",
          "updatedAt": "2023-10-17T06:14:31.049Z"
        },
        "tabs": ["652e261e1c824a3144b21926"],
        "_id": "652e261e1c824a3144b2192e"
      }
    ],
    "signedDocument": null,
    "status": "completed",
    "sender": {
      "fullName": "Sandeep Vishwakarma",
      "email": "[email protected]",
      "phone": "",
      "testMode": false,
      "_id": "652e26001c824a3144b214a5",
      "biometric": {
        "_id": "652e261e1c824a3144b2191e",
        "userId": "652e26001c824a3144b214a5",
        "envelopeId": "652e26001c824a3144b214a4",
        "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
        "ip": "10.10.15.245",
        "timeZone": "Asia/Calcutta",
        "image": null,
        "createdAt": "2023-10-17T06:13:50.724Z",
        "updatedAt": "2023-10-17T06:13:50.724Z",
        "__v": 0
      }
    },
    "signOrder": false,
    "purpose": "workflow",
    "originalDocuments": ["652e260f1c824a3144b214b0"],
    "authType": "webauth",
    "statusMessage": null,
    "combinedDocument": null,
    "origin": "basic",
    "createdAt": "2023-10-17T06:13:20.250Z",
    "updatedAt": "2023-10-17T13:03:08.182Z",
    "__v": 0
  }
}

17. Create Biometric

this API is used to save user biometric information.

Endpoint

https://api.stage.satschel.com/v2/esign/biometrics

Method: POST

Request Headers

  • Content-Type: application/json

Request Body

ParameterTypeDescription
envelopeIdstringOptional: Envelope id in which user signed
userIdstringOptional: Recipient id who signed the document
userAgentstringOptional: Information of user agent
ipstringOptional: IP address of the requested user device
locationobjectOptional: Object containing latitude and longitude data

Example

{
  "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
  "ip": "10.10.15.245",
  "location": {},
  "timeZone": "Asia/Calcutta",
  "envelopeId": "6527c7608f26cb57ae0dfeb9",
  "userId": "6527c7718f26cb57ae0e0681"
}

Response Example:

{
  "message": "ok",
  "data": {
    "userId": "6527c7718f26cb57ae0e0681",
    "envelopeId": "6527c7608f26cb57ae0dfeb9",
    "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
    "ip": "10.10.15.245",
    "timeZone": "Asia/Calcutta",
    "image": null,
    "_id": "652e54bb1c824a3144bd124b",
    "createdAt": "2023-10-17T09:32:43.552Z",
    "updatedAt": "2023-10-17T09:32:43.552Z",
    "__v": 0
  }
}

18. Download documents and certificates

This Endpoint is used to get signed and voided documents as well as the certificates associated with the completed envelopes.

Endpoint

https://api.satschel.com/v2/esign/preview/:envelopeId

Method: GET

Query Parameters

ParameterTypeDescriptionDefault
combinebooleanOptional: specify whether to combine all files in one single filetrue
typestringOptional: specify the components to download. Allowed values: [document, certificate]document

Response example

Response depends on wheter we opt to combine all documents or not. If we do, response is a single string containing the URI of combined document. In other case, the response is an array containing string of URIs for each requested document.

{
  "message": "ok",
  "data": {
    "url": ["string", "string", "string"]
  }
}

OR

{
  "message": "ok",
  "data": {
    "url": "string"
  }
}

19. Get envelope-logs

This api is used to get envelope-related logs.

Endpoint

`https://api.stage.satschel.com/v2/esign/logs

Method: GET

Request Headers

  • Content-Type: application/json

Query parameters

ParameterTypeDescription
envelopeIdstringFetch the logs related to this envelopeId
userIdstringOptional: Fetch logs for a specific user

Response Example:

{
  "message": "ok",
  "data": [
    {
      "_id": "652e261e1c824a3144b21933",
      "userId": "652e26101c824a3144b214b5",
      "envelopeId": "652e26001c824a3144b214a4",
      "event": "SENT",
      "envelopeStatus": "configured",
      "createdAt": "2023-10-17T06:13:50.888Z",
      "updatedAt": "2023-10-17T06:13:50.888Z",
      "__v": 0
    }
  ]
}