High-level data model

The high-level data model of the eSignature API consists of several key components that work together to represent an ESignature Package:

  1. ESignaturePackage: The ESignaturePackage entity represents the main container for documents, signers, and other metadata related to an electronic signature workflow. It holds information such as the package title, description, status, and creation/update timestamps.

  2. Document: The Document entity represents a document within an ESignature Package that requires electronic signatures. It contains details such as the document name, file type, content, and page count. Documents can be added, updated, or removed from a package using the API endpoints.

  3. Signer: The Signer entity represents a person who is required to sign one or more documents within an ESignature Package. It includes information like the signer's name, email address, and signing order. Signers can be added, updated, or removed from a package, and their signing status can be tracked throughout the workflow.

  4. Attachment: The Attachment entity represents additional files or supporting documents that are included in an ESignature Package. Attachments provide a way to share relevant information or context with the signers without requiring them to sign these files. Attachments can be added, updated, or removed from a package using the API endpoints.

These core entities are interconnected through various relationships. For example, an ESignaturePackage contains multiple DocumentandSigner instances.

ESignature Package JSON Model

{
  "id": "string",
  "title": "string",
  "description": "string",
  "documents": [
    {
      "id": "string",
      "name": "string",
      "pageCount": 0,
      "pageRotations": [
        {
          "pageIndex": 0,
          "rotationDegrees": 0
        }
      ],
      "entryPads": [
        {
          "id": "string",
          "signerId": "string",
          "type": "signature",
          "left": 0,
          "top": 0,
          "height": 0,
          "width": 0,
          "pageIndex": 0,
          "isOptional": true
        }
      ]
    }
  ],
  "signers": [
    {
      "id": "string",
      "name": "string",
      "email": "string",
      "phoneNumber": "string",
      "attachmentRequests": [
        {
          "id": "string",
          "name": "string",
          "description": "string",
          "isOptional": false,
          "isConfidential": true
        }
      ]
    }
  ],
  "ccRecipients": [
    {
      "id": "string",
      "name": "string",
      "email": "string",
      "specialRoles": [
        "OBSERVER"
      ]
    }
  ],
  "orderedSigners": true,
  "status": "ACTIVE",
  "kind": "STANDARD",
  "schedulingDetails": {
    "timezone": "string",
    "date": "string",
    "durationInMinutes": 0
  },
  "attachments": [
    {
      "id": "string",
      "filename": "string",
      "filetype": "string",
      "isConfidential": true,
      "contentId": "string",
      "pageContentIds": [
        "string"
      ],
      "pageContentImages": [
        "string"
      ],
      "ownerId": "string",
      "requestId": "string"
    }
  ],
  "jointSignersGroups": [
    {
      "id": "string",
      "signerIds": [
        "string"
      ]
    }
  ],
  "recordedLiveESignature": true,
  "advancedOptions": {
    "disableRepeatEntries": true,
    "penColor": "SIGNER_SELECTED_COLOR",
    "signatureTypes": [
      "DRAWN"
    ],
    "notifications": [
      {
        "event": "ACTIVATED",
        "participantId": "string",
        "enabled": true
      }
    ],
    "exitRedirectUriConfigurations": [
      {
        "redirectUri": "string",
        "participantId": "OWNER"
      }
    ],
    "resetENotaryAuthAtEntry": true,
    "cancelAtENotaryAuthFailure": true,
    "inlineWebhook": {
      "urlToPublish": "string",
      "triggerEvents": [
        "ACTIVATED",
        "string"
      ],
      "requestedArtifacts": [
        {
          "artifactKind": "COMPLETED_PACKAGE",
          "metadata": {}
        }
      ]
    }
  },
  "packageFolderId": "string",
  "eNotaryPackageId": "string",
  "customBrandItemId": "string"
}