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
- Upload - Upload your document to sign
- Prepare - Add signature and date fields
- Send - Email document to signers
- Sign - Signers complete their signatures
- 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:
| Status | Description | Next Actions |
|---|---|---|
draft | Document uploaded, fields being added | Send, Delete |
sent | Waiting for signers to complete | Remind, Void |
viewed | At least one signer has opened the link | Remind, Void |
partially_signed | Some signers complete, others still pending | Remind, Void |
completed | All signers finished, PDF sealed with signatures | Download |
voided | Cancelled by sender before all signatures collected | — |
declined | A signer declined to sign | — |
expired | Deadline passed without all signatures collected | — |
Legal Compliance
PROIGN e-signatures meet the requirements for legally binding electronic signatures in the United States:
| Requirement | How PROIGN Meets It |
|---|---|
| ESIGN Act (US) | Intent to sign captured via consent step before signing |
| UETA (US) | Electronic records retained and reproducible |
| Document Integrity | SHA-256 hash of original document stored in audit trail |
| Tamper Detection | Hash-chain links each event to the previous one |
| Signer Identity | Email-based authentication with unique token links |
| Forensic Evidence | IP address, user agent, and timestamp logged for each action |