Skip to main content

E-Signature Module

Create, send, and manage electronic signatures with a complete audit trail and legal compliance.

Base URL: https://app.proign.com/[tenant]/sign/api

Public Signing: https://app.proign.com/api/sign/[token]

Overview

The Sign module provides enterprise-grade e-signatures:

  • Upload documents (PDF, Word, images)
  • Add signature fields for multiple signers
  • Create reusable templates
  • Hash-chain audit trail for legal compliance
  • Embedded signatures in final PDF

Key Features

Document Workflow

  1. Upload - Upload your document to sign
  2. Prepare - Add signature and date fields
  3. Send - Email document to signers
  4. Sign - Signers complete their signatures
  5. Complete - Download signed document with audit trail

Signature Field Types

  • Signature - Draw or type signature
  • Initial - Short initial box
  • Date - Auto-filled signing date
  • Text - Free-form text input
  • Checkbox - Agreement checkboxes

API Endpoints

Document Management

GET    /api/[tenant]/documents                    # List documents
POST   /api/[tenant]/documents                    # Upload document
GET    /api/[tenant]/documents/[id]               # Get document details
PUT    /api/[tenant]/documents/[id]               # Update document
DELETE /api/[tenant]/documents/[id]               # Delete document
POST   /api/[tenant]/documents/[id]/send          # Send for signature
POST   /api/[tenant]/documents/[id]/remind        # Send reminder
POST   /api/[tenant]/documents/[id]/void          # Void document
GET    /api/[tenant]/documents/[id]/download      # Download PDF
GET    /api/[tenant]/documents/[id]/audit         # Get audit trail

Signers & Fields

# Signers
GET    /api/[tenant]/documents/[id]/signers       # List signers
POST   /api/[tenant]/documents/[id]/signers       # Add signer
PUT    /api/[tenant]/documents/[id]/signers/[sid] # Update signer
DELETE /api/[tenant]/documents/[id]/signers/[sid] # Remove signer

# Signature Fields
GET    /api/[tenant]/documents/[id]/fields        # List fields
POST   /api/[tenant]/documents/[id]/fields        # Add field
PUT    /api/[tenant]/documents/[id]/fields/[fid]  # Update field
DELETE /api/[tenant]/documents/[id]/fields/[fid]  # Remove field

Templates

GET    /api/[tenant]/templates                    # List templates
POST   /api/[tenant]/templates                    # Create template
GET    /api/[tenant]/templates/[id]               # Get template
PUT    /api/[tenant]/templates/[id]               # Update template
DELETE /api/[tenant]/templates/[id]               # Delete template
POST   /api/[tenant]/templates/[id]/use           # Create doc from template

Public Signing Flow (Token-based)

Signers receive a unique token link to sign documents without authentication:

GET    /api/sign/[token]                         # Get signing context
POST   /api/sign/[token]/consent                  # Accept e-sign consent
POST   /api/sign/[token]/field/[fieldId]          # Fill signature field
POST   /api/sign/[token]/complete                 # Complete signing
POST   /api/sign/[token]/decline                  # Decline to sign
GET    /api/sign/[token]/download                 # Download signed doc

Request Examples

Create Document

POST /api/[tenant]/documents
Content-Type: multipart/form-data

file: <PDF file>
title: "Sales Agreement"
description: "Q1 2026 partnership agreement"
expires_at: "2026-02-15T23:59:59Z"

Add Signer

POST /api/[tenant]/documents/[id]/signers
Content-Type: application/json

{
  "name": "John Smith",
  "email": "john@example.com",
  "role": "Buyer",
  "order": 1,
  "requires_id_verification": false
}

Add Signature Field

POST /api/[tenant]/documents/[id]/fields
Content-Type: application/json

{
  "type": "signature",
  "signer_id": "signer_abc123",
  "page": 3,
  "x": 100,
  "y": 650,
  "width": 200,
  "height": 50,
  "required": true
}

Audit Trail

Every document includes a tamper-proof audit trail:

  • ✓ Document created: 2026-01-15 10:30:00 UTC
  • ✓ Sent to john@example.com: 2026-01-15 10:31:00 UTC
  • ✓ Viewed by john@example.com: 2026-01-15 11:00:00 UTC
  • ✓ Consent accepted: 2026-01-15 11:02:00 UTC
  • ✓ Signed by john@example.com: 2026-01-15 11:05:00 UTC
  • ✓ Document completed: 2026-01-15 11:05:00 UTC

Document Status Flow

Each document moves through these statuses:

StatusDescriptionNext Actions
draftDocument uploaded, fields being addedSend, Delete
sentWaiting for signers to completeRemind, Void
viewedAt least one signer has opened the linkRemind, Void
partially_signedSome signers complete, others still pendingRemind, Void
completedAll signers finished, PDF sealed with signaturesDownload
voidedCancelled by sender before all signatures collected
declinedA signer declined to sign
expiredDeadline passed without all signatures collected

Legal Compliance

PROIGN e-signatures meet the requirements for legally binding electronic signatures in the United States:

RequirementHow PROIGN Meets It
ESIGN Act (US)Intent to sign captured via consent step before signing
UETA (US)Electronic records retained and reproducible
Document IntegritySHA-256 hash of original document stored in audit trail
Tamper DetectionHash-chain links each event to the previous one
Signer IdentityEmail-based authentication with unique token links
Forensic EvidenceIP address, user agent, and timestamp logged for each action

Related