diff --git a/docs/API-Documentation/E-Sign.md b/docs/API-Documentation/E-Sign.md new file mode 100644 index 0000000..e44897c --- /dev/null +++ b/docs/API-Documentation/E-Sign.md @@ -0,0 +1,1275 @@ +## Files Operation APIs + +The Files Operation **APIs allow you to retrieve individual files or list all available files** associated with your account or documents. + + +**Base URL:** +https://api.doculansign.com + + +--- + +## 🔹 1 Get Document + +Retrieve a specific file using its document ID. +Optionally, you can return the actual PDF file or just the file metadata. + +### **Endpoint** + +```` +GET /files/{document_id} +```` + +### **Headers** + +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + + + + +### **Path Parameters** +| Name | Type | Required | Description | +|-----|------|----------|-------------| +| `document_id` | string | ✅ Yes | Unique identifier of the document | + + +### **Query Parameters** +| Name | Type | Required | Default | Description | +|-----|------|----------|---------|-------------| +| `return_pdf` | boolean | ❌ No | `false` | If `true`, returns the PDF file; otherwise returns file metadata | + +### **Request Body** +> _Not required_ + +### **Response Body Example** + +```` +json + +{ + "document_id": "682c5804-f860-4p08-802f-d5538j5aabd8", + "file_path": "example.com/files/dev/OnePageContract.pdf", + "metadata_path": "example.com/metadata/682c5804.json", + "fileName": "OnePageContract.pdf", + "size": 35599, + "last_modified": "2025-12-26T16:19:53.484243+00:00", + "created_by": { + "name": "Jane Smith", + "email": "jane.smith@example.com" + } +} +```` + +### **Responses** +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + +### Tags +`Files Operation` + +--- + +## 🔹 2 Get Documents + +Retrieve a list of all available files. + +### **Endpoint** + +```` +GET /files/ +```` + + + +### **Headers** +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + +### **Query Parameters** +> _None_ + + + +### **Request Body** +> _Not required_ + +### **Response Body Example** + +```` +json + +{ + "files": [ + { + "document_id": "92c79f09-76c5-4cf8-bab6-9t68785acefc", + "file_path": "example.com/files/automation/Two-party-sample.pdf", + "metadata_path": "example.com/metadata/92c79f09.json", + "fileName": "Two-party-sample.pdf", + "size": 2746, + "last_modified": "2025-12-06T15:37:02.145324+00:00", + "created_by": { + "name": "Test User", + "email": "test.user@example.com" + } + }, + { + "document_id": "b530324b-a18d-43b8-k943-19640164a094", + "file_path": "example.com/files/automation/Folder1/Employee-Onboarding.pdf", + "metadata_path": "example.com/metadata/b530324b.json", + "fileName": "Employee-Onboarding.pdf", + "size": 539879, + "last_modified": "2025-12-08T11:07:52.468852+00:00", + "created_by": { + "name": "Test User", + "email": "test.user@example.com" + } + } + ] +} + +```` + + +### **Responses** +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + +### **Response Format** +- Content-Type: `application/json` +- Returns an array of file objects with associated metadata. + +### Tags +`Files Operation` + +--- + +## Document Template APIs + +This section describes the APIs used to retrieve document templates from the system. + +--- + +## 🔹 1 Get All Document Templates + +Retrieve a list of all available document templates. + +### **Endpoint** + + +```` +GET /templates +```` + +### **Headers** + +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + + + +### **Query Parameters** +| Name | Type | Required | Description | +|-----|------|----------|-------------| +| `is_global` | boolean \| null | ❌ No | Filter global templates | + + +### **Request Body** + +> _Not required_ + + +### **Response Body Example** + +```` +json + +{ + "local": { + "ATTESTATION AND AGREEMENT": { + "fields": [ + { + "id": "1766830885432-signature", + "type": "signature", + "x": 429, + "y": 902, + "width": 362, + "height": 36, + "page": 1, + "color": "hsl(196, 100%, 90%)", + "style": "both", + "partyId": "1", + "required": false, + "record": false, + "timestamp": false, + "options": [] + }, + { + "id": "1766830532236-text", + "type": "text", + "x": 501, + "y": 980, + "width": 310, + "height": 28, + "page": 1, + "color": "hsl(196, 100%, 90%)", + "style": "", + "partyId": "1", + "required": false, + "record": false, + "timestamp": false, + "options": [] + } ], + "parties": [ + { + "id": "1", + "name": "Party 1", + "email": "user@example.com", + "color": "hsl(196, 100%, 90%)", + "priority": 0 + } + ], + "document_id": "e1j8k49c-b726-4c9e-b168-m487cfaf6bcc" + } + }, + "global": { + "Demo2-Temp": { + "fields": [ + { + "id": "1765457294716-text", + "type": "text", + "x": 252, + "y": 188, + "width": 100, + "height": 25, + "page": 1, + "color": "hsl(196, 100%, 90%)", + "style": "both", + "partyId": "1", + "required": false, + "record": false, + "timestamp": false, + "options": [] + }, + { + "id": "1765457303824-date", + "type": "date", + "x": 555, + "y": 245, + "width": 100, + "height": 25, + "page": 1, + "color": "hsl(196, 100%, 90%)", + "style": "both", + "partyId": "1", + "required": false, + "record": false, + "timestamp": false, + "options": [] + } + ], + "parties": [ + { + "id": "1", + "name": "Party 1", + "email": "user@example.com", + "color": "hsl(196, 100%, 90%)", + "priority": 0 + } + ], + "document_id": "daac0bba-130b-4eeb-83fd-bi794882e972" + } + } +} + +```` + +### **Responses** + + +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + + + + + +### **Tags** +`Document Template` + +--- + +## Document Tracker APIs + +This API allows clients to retrieve the current status of a document using its tracking and document identifiers. + +--- + +## 🔹 1 Get Over All Status + +Retrieves a list of all document statuses. + +### **Endpoint** + +```` +GET /documents/all-status +```` +--- + +### **Headers** +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + + + +### **Request Body** +> _Not required_ + +### **Response Body Example** + +```` +json + +{ + "total_documents": 7, + "status_counts": { + "completed": 1, + "cancelled": 1, + "expired": 1, + "in_progress": 1, + "declined": 1, + "shared": 1, + "scheduled": 1 + }, + "documents": [ + { + "document_id": "00f3435b-460a-40e0-a2a9-5547450b82f1", + "tracking_id": "0254861d-bc0c-463f-9ab5-76007a852811", + "validity_date": "2025-12-12T18:29:59.000Z", + "status": "completed", + "datetime": "2025-12-12T16:12:49.689499+00:00", + "parties": [ + { + "id": "1", + "name": "User One", + "email": "user.one@example.test", + "color": "hsl(196, 100%, 90%)", + "status": { + "sent": [ + { + "isSent": true, + "dateTime": "2025-12-12T16:00:50.797238+00:00", + "party_name": "User One", + "party_email": "user.one@example.test", + "ip": "34.201.55.91", + "browser": "Chrome", + "os": "Windows 11", + "device": "PC/Laptop", + "location": { + "city": "New York", + "region": "New York", + "country": "US", + "timestamp": "2025-12-12T16:00:31.616Z", + "timezone": "America/New_York" + } + } + ], + "opened": [ + { + "isOpened": true, + "dateTime": "2025-12-12T16:11:04.313365+00:00", + "party_name": "User One", + "party_email": "user.one@example.test", + "ip": "34.201.45.91", + "browser": "Chrome", + "os": "Windows 11", + "device": "PC/Laptop", + "location": { + "city": "New York", + "region": "New York", + "country": "US", + "timestamp": "2025-12-12T16:10:46.089Z", + "timezone": "America/New_York" + } + } + ], + "signed": [ + { + "isSigned": true, + "dateTime": "2025-12-12T16:12:49.689499+00:00", + "party_name": "User One", + "party_email": "user.one@example.test", + "ip": "34.201.45.91", + "browser": "Chrome", + "os": "Windows 11", + "device": "PC/Laptop", + "location": { + "city": "New York", + "region": "New York", + "country": "US", + "timestamp": "2025-12-12T16:12:29.632Z", + "timezone": "America/New_York" + } + } + ] + } + } + ] + }, + { + "document_id": "011baa59-f55b-4fed-b15c-d1653fb72e46", + "tracking_id": "0e3bc8c4-b7b2-4471-bcf4-03756c17dae7", + "validity_date": "2026-02-28T18:29:59.000Z", + "status": "cancelled", + "datetime": "2025-12-31T21:48:44.275476+00:00", + "parties": [ + { + "id": "1", + "name": "User Two", + "email": "user.two@example.test", + "color": null, + "status": { + "cancelled": [ + { + "isCancelled": true, + "reason": "Invalid document format", + "dateTime": "2025-12-31T21:48:44.275476+00:00", + "party_name": "User Two", + "party_email": "user.two@example.test", + "ip": "18.211.90.44", + "browser": "Chrome", + "os": "Windows 11", + "device": "PC/Laptop", + "location": { + "city": "Austin", + "region": "Texas", + "country": "US", + "timestamp": "2025-12-31T21:48:38.999Z", + "timezone": "America/Chicago" + } + } + ] + } + } + ] + }, + { + "document_id": "92c79f09-76c5-4cf8-bab6-9b98721ncefc", + "tracking_id": "ac532311-6c71-4f65-aea6-a6chnj77faefa", + "validity_date": "2026-12-12T18:29:59.000Z", + "status": "scheduled", + "datetime": "2026-01-06T13:42:49.000600+00:00", + "parties": [ + { + "id": "1", + "name": "Signer One", + "email": "signer.one@example.test", + "color": "hsl(196, 100%, 90%)", + "status": { + "scheduled": [ + { + "isScheduled": true, + "dateTime": "2026-01-06T13:42:49.000600+00:00", + "party_name": "Signer One", + "party_email": "signer.one@example.test", + "ip": "34.228.4.221", + "browser": "HeadlessChrome", + "os": "Linux", + "device": "PC/Laptop", + "location": { + "city": "Ashburn", + "region": "Virginia", + "country": "US", + "timestamp": "2026-01-06T13:42:48.584Z", + "timezone": "America/New_York" + } + } + ] + } + }, + { + "id": "2", + "name": "Signer Two", + "email": "signer.two@example.test", + "color": "hsl(80, 70%, 90%)", + "status": {} + } + ] + }, + { + "document_id": "021fc34b-b267-43ba-a7af-455286ebe90b", + "tracking_id": "0e8aa699-9114-4cbb-a479-m50cf693f988", + "validity_date": "2025-12-10T23:59:59.000Z", + "status": "in_progress", + "datetime": "2025-12-10T16:42:15.133172+00:00", + "parties": [ + { + "id": "1", + "name": "User Three", + "email": "user.three@example.test", + "color": "hsl(196, 100%, 90%)", + "status": {} + } + ] + }, + { + "document_id": "92c79f09-76c5-4cf8-bab6-9b9523565acefc", + "tracking_id": "05433b6b-3f7e-4d7f-a333-8c4b258gf598a8", + "validity_date": "2026-03-01T18:29:59.000Z", + "status": "shared", + "datetime": "2026-01-06T13:15:29.208286+00:00", + "parties": [ + { + "id": "1", + "name": "User Four", + "email": "user.four@example.test", + "color": "#ccf1ffff", + "status": { + "shared": [ + { + "isShared": true, + "dateTime": "2026-01-06T13:15:29.208286+00:00", + "party_name": "User Four", + "party_email": "user.four@example.test", + "ip": "44.193.15.98", + "browser": "Chrome", + "os": "Linux", + "device": "PC/Laptop", + "location": { + "city": "Ashburn", + "region": "Virginia", + "country": "US", + "timestamp": "2026-01-06T13:15:25.699Z", + "timezone": "America/New_York" + } + } + ] + } + } + ] + } + ] +} + + +```` + +### **Responses** +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + + + + +--- + +### **Tags** +`Document Tracker` + +--- + +## 🔹 2 Get Document Status By Party + +Retrieve the document status for an individual party using tracking, document, and party identifiers. + +### **Endpoint** + +```` +GET /documents/party-status +```` + +### **Headers** +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + + + +### **Query Parameters** +| Name | Type | Required | Description | +|-----|------|----------|-------------| +| `tracking_id` | string | ✅ Yes | Unique tracking identifier of the document | +| `document_id` | string | ✅ Yes | Unique identifier of the document | +| `party_id` | string | ✅ Yes | Unique identifier of the party | + + + + +### **Request Body** +> _Not required_ + + +### **Response Body Example** + +```` +json + +{ + "tracking_id": "09aa3a64-fd50-4afa-a79e-e70ek5cea2a6", + "document_id": "form-doc-dded726c-a117-42e3-9df9-a3a3c5hg91b2", + "validity_date": "2025-12-11T18:29:59.000Z", + "tracking_status": { + "status": "completed", + "dateTime": "2025-12-11T14:29:10.596474+00:00", + "ip": "34.102.136.180", + "browser": "Chrome", + "os": "Windows 11", + "device": "PC/Laptop", + "location": { + "city": "San Francisco", + "region": "California", + "country": "US", + "timestamp": "2025-12-11T14:29:09.599Z", + "timezone": "America/Los_Angeles" + } + }, + "party_id": "1", + "party_info": { + "id": "1", + "name": "John Doe", + "email": "john.doe@example.com", + "color": "hsl(196, 100%, 90%)", + "status": { + "sent": [ + { + "isSent": true, + "dateTime": "2025-12-11T14:26:25.598788+00:00", + "party_name": "John Doe", + "party_email": "john.doe@example.com", + "ip": "34.102.136.180", + "browser": "Chrome", + "os": "Windows 11", + "device": "PC/Laptop", + "location": { + "city": "San Francisco", + "region": "California", + "country": "US", + "timestamp": "2025-12-11T14:26:22.091Z", + "timezone": "America/Los_Angeles" + } + } + ], + "opened": [ + { + "isOpened": true, + "dateTime": "2025-12-11T14:28:46.051332+00:00", + "party_name": "John Doe", + "party_email": "john.doe@example.com", + "ip": "34.102.136.180", + "browser": "Chrome", + "os": "Windows 11", + "device": "PC/Laptop", + "location": { + "city": "San Francisco", + "region": "California", + "country": "US", + "timestamp": "2025-12-11T14:28:46.738Z", + "timezone": "America/Los_Angeles" + } + } + ], + "signed": [ + { + "isSigned": true, + "dateTime": "2025-12-11T14:29:10.596474+00:00", + "party_name": "John Doe", + "party_email": "john.doe@example.com", + "ip": "34.102.136.180", + "browser": "Chrome", + "os": "Windows 11", + "device": "PC/Laptop", + "location": { + "city": "San Francisco", + "region": "California", + "country": "US", + "timestamp": "2025-12-11T14:29:09.599Z", + "timezone": "America/Los_Angeles" + } + } + ] + } + }, + "fields": [ + { + "id": "176544595874381-date", + "type": "date", + "x": 545, + "y": 852, + "width": 100, + "height": 25, + "page": 0, + "color": "hsl(196, 100%, 90%)", + "style": "both", + "partyId": "1", + "required": false, + "record": false, + "timestamp": false, + "options": [], + "signed": true, + "value": "12/11/2025", + "signed_at": "2025-12-11T14:29:08.922733+00:00" + }, + { + "id": "1765446872111-date", + "type": "date", + "x": 625, + "y": 297, + "width": 100, + "height": 25, + "page": 0, + "color": "hsl(196, 100%, 90%)", + "style": "both", + "partyId": "1", + "required": false, + "record": false, + "timestamp": false, + "options": [], + "signed": true, + "value": "12/11/2025", + "signed_at": "2025-12-11T14:29:08.922758+00:00" + } + ], + "otp_enabled": null, + "wet_sign": false +} + +```` + +### **Responses** +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + + + +### **Example** + +> tracking_id=13c34dd9-7f31-4s3d-9b1c-b006ehy587f + +> document_id=e1bfqwe9-a677-43ad-b211-0b4afbj55a77 + +> party_id=1 + +### **Tags** +`Document Tracker` + + +--- + +## 🔹 3 Resend E-Sign + +Resend the document access or signing link for an existing document using its document and tracking identifiers. + +### **Endpoint** + +```` +POST /documents/resend +```` + +### **Headers** +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + + +### **Query Parameters** +| Name | Type | Required | Description | +|-----|------|----------|-------------| +| `store_as_default` | boolean | ❌ No | Store the provided configuration as default | + + +### **Request Body Example** + +```` +json + +{ + "document_id": "fce52a1e-5q95-4cf8-99ba-e62994f3ceb0", + "tracking_id": "076a3e8b-2uue-49va-8d7e-d6d28k98f2ed", + "validityDate": "2025-12-31T18:29:59.000Z", + "remainder": 0, + "client_info": + { + "ip": "3.82.145.27", + "city": "New York", + "region": "New York", + "country": "US", + "timezone": "America/New_York", + "timestamp": "2025-12-21T10:14:01.699Z", + "aws_region": "us-east-1", + "browser": "Chrome", + "device": "PC/Laptop", + "os": "Windows 10" + } +} + +```` + +### **Response Body Example** + +```` +json + +{ + "message": "Resend initiated", + "tracking_id": "076a1e8b-27ae-4e5a-8d7e-d6d24j78f2ed", + "new_validityDate": "2026-12-31T18:29:59.000Z" +} + + +```` + +### **Response** + +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + +### **Example** + +> store_as_default=false + + +### **Tags** + +`Document Tracker` + +--- + +## 🔹 4 Download Signed Document + +Retrieve the final signed PDF document. + +### **Endpoint** + +```` +GET /documents/signed-pdf +```` +### **Headers** +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + + +### **Query Parameters** +| Name | Type | Required | Description | +|-----|------|----------|-------------| +| `tracking_id` | string | ✅ Yes | Unique tracking identifier of the document | +| `document_id` | string | ✅ Yes | Unique identifier of the document | + + +### **Request Body** +> _Not required_ + +### **Response Example** + +This API returns the **signed document** in **PDF format.** + + A **sample signed document** is provided below for reference. + + You may **download** the sample PDF for structure and content of the response. + + +
+ +### **Responses** +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + + +### **Example** + + +> tracking_id=a2bfeeb9-a677-43ad-b211-0b4afby76a77 + +> document_id=fyo50e1e-5d05-4cf8-99ba-e62994y7ceb0 + +### **Tags** + +`Document Tracker` + +--- + +## 🔹 5 Download Certificate + +Retrieve the completion certificate for a fully processed document. + +### **Endpoint** + +```` +GET /documents/complete-certificates +```` + +### **Headers** +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + + + +### **Query Parameters** +| Name | Type | Required | Description | +|-----|------|----------|-------------| +| `document_id` | string | ✅ Yes | Unique identifier of the document | +| `tracking_id` | string | ✅ Yes | Unique tracking identifier of the document | + + + +### **Request Body** +> _Not required_ + +### **Response Example** + + This API returns **Certificate of Completion** in **PDF** format, serving as proof of the completed signing process. + + A sample certificate is attached below for reference. + + You may **download** the sample PDF for detailed information. + + + + + +### **Responses** +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + + +### **Example** + +> document_id=fce50e1e-5d05-4cf8-99ba-b6797y6tceb0 + +> tracking_id=e1bfeeb9-a677-43ad-f411-0b4afbj71a77 + +### **Tags** + +`Document Tracker` + +--- + +## 🔹 6 Log Action + +Log a document-related action such as cancellation, rejection, or other workflow events. + +### **Endpoint** + +```` +POST /documents/log-action +```` + +--- + +### **Headers** +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + +--- + + +### **Request Body Example** + +```` +json + +{ + "document_id": "687u5804-d360-4e98-802f-d5531htyrf675abd8", + "tracking_id": "7054eab3-c0f2-40e2-9b9e-731c1444df6d", + "action": "CANCELLED", + "party_id": "1", + "reason": "User requested cancellation", + "client_info": { + "ip": "3.128.94.52", + "city": "Lisle", + "region": "Illinois", + "country": "US", + "timezone": "America/Chicago", + "timestamp": "2025-12-21T04:14:01.699Z", + "browser": "Chrome", + "device": "PC/Laptop", + "os": "Windows 10" + }, + "holder": { + "name": "John Doe", + "email": "johndoe@virtualansoftware.com", + "address": { + "address_line_1": "3333 Warrenville Road", + "address_line_2": "Suite 200", + "city": "Lisle", + "country": "USA", + "state": "IL", + "zipcode": "60532" + } + } +} + + +```` + +### **Response Body Example** + +```` +json + +{ + "message": "Action 'CANCELLED' logged successfully." +} + +```` + +### **Responses** + +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + + +### **Tags** + +`Document Tracker` + +--- + +## 🔹 7 Send E-Sign + +Send a document to one or more parties for review or signing. + +### **Endpoint** + + +```` +POST /documents/send +```` + +### **Headers** +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + + + +### **Query Parameters** +| Name | Type | Required | Default | Description | +|-----|------|----------|---------|-------------| +| `store_as_default` | boolean | ❌ No | `false` | Store configuration as default | + + +### **Request Body Example** + +```` +json + +{ + "document_id": "fct60e1e-5d05-4cf8-99ja-e65258f3ceb0", + "validityDate": "2025-12-31T18:29:59.000Z", + "remainder": 0, + "parties": + [ + { + "id": "1", + "name": "Sarah Williams", + "email": "sarah.williams@virtualansoftware.com" + } + ], + "email_response": [ + { + "email_subject": ": Summary of Your API Integration Check", + "email_body": "Hi [Fullname], We have completed the...[Documnet Link]" + } + ], + "cc_emails": [ + "jason.brown@virtualansoftware.com" + ], + "client_info": { + "ip": "3.156.94.85", + "city": "Lisle", + "region": "Illinois", + "country": "US", + "timezone": "America/Chicago", + "timestamp": "2025-12-21T04:14:01.699Z", + "aws_region": "us-east-2", + "browser": "Chrome", + "device": "PC/Laptop", + "os": "Windows 10" + }, + "holder": { + "name": "John Doe", + "email": "johndoe@virtualansoftware.com", + "address": { + "address_line_1": "3333 Warrenville Road", + "address_line_2": "Suite 200", + "city": "Lisle", + "country": "USA", + "state": "IL", + "zipcode": "60532" + } + }, + "otp_enabled": false, + "template_info": { + "template_type": "Myself", + "template_name": "Testing-template" + } +} + +```` + +### **Response Body Example** + +```` +json + +{ + "tracking_id": "036589d1-45c7-4c7f-b83c-cde17bg5yhj72c", + "status": "sent" +} + +```` + +### **Responses** + +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + +### **Tags** + +`Document Tracker` + +--- + +## 🔹 8 Sign API + +Submit **signed field values** for a document by a specific party. + + +**Endpoint** +```` +POST /documents/sign +```` + +### **Headers** + +| Name | Type | Required | Description | +| ------------------- | ------------------ | -------- | ---------------------------------------------------------- | +| `x-api-key` | string | ✅ Yes | API key used to authenticate the request | +| `Content type` | application/json | ✅ Yes | Specifies that the API response is returned in JSON format | + + + +### **Request Body Example** + +```` +json + +{ + "tracking_id": "98258l97c-56f6-4ffa-9c6e-62efbae24b36", + "document_id": "fchgt56yhje1e-5d05-4cf8-99ba-e62994f3ceb0", + "party_id": "1", + "fields": [ + { + "fields_ids": [ + { + "field_id": "1766751979232-text", + "value": "Maxin", + "font": "", + "style": "" + } + ] + } + ], + "client_info": { + "ip": "3.128.94.52", + "city": "Lisle", + "region": "Illinois", + "country": "US", + "timezone": "America/Chicago", + "timestamp": "2025-12-27T04:02:59.239Z", + "aws_region": "us-east-2", + "browser": "Chrome", + "device": "PC/Laptop", + "os": "Windows 10" + } +} + + +```` + +### **Response Body Example** + +```` +json + +{ + "status": "completed", + "message": "Signature processed and metadata updated", + "document_id": "nhy67e1e-5d05-4cf8-99ba-e62994f3ceb0", + "tracking_id": "u7y6b7c1-c683-4299-8eb6-7806e8ac59a0", + "signed": true +} + +```` + +### **Responses** + +| Status Code | Description | +| ------------------------------------------------------- | ------------------- | +| 200 | Successful response | +| 422 | Validation error | + +### **Tags** + +`Document Tracker` + +--- + diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 0000000..a18d8d5 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +docs.doculan.ai \ No newline at end of file diff --git a/docs/Contacts/Contact-Delete.md b/docs/Contacts/Contact-Delete.md index 2541d9e..cd925f7 100644 --- a/docs/Contacts/Contact-Delete.md +++ b/docs/Contacts/Contact-Delete.md @@ -1,6 +1,13 @@ +# How to Delete Contact? + +This guide helps to **Delete a Contact in Doculan** helps you maintain a clean and accurate directory by removing unused or outdated entries. From the Contacts page, select the delete option next to the desired contact and confirm the action in the popup. Once confirmed, the contact is permanently removed from the system. This ensures your contact list stays organized and relevant. + +--- + + # Steps to Delete Contact -1. Open the **Contacts** page to view all contacts. +1. Navigate to **Contacts** page to view all contacts. 2. Click the **Delete (trash icon)** next to the contact you want to remove. 3. Confirm by clicking **Delete**. 4. The contact will be deleted successfully. @@ -13,35 +20,4 @@
----> The above **Screenshots** represent that how to **Delete Contact.**
-
-**Demo Video:**
-
-
-
-
----> The above **Screenshots** represent that how to **Update Contact.**
-
-**Demo Video:**
-
-
-
-
diff --git a/docs/E_Sign/create-template.md b/docs/E_Sign/create-template.md
index de1391e..0644b5a 100644
--- a/docs/E_Sign/create-template.md
+++ b/docs/E_Sign/create-template.md
@@ -54,4 +54,37 @@ When saving the template, you'll be prompted to choose between:
You can now quickly load, edit, and reuse saved templates to speed up your document workflows.
+
+**Demo Video:**
+
+
+
+
diff --git a/docs/E_Sign/myself-or-team-template.md b/docs/E_Sign/myself-or-team-template.md
index 016ae3a..123d898 100644
--- a/docs/E_Sign/myself-or-team-template.md
+++ b/docs/E_Sign/myself-or-team-template.md
@@ -8,7 +8,7 @@ Doculan offers **two types of templates**:
1. **Myself Template**
2. **Team Template**
-Let's break them down step-by-step.
+Let's break them down step-by-step.
---
diff --git a/docs/E_Sign/resend-esign-document.md b/docs/E_Sign/resend-esign-document.md
index a4feac6..9386a21 100644
--- a/docs/E_Sign/resend-esign-document.md
+++ b/docs/E_Sign/resend-esign-document.md
@@ -30,7 +30,7 @@ Doculan enforces strict resend rules to ensure audit accuracy.
In the **Actions** column for that document:
-1. Click the **three-dot menu** (â‹®).
+1. Click the **⋮ (three-dot)**.
2. You'll see options like:
- View
- Audit
diff --git a/docs/E_Sign/resend-shared-document.md b/docs/E_Sign/resend-shared-document.md
index 1dc36d8..a9e9c38 100644
--- a/docs/E_Sign/resend-shared-document.md
+++ b/docs/E_Sign/resend-shared-document.md
@@ -9,11 +9,11 @@ Doculan makes it easy to **resend shared documents** instantly without re-upload
## Overview
Resending allows you to:
-- Reissue expired or unopened links.
-- Update recipient details (e.g., corrected email).
+- Reissue the opened or unopened links.
+
- Maintain a complete tracking history for compliance.
-> *You can only resend documents with a status of **Expired** or **Unopened**. Completed or cancelled shares cannot be resent.*
+> *You can only resend documents with a status of **Shared**. Completed or cancelled shares cannot be resent.*
---
@@ -21,7 +21,7 @@ Resending allows you to:
## Step 1: Identify the document to resend
-- In the **Status** column, look for the document marked as **Expired** or **Shared**.
+- In the **Status** column, look for the document marked as **Shared**.
- These are eligible for resending.
@@ -47,10 +47,11 @@ Resending allows you to:
| Condition | Action | Notes |
|------------|---------|-------|
-| Expired | Resend available | Must set new expiry date |
-| Opened/Unopened | Resend available | Use same or updated email |
+| Shared | Resend available | Must set new expiry date |
+| Opened | Resend available | Use same or updated email |
| Cancelled | Not allowed | Document link is deactivated |
| Audit Trail | Always updated | Shows all resend activity |
+
---
diff --git a/docs/E_Sign/share-document.md b/docs/E_Sign/share-document.md
index f9324df..921d3d9 100644
--- a/docs/E_Sign/share-document.md
+++ b/docs/E_Sign/share-document.md
@@ -11,7 +11,7 @@ You can share for **review**, **reference**, or **collaboration**, while maintai
The **Share** feature provides a simple way to send read-only access to any stored file directly from your dashboard.
It is often used to:
-- Share signed contracts or templates with clients.
+
- Send drafts for approval or feedback.
- Collaborate with colleagues without duplicating files.
@@ -63,11 +63,12 @@ Once you click Share, a popup or side panel will appear with fields for:
After sending:
- Go back to your **Dashboard** and select the same folder.
-- Check the **Status** column to view sharing status (e.g., *Shared*, *Opened*, *Expired*).
+- Check the **Status** column to view sharing status (e.g., *Shared*, *Opened*).
+- We only check the expiry date at the bottom of the Audit Trail.
-- Click the **Audit** button to see complete tracking details  when it was sent, opened, or downloaded.
+- Click the **Audit** button to see complete tracking details such as - when it was sent, opened, or downloaded.
@@ -78,9 +79,9 @@ After sending:
| Setting | Description | Notes |
|----------|--------------|-------|
| View Only | Recipients can view or download | Recommended for clients |
-| Expiry | Auto-revokes access after set date | Can't be reopened |
| Reminder | Sends email before expiry | Optional |
| Audit Trail | Tracks every share action | Can be exported as report |
+
---
@@ -88,4 +89,35 @@ After sending:
**You've successfully shared a document using Doculan's Share feature!**
+ **Demo Video:**
+
+
+
+
@@ -180,21 +180,24 @@ The AI will respond contextually, it does **not** handle general queries.
## Step 9: After Submission
-If the recipient declines:
+
+- A pop-up appears as **Submission Successfull**
+- You can either view the document or download the document as zip file.
+
+
+
- A **Certificate of Completion** is generated.
- The signed PDF is **SSL certified**.
- Copies are sent to both sender and recipient via email.
- The document status changes to **Completed**.
-
-
---
@@ -204,4 +207,35 @@ If they complete:
**Congratulations!**
You have successfully configured and sent a **single-party e-sign document** using **Doculan**.
+**Demo Video:**
+
+
+
+
+
+
+-->The above **Screenshot** represent that **Creating a Form with E-Sign Embedded**
+
+---
+
+### Configuring Recipient and Security Settings
+
+1. Add the recipient’s **Email ID** and **Name**.
+2. Set the **Validity Date** and **Reminder**.
+3. Under **Security Settings**, configure **OTP Verification**.
+
+> **Note:** You may disable OTP Verification if required, but enabling this option is considered a best practice.
+
+---
+
+### Send and Fill the Form
+
+1. Enter the **Email Subject** and **Email Body**.
+2. Send the email to the recipient.
+
+The recipient will receive the email and open the form using **OTP Verification**.
+
+The recipient can:
+- Fill in the required form fields
+- Click **Open & Sign Document**
+
+**Screenshot 2**
+
+
+
+-->The above **Screenshot** represent that **Send and Fill the Form**
+
+---
+
+### Completing the E-Sign Process
+
+1. The document will open.
+2. Fill and put E-Sign in the required document fields.
+3. Click the **Submit** button.
+
+The **E-Sign Document** will be submitted successfully.
+
+You can:
+- View the signed document
+- Download the **ZIP file** to your local system
+
+---
+
+### Submitting the Form
+
+1. After completing the E-Sign process, return to the **Forms** page.
+2. In the **Agreement (E-Sign Embedded Field)**, click the **Refresh** button.
+3. The status will change from **Pending** to **Signed**.
+
+**Screenshot 3**
+
+
+
+-->The above **Screenshot** represent that **Submitting the Form**
+
+4. Click **Submit Form**.
+5. The completed form will be stored in **Doculan Storage**.
+
+**Screenshot 4**
+
+
+
+-->The above **Screenshot** represent that **Form Successfully Submitted in Doculan Storage**
+
+---
\ No newline at end of file
diff --git a/docs/Forms/Form-Delete.md b/docs/Forms/Form-Delete.md
index 0b94d5a..3d35cad 100644
--- a/docs/Forms/Form-Delete.md
+++ b/docs/Forms/Form-Delete.md
@@ -1,9 +1,17 @@
+# How to Delete Form?
+
+This guide helps to **deleting a form in Doculan** is possible only when it has **no linked recipients or submissions**. Navigate to the Forms section, open the action menu, and choose Delete to remove the form permanently. A confirmation popup will appear, allowing you to verify the action before final deletion. This ensures that only unused or draft forms are safely removed from the system.
+
+---
+
## **Step:1 Navigate to Delete the Form**
- Forms can be deleted **only if no recipients are linked**
> Forms with recipients or submissions **cannot be deleted**
-- Go to **Dashboard → Forms**
-- Click **Action → Delete**
+- Navigate to the **Doculan Dashboard** and click **Forms.**
+- Locate the **form** and click the **⋮ (three-dot) icon** under the Actions column.
+- Click **Delete.**
+
**Screenshot1:**
diff --git a/docs/Forms/Form_Cancel.md b/docs/Forms/Form_Cancel.md
index 4f96662..e327779 100644
--- a/docs/Forms/Form_Cancel.md
+++ b/docs/Forms/Form_Cancel.md
@@ -1,8 +1,16 @@
+# How to Cancel Form?
+
+This guide helps to how to **cancel a form in Doculan** when it is **no longer needed**. Walks you through navigating to the form, initiating the cancellation, confirming the action, and reviewing the audit trail for tracking. It ensures you can safely stop a form workflow with full transparency.
+
+---
+
+
## **Step 1: Navigate to Cancel the Form**
- Status must be **Sent**
-- Go to **Dashboard → Forms**
-- Click **Action → Cancel**
+- Navigate to the **Doculan Dashboard** and click **Forms.**
+- Locate the **form** and click the **⋮ (three-dot) icon** under the Actions column.
+- Click **Cancel.**
**Screenshot1:**
@@ -34,8 +42,10 @@ A confirmation popup appears with details.
# **Step 3: Audit Trail**
-- Click **Audit Button**
-- Check the timesheet from the audit trail.
+- Navigate to the **Doculan Dashboard and click Forms.**
+- Locate the required **form** and click the **⋮ (three-dot) icon** under the **Actions column.**
+- From the Actions menu, you can perform the below operations:
+- **Audit** – We can check the timesheet from the audit trail.
diff --git a/docs/Forms/Form_Clone.md b/docs/Forms/Form_Clone.md
index d7c2618..d4eb157 100644
--- a/docs/Forms/Form_Clone.md
+++ b/docs/Forms/Form_Clone.md
@@ -1,10 +1,17 @@
+# How to Clone Form?
+
+Cloning a form in Doculan lets you **instantly duplicate any existing form** and **reuse its structure without rebuilding it**. After cloning, you can review the details, add recipients, and send it just like a new form. This feature makes repeating form workflows faster and more efficient.
+
+---
+
## **Step1: Navigate to Clone the Form**
-- Go to **Dashboard → Forms**
-- Click **Action → Clone**
+- Navigate to the **Doculan Dashboard** and click **Forms.**
+- Locate the **required form** and click the **⋮ (three-dot) icon** under the Actions column.
+- Click **Clone** and form will be cloned
- Review & click **Send Form**
-- Add recipients again and send
-- All the steps are same as like Create and Send Form, As we already seen in [How to Create and Send Forms ](Form_Create.md)
+- Add **recipients again and send**
+- All the steps are same as like Create and Send Form, As we already seen in [How to Create and Send Forms?](Forms/Form_Create.md)
> Forms can be cloned even if they are **Completed, Cancelled, Resent, or Expired**
@@ -18,10 +25,12 @@
# **Step 2: Audit Trail**
-- Click **Audit Button**
-- Check the timesheet from the audit trail.
+- Navigate to the **Doculan Dashboard and click Forms.**
+- Locate the required **form** and click the **⋮ (three-dot) icon** under the **Actions column.**
+- From the Actions menu, you can perform the below operations:
+- **Audit** – View detailed submission logs and activity history.
**Screenshot2:**
-
+
The above **Screenshot** represent that **Audit Workflow of Clone Form.**
\ No newline at end of file
diff --git a/docs/Forms/Form_Create.md b/docs/Forms/Form_Create.md
index 49f1e7e..d8e231b 100644
--- a/docs/Forms/Form_Create.md
+++ b/docs/Forms/Form_Create.md
@@ -1,10 +1,20 @@
-## **Step 1: Create the Form**
+# How to Create and Send Forms?
-- Go to the **Forms** page.
-- Upload a **logo** (optional).
-- Enter **Form Title** and **Form Description**.
-- Select the **folder path** to store submitted data.
-- Drag and drop required fields:
+This guide explains the complete process of **creating a form, sending it to users, capturing their submissions, and reviewing the collected data**.
+Follow the step-by-step instructions to manage your form workflow efficiently.
+
+---
+
+## **Step 1: Navigate to Create the Form**
+
+- Navigate to the **Doculan Dashboard**. Click **Forms** from the main menu.
+
+- Click the **Create New Form** button to manually design a form, or select **Generate with AI** to automatically create a form using **AI**.
+
+- For manual form creation, click the **Create New Form** button to proceed.
+
+- We have to Upload a **logo** (optional). Enter **Form Title** and **Form Description**.
+- Select the **folder path** to store submitted data. Drag and drop required fields:
| Field Type | Description |
|------------------|-------------|
@@ -30,12 +40,12 @@
---> The above **Screenshots** represent that how to create **form**
-# **Step 2: Send the Form**
+# **Step 2: Navigate to Send the Form**
- Click **Send Form**
- Add **recipient name & email**
- Set **validity date** & **reminders**
-- Drag & drop the **form link** into the email body
+- Drag & drop the **Form link** and **Fullname** into the email body
- Click **Send**
**Screenshot1:**
@@ -49,7 +59,7 @@
---> The above **Screenshots** represent that how to send **form.**
-# **Step 3: Recipient Submission**
+# **Step 3: Navigate to Recipient Submission**
- Recipient receives form link by email
- Complete **OTP verification**
@@ -62,19 +72,25 @@
**Screenshot2:**
-
+
+
+**Screenshot3:**
+
+
---> The above **Screenshots** represent that how to Complete **otp verification** and **fill the form** and download the responses in **PDF Format**
-# **Step 4: Review Submissions**
+# **Step 4: Navigate to Review Submissions**
+To review and manage form submissions in Doculan, follow the steps below:
- Form status changes to **Completed**
-- Navigate: **Dashboard → Forms**
-- View actions under **Actions menu**:
- - **Audit** – view submission logs
- - **View** – check individual submission
-- **Download all submissions as CSV**
+- Navigate to the **Doculan Dashboard** and click **Forms.**
+- Locate the required form and click the **⋮ (three-dot) icon** under the **Actions** column.
+- From the Actions menu, you can perform the following operations:
+ - **Audit** – View detailed submission logs and activity history.
+ - **View** – Review individual form submissions.
+- Download all form submissions in **CSV format** for reporting or offline analysis.
**Screenshot1:**
@@ -102,12 +118,12 @@
+
+-->The above **Screenshot** represent that **Accessing Library – Documents**
+
+
+---
+
+## Save Document Template in Doculan Storage
+
+1. Click the **⋮ (three-dot)** icon under the **Actions** column.
+2. Select **Copy** to duplicate the document template.
+3. Choose the specified location in **Doculan Storage** where the template should be saved.
+
+**Screenshot 2**
+
+
+
+
+
+**Screenshot 3**
+
+
+
+-->The above **Screenshots** represent that **Saving Document Template in Doculan Storage**
+
+
+
+
+---
+
+## Overwrite Document Template in Doculan Storage
+
+If the selected document template already exists in the same location within Doculan Storage:
+
+- A popup will appear indicating **“Overwrite File.”**
+- To replace the existing file, click **Overwrite**.
+- To keep the existing version unchanged, click **Cancel**.
+
+**Screenshot 4**
+
+
+
+-->The above **Screenshot** represent that **Overwriting Document Template in Doculan Storage**
+
+
+
+---
+
+## Viewing Document Templates in E-Sign Templates and Specified Locations
+
+After copying a document template from **Library – Documents**, it will be available in both:
+
+- **E-Sign Templates**, and
+- The **specified location** in Doculan Storage.
+
+### Viewing in E-Sign Templates
+
+1. Navigate to the **Doculan Dashboard**.
+2. Click **Templates**.
+3. Under **Myself Templates**, you will find the copied Document Template.
+
+**Screenshot 5**
+
+
+
+-->The above **Screenshot** represent that **Viewing Document Template in E-Sign Templates**
+
+
+
+### Viewing in the Specified Location
+
+1. Go to the **Doculan Dashboard**.
+2. Navigate to the folder or location where the template was stored.
+3. The copied Document Template will be visible there.
+
+**Screenshot 6**
+
+
+
+-->The above **Screenshot** represent that **Viewing Document Template in the Specified Location**
+
+
+
+---
+
+## Working With a Document Template
+
+Once the Document Template is stored in the specified location, follow the steps below to use it for **E-Sign**:
+
+1. Locate the template in the specified storage location.
+2. Click the **⋮ (three-dot)** icon under the **Actions** column.
+3. Select **E-Sign** to begin working with the document.
+4. The **E-Sign Template fields** will appear.
+5. Click **Myself**.
+6. Use the **dropdown** to select the required document template.
+7. All related fields will be **automatically populated**.
+8. You may now send the document to the **Recipient.**
+
+**Screenshot 7**
+
+
+
+-->The above **Screenshot** represent that **Working in Document Template**
+
+
+---
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
index 005d361..94ae4a3 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,104 +1,118 @@
-# Doculan — Document Management & E-Signature
+# Doculan — Smart Document Management & E-Signature Platform
-> Smart, secure document management with e-signing and AI-powered document tools.
-> 14-day free trial available for all plans. ([doculan.ai][1])
+> Secure, AI-powered document management, form automation, and legally compliant e-signatures — all in one platform.
+> ✅ 30-day free trial available for all plans — https://www.doculan.ai
---
-## Hero
+## 🚀 Product Overview
-**Doculan** — Streamline document workflows, search smarter with OCR and AI, and collect legally binding e-signatures — all in one secure platform.
+**Doculan** helps individuals and teams securely manage documents, automate workflows, create smart forms, and collect legally binding e-signatures with complete audit trails.
-* Fast document upload (PDF, DOCX, images)
-* Built-in e-signature flow for approvals and signatures
-* AI / OCR search and metadata auto-fill to find documents instantly
-* Role & access controls, versioning, secure cloud storage. ([doculan.ai][1])
-
-**Get started** — 14-day free trial, no hidden fees. ([app.doculan.ai][2])
+From document upload to AI-powered form detection and PDF comparison, Doculan ensures speed, accuracy, and compliance — all in a secure cloud environment.
---
-## Key Features
+## ✨ Key Capabilities
+
+### 📁 Document Management
+- Upload, organize, tag, and version your documents.
+- Secure cloud storage with role-based access control.
+- Full document history and version tracking.
-### Document Management
+### ✍️ E-Signature & Audit Trails
+- Create signable documents and send for signatures.
+- Legally binding digital signatures with timestamps.
+- Complete audit logs for compliance and verification.
-* Upload, organize, tag, and version documents.
-* Role-based access control and secure cloud storage. ([doculan.ai][1])
+### 🤖 AI & OCR Intelligence
+- OCR-enabled full-text search inside scanned PDFs.
+- AI-powered metadata extraction and smart tagging.
+- Automatic form field detection for supported AcroForms (I-9, tax forms, onboarding docs).
-### E-Signature
+### 🧠 AI Form Generation
+- Generate dynamic forms instantly using simple natural-language prompts.
+- No manual field creation required.
-* Create signable documents, route for signature, and audit trails for compliance. ([doculan.ai][1])
+### 📄 PDF Form Comparison
+- Compare previously submitted PDF forms with new submissions.
+- Detect and highlight populated field changes instantly.
-### AI & OCR
+### ᝰ✍🏻 Smart Signing Experience
+- Tab-based field navigation while signing.
+- Auto-save while filling forms.
+- Auto-focus on the next required field.
-* OCR-enabled full-text search for scanned PDFs and images.
-* AI-assisted metadata extraction and smart tagging for fast retrieval. ([doculan.ai][1])
+[//]: # (### ⚙️ Workflow & Automation)
-### Workflow & Automation
+[//]: # (- Custom approval and review workflows.)
-* Custom workflows for approvals and reviews.
-* Notifications and activity logs to track changes. ([doculan.ai][1])
+[//]: # (- Notifications, activity logs, and task tracking.)
-### Security & Compliance
+[//]: # (- Multi-user collaboration on supported plans.)
-* Encrypted storage, access controls, and downloadable records.
-* Paper-copy request policy and hardware/software guidance in T&Cs. ([app.doculan.ai][3])
+### 🔐 Security & Compliance
+- Encrypted document storage.
+- Access controls and permission-based sharing.
+- Downloadable audit records.
+- Paper copy request support as per Terms & Conditions.
---
-## How It Works
+## 🔁 How It Works
-1. **Sign up** — Create an account and choose a plan. ([app.doculan.ai][4])
-2. **Upload documents** — Drag & drop PDF, DOCX, and images. ([doculan.ai][1])
-3. **AI & OCR processing** — Documents are OCR’d and indexed so you can search inside scanned content. ([doculan.ai][1])
-4. **Setup workflow & signatures** — Add approvers, send for e-signature, and get audit logs. ([doculan.ai][1])
-5. **Manage & Export** — Version control, metadata, and export or request paper copies if needed. ([app.doculan.ai][3])
+1. **Sign Up** — Create your account.
+2. **Upload Documents** — Drag & drop PDFs instantly.
+3. **AI & OCR Processing** — Search inside scanned documents.
+4. **Create Forms / Enable AI Detection** — Auto-detect fields or generate forms using AI.
+5. **Send for Signature** — Add recipients and track signing status.
+6. **Compare & Store** — Compare submissions and store securely with version history.
---
-## Pricing (Summary)
+## 💰 Pricing (Overview)
-**Simple, transparent tiers — all plans include a 14-day free trial.** ([app.doculan.ai][2])
+All plans come with a **30-day free trial**:
-* **Free** — Basic testing & limited usage. ([app.doculan.ai][2])
-* **Starter** — For small teams; more storage & features. ([app.doculan.ai][2])
-* **Professional** — Advanced features for growing orgs; automation & higher limits. ([app.doculan.ai][2])
-* **Enterprise** — Custom pricing, SLAs, dedicated support and integrations. ([app.doculan.ai][2])
+- **Free** — Basic testing & limited usage
+- **Starter** — Best for individuals and small teams
+- **Professional** — Advanced automation & integrations
+- **Enterprise** — Custom pricing, SLAs & dedicated support
-> Note: The site advertises “14-day free trial” and “simple, transparent pricing” on the subscription/plan page. Exact monthly / annual figures and limits are published on the plan page. ([app.doculan.ai][2])
+👉 Full pricing details: https://app.doculan.ai/subscription-plans
---
-## Frequently Asked Questions
+## ❓ Frequently Asked Questions
-**Is there a free trial?**
-Yes — all plans include a 14-day free trial. ([app.doculan.ai][2])
+**Is there a free trial?**
+Yes, all plans include a 30-day free trial.
-**What file types are supported?**
-PDF, DOCX, images (scannable formats) and common document types; OCR processes scanned documents. ([doculan.ai][1])
+**What file formats are supported?**
+Primarily PDF and common document formats with OCR support.
-**Can I request paper copies of electronic records?**
-Yes — you may request a paper copy at no additional cost within a reasonable timeframe; see Terms & Conditions for details. ([app.doculan.ai][3])
+**Does Doculan support AI form detection?**
+Yes, supported for compatible AcroForms such as onboarding and tax forms.
-**Where do I sign up?**
-Create an account on the signup page. ([app.doculan.ai][4])
+**Can I compare two filled PDFs?**
+Yes, Doculan supports field-level comparison of populated PDF forms.
+
+**Can I request physical (paper) copies?**
+Yes, as per the Terms & Conditions.
---
-## Legal & Links
+## 🔗 Useful Links
-* **Terms & Conditions (PDF)** — Contains record access, paper-copy policy, and system requirements. ([app.doculan.ai][3])
-* **Sign in / App** — The application portal and login are at the app subdomain. ([app.doculan.ai][5])
+- 🌐 Website: https://www.doculan.ai
+- 🔐 App Portal: https://app.doculan.ai
+- 📝 Sign Up: https://app.doculan.ai/register
+- 💵 Pricing: https://app.doculan.ai/subscription-plans
+- 📄 Terms & Conditions (PDF): https://www.doculan.ai/#/electronic-sign-disclosure
---
-## Footer
-
-**Doculan** • Secure Document Management & E-Signing
-Links: Home • Features • Pricing • Sign up • Login • Terms & Conditions • Privacy Policy. ([doculan.ai][1])
+## 🏁 Footer
-[1]: https://www.doculan.ai/?utm_source=chatgpt.com "Doculan | Document Management & E-Signature Solution"
-[2]: https://app.doculan.ai/subscription-plans?utm_source=chatgpt.com "Choose Your Plan - Doculan"
-[3]: https://app.doculan.ai/docs/Terms_%26_Conditions.pdf?utm_source=chatgpt.com "Terms & Conditions - Doculan"
-[4]: https://app.doculan.ai/register?utm_source=chatgpt.com "Create an account - Doculan"
-[5]: https://app.doculan.ai/?utm_source=chatgpt.com "Doculan"
\ No newline at end of file
+**Doculan** — Secure Document Management • AI Forms • PDF Comparison • E-Signatures
+Home • Features • Pricing • Sign Up • Login • Privacy Policy • Terms & Conditions
\ No newline at end of file
diff --git a/docs/Security/Security.md b/docs/Security/Security.md
new file mode 100644
index 0000000..9d4f82f
--- /dev/null
+++ b/docs/Security/Security.md
@@ -0,0 +1,77 @@
+# Two-Factor Authentication (2FA)
+Two-Factor Authentication (2FA) is a security mechanism that enhances account protection by requiring users to verify their identity through two independent authentication factors. In addition to a standard password, users must provide a second form of verification—such as a one-time passcode, authenticator app token, or hardware security key. This dual-layer validation significantly reduces unauthorized access risks and strengthens overall system security.
+
+---
+
+## Steps to Enable Two-Factor Authentication (2FA)
+Follow the steps below to securely enable **Two-Factor Authentication (2FA)** in **Doculan.**
+
+1. Navigate to the **Doculan Dashboard**.
+2. Click the **Profile** icon located at the top right corner.
+3. Select **Settings** from the dropdown menu.
+4. Click on **Two-Factor Authentication (2FA)**.
+
+Before proceeding, ensure you have an authenticator app installed on your device.
+Common options include:
+
+- **Google Authenticator**
+- **Microsoft Authenticator**
+- **Duo Mobile**
+- **Okta Verify**
+- **Authy**
+- Any other **TOTP-based** authenticator app
+
+5. Click the **Generate QR Code** button.
+
+**Screenshot 1**
+
+
+
+
+**Screenshot 2**
+
+
+
+-->The above **Screenshots** represent that **Enable Two-Factor Authentication (2FA)**
+
+
+A unique **QR Code** and **Secret Key** will be generated. You can enable 2FA using either method:
+
+- **Scan the QR Code** with your authenticator app, or
+- **Manually enter the Secret Key** into your authenticator app.
+
+Once scanned, your authenticator app will generate **6-digit time-based verification codes**.
+
+Enter the current **6-digit code** into the Doculan website to complete verification.
+
+
+## Backup Codes
+
+After successful verification, **Two-Factor Authentication (2FA)** will be enabled.
+
+Once 2FA is activated, Doculan automatically generates **10 backup codes**.
+
+- Each backup code can be used **once** for login when you don’t have access to your authenticator app.
+- Click the **Download** button to save your backup codes.
+- The file will be downloaded in **.txt** format.
+- Store this file **securely** in your local system.
+
+**Screenshot 3**
+
+
+
+-->The above **Screenshot** represent that **Downloading Backup codes**
+
+
+## Code Expiration
+
+- Each 2FA code generated by the authenticator app **expires every 12 hours**.
+- After expiration, simply open your authenticator app to get a **new 6-digit code**.
+- Alternatively, you may use one of your **backup codes** if needed.
+
+**Screenshot 4**
+
+
+
+-->The above **Screenshot** represent that **How to overcome code expiration**
+
diff --git a/docs/Video_Enabled-Esign/VideoEsign.md b/docs/Video_Enabled-Esign/VideoEsign.md
new file mode 100644
index 0000000..9fde2f4
--- /dev/null
+++ b/docs/Video_Enabled-Esign/VideoEsign.md
@@ -0,0 +1,131 @@
+# How to use Video Enabled Esign?
+
+It enables secure, video-recorded electronic signatures with automatic timestamping for enhanced compliance and auditability. The signing process captures visual evidence and consent during execution, allowing organizations to verify signer identity, signature time, and signing activity with complete transparency.
+
+---
+
+### Initiating E-Sign Record
+
+1. Navigate to the **Doculan Dashboard**.
+2. Click **Documents**.
+3. Open the required document.
+4. Click the **⋮ (three-dot)** icon under the **Actions** column.
+5. Click **E-Sign**.
+6. Place all required fields in the document.
+7. Select the **Signature Field**, click the **Settings** menu, and enable:
+ - **Record**
+ - **Timestamp**
+
+**Screenshot 1**
+
+
+
+-->The above **Screenshot** represent that **Initiating E-Sign Record**
+
+
+8. Click **Send Mail**.
+9. Add the recipient’s **Email ID** and **Name**.
+10. Set the **Validity Date** and **Reminder**.
+
+Under **Security Settings**, configure the following options:
+- **OTP Verification**
+- **Wet Signature**
+
+> **Note:** You may disable OTP Verification if required.
+> Enable **Wet Signature only** when additional security is needed.
+
+
+### Sending the Document
+
+1. Enter the **Email Subject** and **Email Body**.
+2. Send the email to the recipient.
+
+The recipient will receive the email and open the document.
+
+---
+
+### Disclosure and OTP Verification
+
+1. A **Disclosure Popup** will appear.
+2. Read the disclosure statement.
+3. Check the consent checkbox.
+4. Click **Continue**.
+
+**Screenshot 2**
+
+
+
+-->The above **Screenshot** represent that **Disclosure and OTP Verification**
+
+
+5. Complete **OTP Verification**.
+6. Open the document.
+
+
+### Video-Based E-Sign Process
+
+1. Click the **Signature Field**.
+2. A **Video-Enabled E-Sign popup** will appear.
+3. Read the statement.
+4. Check the consent checkbox.
+5. Click **Start**.
+
+**Screenshot 3**
+
+
+
+-->The above **Screenshot** represent that **Video-Based E-Sign Process**
+
+
+- Video recording will appear in the **top-left corner**.
+- The **Signature popup** will appear in the **center** of the screen.
+- Complete the signature.
+
+**Screenshot 4**
+
+
+
+-->The above **Screenshot** represent that **Video-Based E-Sign Process**
+
+
+6. Fill in the remaining required fields.
+7. Click **Submit** to complete the signing process.
+
+The document will be submitted successfully.
+
+---
+
+### Viewing Signed Document and Evidence
+
+1. Navigate to the **Doculan Dashboard**.
+2. Click **Documents**.
+3. Open the signed document.
+4. Click the **⋮ (three-dot)** icon under the **Actions** column.
+5. Click **View**.
+6. Select **Document**.
+
+The signed document will appear.
+Verify the **signature**, **timestamp (date and time)**.
+
+**Screenshot 5**
+
+
+
+-->The above **Screenshot** represent that **Viewing Signed Document and Evidence**
+
+
+---
+
+### Viewing Video Evidence
+
+1. Click **Evidence**.
+2. Select the specified **Party**.
+3. View the **video evidence** associated with the signed document.
+
+**Screenshot 6**
+
+
+
+-->The above **Screenshot** represent that **Viewing Video Evidence**
+
+---
diff --git a/docs/Wet-Signature/WetSign.md b/docs/Wet-Signature/WetSign.md
new file mode 100644
index 0000000..edc5818
--- /dev/null
+++ b/docs/Wet-Signature/WetSign.md
@@ -0,0 +1,83 @@
+# How to use Wet Signature?
+It enables recipients to **physically sign printed documents** as part of the **E-Sign workflow**. The signed document is then **uploaded** in **PDF format** for verification and submission. This process ensures compliance with scenarios that require **handwritten signatures** while maintaining a secure digital audit trail. This section explains how to complete a **Wet Signature** process in Doculan using the E-Sign workflow.
+
+---
+
+### Initiating Wet Signature
+
+1. Navigate to the **Doculan Dashboard**.
+2. Click **Documents**.
+3. Open the required document.
+4. Click the **⋮ (three-dot)** icon under the **Actions** column.
+5. Click **E-Sign**.
+6. Place the required fields in the document and click **Send Mail**.
+7. Add the recipient’s **Email ID** and **Name**.
+8. Set the **Validity Date** and **Reminder**.
+
+Under **Security Settings**, you can configure the following options:
+- **OTP Verification**
+- **Wet Signature**
+
+You may disable **OTP Verification** if required, but enabling both options is considered a best practice.
+
+**Screenshot 1**
+
+
+
+-->The above **Screenshot** represent that **Initiating Wet Signature**
+
+---
+
+### Sending the Document
+
+1. Enter the **Email Subject** and **Email Body**.
+2. Send the email to the recipient.
+
+The recipient will receive the email and open the document using **OTP Verification**.
+
+After reviewing the document, the recipient should click the **Print** button to print the document.
+
+**Screenshot 2**
+
+
+
+-->The above **Screenshot** represent that **how to send and print the Document**
+
+---
+
+### Uploading the Wet-Signed Document
+
+After printing the document:
+
+1. Fill in the required fields.
+2. Affix a **physical (wet) signature**.
+3. Convert the document into **PDF format**.
+4. Click the **Upload** button.
+5. Attach the PDF file.
+
+> **Note:** Only **PDF format** files are accepted.
+
+6. **Review** the uploaded document.
+7. Click the **Confirm** button.
+
+**Screenshot 3**
+
+
+
+-->The above **Screenshot** represent that **Uploading the Wet-Signed Document**
+
+---
+
+### Submission and Download
+
+- After clicking **Confirm**, the uploaded document is **automatically** submitted.
+- You can view the submitted document.
+- You can download the document as a **ZIP file** for records or sharing.
+
+**Screenshot 4**
+
+
+
+-->The above **Screenshot** represent that **how to Submit and Download the Document**
+
+---
\ No newline at end of file
diff --git a/docs/_clients/image-1.png b/docs/_clients/image-1.png
new file mode 100644
index 0000000..cd75b26
Binary files /dev/null and b/docs/_clients/image-1.png differ
diff --git a/docs/_clients/image-2.png b/docs/_clients/image-2.png
new file mode 100644
index 0000000..d73210f
Binary files /dev/null and b/docs/_clients/image-2.png differ
diff --git a/docs/_clients/image-3.png b/docs/_clients/image-3.png
new file mode 100644
index 0000000..fada4d9
Binary files /dev/null and b/docs/_clients/image-3.png differ
diff --git a/docs/_coverpage.md b/docs/_coverpage.md
index 6e555a6..b07e230 100644
--- a/docs/_coverpage.md
+++ b/docs/_coverpage.md
@@ -1,16 +1,38 @@
-
+
+
+
+
+
+
+ Fast • Simple • Lightweight Platform +
-   ++ + + +
diff --git a/docs/_media/Docu-logo.png b/docs/_media/Docu-logo.png index 3e0fdf3..ea50d66 100644 Binary files a/docs/_media/Docu-logo.png and b/docs/_media/Docu-logo.png differ diff --git a/docs/_media/cover-bg.jpg b/docs/_media/cover-bg.jpg new file mode 100644 index 0000000..53b8c7f Binary files /dev/null and b/docs/_media/cover-bg.jpg differ diff --git a/docs/_media/doculan-mini.png b/docs/_media/doculan-mini.png index e4333b2..2dcffee 100644 Binary files a/docs/_media/doculan-mini.png and b/docs/_media/doculan-mini.png differ diff --git a/docs/_sidebar.md b/docs/_sidebar.md index dc99c08..eb08ef9 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -1,56 +1,85 @@ -- [Getting started](README.md) + [Getting started](README.md) + + --- - ---- +- **E-Signature** + - [How to send single party document?](E_Sign/single-party-document.md) + - [How to send multiple party document?](E_Sign/multiple-party-document.md) + - [How to send Bulk mail?](E_Sign/bulk-mail.md) + - [How to cancel eSign document?](E_Sign/cancel-esign-document.md) + - [How to decline eSign document?](E_Sign/decline-esign-document.md) + - [How to resend eSign document?](E_Sign/resend-esign-document.md) + +- **Wet Signature** + - [How to use Wet-Signature?](Wet-Signature/WetSign.md) -- **E-Sign** - - [How to send single party document?](E_Sign\single-party-document.md) - - [How to send multiple party document?](E_Sign\multiple-party-document.md) - - [How to send Bulk mail?](E_Sign\bulk-mail.md) - - [How to cancel eSign document?](E_Sign\cancel-esign-document.md) - - [How to decline eSign document?](E_Sign\decline-esign-document.md) - - [How to resend eSign document?](E_Sign\resend-esign-document.md) +- **Video Enabled Esign** + - [How to use Video Enabled Esign?](Video_Enabled-Esign/VideoEsign.md) --- -- **E-Sign Template** - - [What is Myself / Team template?](E_Sign\myself-or-team-template.md) - - [How to create template?](E_Sign\create-template.md) - - [How to update template?](E_Sign\update-template.md) - - [How to delete template?](E_Sign\delete-template.md) +- **E-Signature Template** + - [What is Myself / Team template?](E_Sign/myself-or-team-template.md) + - [How to create template?](E_Sign/create-template.md) + - [How to update template?](E_Sign/update-template.md) + - [How to delete template?](E_Sign/delete-template.md) --- - **Share Document** - - [How to share document?](E_Sign\share-document.md) - - [How to resend shared document?](E_Sign\resend-shared-document.md) - - [How to cancel shared document?](E_Sign\cancel-shared-document.md) + - [How to share document?](E_Sign/share-document.md) + - [How to resend shared document?](E_Sign/resend-shared-document.md) + - [How to cancel shared document?](E_Sign/cancel-shared-document.md) --- - - **Form Management** - - [How to Create and Send Forms ](Forms/Form_Create.md) - - - [How do view Submitted Form with attachments](Forms/Form_Document_Storage.md) - - [How to Clone Form](Forms/Form_Clone.md) - - [How to Cancel Form](Forms/Form_Cancel.md) - - [How to Delete Form](Forms/Form-Delete.md) - - [How to Resend Form](Forms/Form_Resend.md) + - [How to Create and Send Forms?](Forms/Form_Create.md) + - [How do view Submitted Form with attachments?](Forms/Form_Document_Storage.md) + - [How to Clone Form?](Forms/Form_Clone.md) + - [How to Cancel Form?](Forms/Form_Cancel.md) + - [How to Delete Form?](Forms/Form-Delete.md) + - [How to Resend Form?](Forms/Form_Resend.md) + +- **Embedded Esign** + - [How to use Embedded Esign?](Embedded-Esign/EmbdedEsign.md) --- - **Contact Management** - - [Create Contact](Contacts/Contact_Create.md) - - [Update Contact](Contacts/Contact-Update.md) - - [Delete Contact](Contacts/Contact-Delete.md) + - [How to Create Contact?](Contacts/Contact_Create.md) + - [How to Update Contact?](Contacts/Contact-Update.md) + - [How to Delete Contact?](Contacts/Contact-Delete.md) + +--- + +- **Document Editor** + - [How Create Document?](Document/Documents_Create.md) + - [How to Upload Document?](Document/Documents_Upload.md) --- -- **Document Management** - - [Create Document](Document/Documents_Create.md) - - [upload Document](Document/Documents_Upload.md) +- **Library Management** + - [Library – Documents](Library_Management/Library.md) + +--- +- **Security** + - [Two-Factor Authentication[2FA]](Security/Security.md) + --- +- **API Documentation** + - [E-Signature](API-Documentation/E-Sign.md) + +--- + - **Release Notes** - - [Newly Released Features](releaseNotes.md) \ No newline at end of file + + **2025** + - [Version 0.3.0](releaseNotes/version_0.3.0.md) + - [Version 0.4.0](releaseNotes/version_0.4.0.md) + - [Version 0.5.0](releaseNotes/version_0.5.0.md) + + **2026** + - [Version 0.6.0](releaseNotes/version_0.6.0.md) +--- \ No newline at end of file diff --git a/docs/css/cookie.css b/docs/css/cookie.css index 1ce1a30..52c27f3 100644 --- a/docs/css/cookie.css +++ b/docs/css/cookie.css @@ -1,11 +1,10 @@ - /*Cookie Consent Begin*/ #myCookieConsent { z-index: 999; min-height: 20px; font-family: OpenSans, arial, "sans-serif"; padding: 10px 20px; - background: rgba(0,0,0,0.6); + background: rgba(0, 0, 0, 0.6); overflow: hidden; position: fixed; color: #FFF; @@ -17,84 +16,104 @@ font-size: 15px; font-weight: bold; } + #myCookieConsent div { padding: 5px 0 0; } + #myCookieConsent a { - color: hsl(36,75%, 57%); + color: hsl(36, 75%, 57%); display: inline-block; padding: 0 10px; } + #myCookieConsent a:hover { - color: hsl(50, 100%, 57%); + color: hsl(50, 100%, 57%); } + #myCookieConsent a#cookieButton { display: inline-block; color: #FFF; font-size: 1.1em; - background: rgba(0,0,0,0.6); + background: rgba(0, 0, 0, 0.6); text-decoration: none; cursor: pointer; padding: 2px 20px; float: right; border-radius: 20px; } + #myCookieConsent a#cookieButton:hover { background: #FFF; - color: #000; + color: #000; } .overlay { - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - background: rgba(0, 0, 0, 0.7); - transition: opacity 500ms; - visibility: hidden; - opacity: 0; - } - .overlay:target { - visibility: visible; - opacity: 1; - } - - .popup { - margin: 70px auto; - padding: 20px; - background: #fff; - border-radius: 5px; - width: 60%; - height: 80%; - position: relative; - transition: all 5s ease-in-out; - } - - .popup h2 { - margin-top: 0; - color: #333; - font-family: Tahoma, Arial, sans-serif; - } - .popup .close { - position: absolute; - top: 20px; - right: 30px; - transition: all 200ms; - font-size: 30px; - font-weight: bold; - text-decoration: none; - color: #333; - } - .popup .close:hover { - color: #06D85F; - } - .popup .content { - height: 95%; - overflow: auto; - } - - -/*Cookie Consent End*/ + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: rgba(0, 0, 0, 0.7); + transition: opacity 500ms; + visibility: hidden; + opacity: 0; +} + +.overlay:target { + visibility: visible; + opacity: 1; +} + +.popup { + margin: 70px auto; + padding: 20px; + background: #fff; + border-radius: 5px; + width: 60%; + height: 80%; + position: relative; + transition: all 5s ease-in-out; +} + +.popup h2 { + margin-top: 0; + color: #333; + font-family: Tahoma, Arial, sans-serif; +} + +.popup .close { + position: absolute; + top: 20px; + right: 30px; + transition: all 200ms; + font-size: 30px; + font-weight: bold; + text-decoration: none; + color: #333; +} + +.popup .close:hover { + color: #06D85F; +} + +.popup .content { + height: 95%; + overflow: auto; +} + +section.cover h1, +section.cover blockquote, +section.cover p { + color: #ffffff; + text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6); +} + +section.cover blockquote { + border-left: none; +} + + +/*Cookie Consent End*/ \ No newline at end of file diff --git a/docs/files/Sample Two-Party Agreement-Authorized.pdf b/docs/files/Sample Two-Party Agreement-Authorized.pdf new file mode 100644 index 0000000..becdcfd Binary files /dev/null and b/docs/files/Sample Two-Party Agreement-Authorized.pdf differ diff --git a/docs/files/Sample-Certificate.pdf b/docs/files/Sample-Certificate.pdf new file mode 100644 index 0000000..c89a35c Binary files /dev/null and b/docs/files/Sample-Certificate.pdf differ diff --git a/docs/index.html b/docs/index.html index 21965d8..3930513 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,220 +1,264 @@ + - -