Compare commits

...
Author SHA1 Message Date
RaktimaandGitHub 6e03c5bb15 Merge pull request #2230 from OpenSignLabs/raktima-patch-doc-1
Update description for Update Contact by Email API in opensign.yaml
2026-08-07 12:00:56 +03:00
RaktimaNXG e054777e14 Update description for Update Contact by Email API in opensign.yaml 2026-08-07 14:29:35 +05:30
RaktimaandGitHub 328c3908e8 Merge pull request #2228 from OpenSignLabs/raktima-patch-doc-1
Add API endpoint to update contact by email with request and response schemas
2026-08-07 11:52:30 +03:00
RaktimaNXG c5f5fca403 Add API endpoint to update contact by email with request and response schemas 2026-08-06 20:28:28 +05:30
AmolandGitHub e296bff3b1 Update run-locally.md 2026-07-28 13:37:50 +05:30
AmolandGitHub 1a68b46d0b Update run-locally.md 2026-07-28 13:34:31 +05:30
RaktimaandGitHub 6eb28d6a94 Merge pull request #2217 from pravinOpenSign/patch-75
Patch 75
2026-07-14 19:47:13 +05:30
pravinandGitHub d864cd012c Update guestsigning.md
added the the new page for guest signing
2026-07-14 19:31:47 +05:30
pravinandGitHub 28b7b27a73 Create guestsigning.md
Added a new help documentation page for the Guest Signing Flow, explaining the complete signing process and how guest signers can complete documents without an OpenSign account.
2026-07-13 13:30:42 +05:30
RaktimaandGitHub 5598162b29 Merge pull request #2216 from pravinOpenSign/patch-75
Update enforce-email-verification.md
2026-07-13 12:35:46 +05:30
pravinandGitHub 9b095a0343 Update enforce-email-verification.md
added the help text content in Enable otp verification page for allowed modification enable or disable.
2026-07-13 12:33:35 +05:30
RaktimaandGitHub 89df0824e5 Merge pull request #2213 from pravinOpenSign/patch-74
Patch 74
2026-07-08 12:37:26 +05:30
pravinandGitHub bcb5d374a4 Update signing_certificate.md
Removed the image height
2026-07-08 11:53:03 +05:30
pravinandGitHub 4bcab2c54d Update custom_filestorage.md
remove the height o the image
2026-07-08 11:50:34 +05:30
RaktimaandGitHub cc547d4faa Merge pull request #2212 from pravinOpenSign/patch-78
Update create-template.md
2026-07-07 18:50:22 +05:30
pravinandGitHub 38e13a3be9 Update create-template.md
update the image
2026-07-07 18:47:13 +05:30
RaktimaandGitHub 213a578090 Merge pull request #2211 from pravinOpenSign/patch-78
Update create-template.md
2026-07-07 18:35:54 +05:30
pravinandGitHub 303a198bb7 Update create-template.md
added the missing image on the create template page.
2026-07-07 18:34:29 +05:30
RaktimaandGitHub 4421480a9c Merge pull request #2210 from pravinOpenSign/patch-77
Patch 77
2026-07-07 13:42:26 +05:30
pravinandGitHub c80aca9d66 Update request-signatures.md
updated the react paleyer code
2026-07-06 16:50:30 +05:30
pravinandGitHub cbc5a30efe Update request-signatures.md
added i react player to play the video on the page
2026-07-06 16:44:58 +05:30
pravinandGitHub d2bc27bff2 Update request-signatures.md
added thye you tube video links for access code and conditional logic. on request siganature page.
2026-07-06 16:34:19 +05:30
pravinandGitHub 1ed9c828ea Update request-signatures.md
updated the conditional bullet poit list on the request signature page.
2026-07-06 16:22:25 +05:30
pravinandGitHub 8d74276b90 Update create-template.md
Updated the bullet point list.
2026-07-06 16:19:05 +05:30
RaktimaandGitHub a658996dd1 Merge pull request #2208 from pravinOpenSign/patch-77
Patch 77
2026-07-06 15:32:13 +05:30
pravinandGitHub caa369cd64 Update create-template.md
updated the conditional logiv content on the create document page
2026-07-06 15:13:55 +05:30
pravinandGitHub 3ea68c6c55 Update request-signatures.md
rearranged the widgets
2026-07-06 13:17:05 +05:30
pravinandGitHub 2aae91f71a Update request-signatures.md
update the widgets heading tag
2026-07-06 12:40:02 +05:30
RaktimaandGitHub 45b52e989d Merge pull request #2204 from pravinOpenSign/patch-76
Patch 76
2026-07-01 19:15:21 +05:30
pravinandGitHub 251d3b73b8 Update conditional_logic.md
update the document ending tag
2026-07-01 18:05:01 +05:30
RaktimaandGitHub ead4ec1f99 Merge pull request #2203 from pravinOpenSign/patch-76
Update conditional_logic.md
2026-07-01 17:17:00 +05:30
pravinandGitHub 78b2575fa6 Update request-signatures.md
updated the urls on thre requets signature page
2026-07-01 16:58:36 +05:30
pravinandGitHub 4ab926386e Update conditional_logic.md
Updated the heading tags
2026-07-01 16:37:52 +05:30
RaktimaandGitHub 2123aedf12 Merge pull request #2202 from pravinOpenSign/patch-75
Patch 75
2026-07-01 15:52:48 +05:30
pravinandGitHub ff194524d8 Update conditional_logic.md
Updated the headers
2026-07-01 14:36:56 +05:30
pravinandGitHub e5394bd691 Update request-signatures.md
updated the redirect url
2026-07-01 14:25:19 +05:30
pravinandGitHub 885fead6e9 Update conditional_logic.md
added the images
2026-07-01 14:21:50 +05:30
RaktimaandGitHub 52fb2f818b Merge pull request #2201 from pravinOpenSign/patch-75
Patch 75
2026-07-01 13:16:24 +05:30
pravinandGitHub a710b5da3d Update request-signatures.md
added the help document for conditional logic
2026-07-01 13:08:25 +05:30
pravinandGitHub 1266bf1712 Update request-signatures.md
Updated the conditonal help content for widgets on the request siagnture page.
2026-06-30 19:48:40 +05:30
pravinandGitHub bd481ccabc Update conditional_logic.md
Added the conditional logic page.
2026-06-30 17:01:23 +05:30
pravinandGitHub 8e29305ef5 created the new page for conditional logic
Created the new page for conditional logic.
2026-06-26 19:49:30 +05:30
RaktimaandGitHub fe05535a4d Update API schema references for contact updates 2026-06-26 19:36:44 +05:30
RaktimaandGitHub c595e7a64f Update contact schema reference in API documentation 2026-06-26 19:32:20 +05:30
RaktimaandGitHub 262135a66a Change API version from v1.2 to v1.1
Updated OpenSign API documentation from v1.2 to v1.1, including changes to descriptions, endpoints, and parameters.
2026-06-26 19:28:19 +05:30
RaktimaandGitHub 7710f80ed1 Upgrade OpenSign API documentation to v1.2
Updated OpenSign API documentation to version 1.2, including new features and capabilities.
2026-06-26 19:24:07 +05:30
RaktimaandGitHub f92431e6c3 Modify API response schema and add new definition
Updated response schema reference and added inline_response_200_14 definition.
2026-06-26 19:03:33 +05:30
RaktimaandGitHub 7b49f89622 Update references in opensign.yaml schema 2026-06-26 19:01:13 +05:30
RaktimaandGitHub 0cfdbc1e10 Update API response schema references in opensign.yaml 2026-06-26 19:00:02 +05:30
pravinandGitHub 18866f3017 Update request-signatures.md
update the the helptext for conditional logic
2026-06-26 18:58:36 +05:30
pravinandGitHub af8a40fe0a Update create-template.md
updated the conditional logic help text on the create template page
2026-06-26 18:54:40 +05:30
pravinandGitHub cb062d2668 Update request-signatures.md
help document updated for condtional logic on the request signatrue page.
2026-06-26 18:51:20 +05:30
RaktimaandGitHub 5fdd3f5637 Update OpenSign API docs for contact schema changes
Updated the OpenSign API documentation to reference 'contact_res' schema and added new properties for contact details.
2026-06-26 18:46:57 +05:30
RaktimaandGitHub cabd4eec27 Modify contact schema reference and add contact_res
Updated the reference for contact schema and added contact_res schema with detailed properties.
2026-06-26 18:45:32 +05:30
RaktimaandGitHub 2315136323 Fix tag name from 'Contact' to 'Contacts' 2026-06-26 18:31:54 +05:30
RaktimaandGitHub 110f49a160 Implement Update Contact API endpoint
Added Update Contact API to modify contact details.
2026-06-26 18:31:08 +05:30
RaktimaandGitHub 73ecfa943e Correct tag name from 'Contact' to 'Contacts' 2026-06-26 18:27:22 +05:30
RaktimaandGitHub 094e12240e Update access_code description in opensign.yaml 2026-06-26 18:17:15 +05:30
RaktimaandGitHub 207d80b40b Update access_code type to string in opensign.yaml
Changed access_code type and format from number to string in multiple sections.
2026-06-26 18:02:41 +05:30
RaktimaandGitHub b70d1920a2 Update access_code format in opensign.yaml
Changed access_code format from number to string.
2026-06-26 17:55:24 +05:30
RaktimaandGitHub be746dbd09 Update access_code type to string in opensign.yaml
Changed access_code type from number to string.
2026-06-26 17:48:21 +05:30
RaktimaandGitHub 5384c8dea8 Add Update Contact API to opensign.yaml
Added Update Contact API to modify contact details with appropriate request and response schemas.
2026-06-26 17:25:06 +05:30
pravinandGitHub 3380175d84 Update create-template.md
added the help text for access code on the create template.
2026-06-26 17:22:29 +05:30
pravinandGitHub 69fe0c1572 Update request-signatures.md
added the help document for access code and conditional logic.
2026-06-26 17:02:48 +05:30
RaktimaandGitHub f855fa69c1 Merge pull request #2191 from pravinOpenSign/patch-74
Update request-signatures.md
2026-06-16 12:26:41 +05:30
pravinandGitHub 1379b04b23 Update request-signatures.md
updated the content on  the create document page.
2026-06-16 12:23:49 +05:30
RaktimaandGitHub 9931d5f285 Merge pull request #2190 from pravinOpenSign/patch-73
Patch 73
2026-06-16 10:59:04 +05:30
pravinandGitHub c14a71bcf5 Update create-template.md
removed the height of the images in create template
2026-06-16 10:43:42 +05:30
pravinandGitHub 2dc42a2692 Update request-signatures.md
Removed the height of the images on the requests signature form.
2026-06-16 10:40:31 +05:30
pravinandGitHub 0dc2d8fd3e Update widgets.md
remove the height of the image on the widgets page.
2026-06-16 10:36:41 +05:30
RaktimaandGitHub 133d179513 Merge pull request #2189 from pravinOpenSign/patch-72
Patch 72
2026-06-15 19:11:30 +05:30
pravinandGitHub 052f13a61b Update widgets.md
update the image on the widgets page for attachement widget.
2026-06-15 18:39:39 +05:30
pravinandGitHub 317c6db02c Update create-template.md
added the help text on the temlate for the attachement widget.
2026-06-15 18:37:24 +05:30
pravinandGitHub 42c501a601 Update request-signatures.md
help text added in request signature page for attchement widget
2026-06-15 18:29:32 +05:30
pravinandGitHub fa67b5ffa6 Update widgets.md
help text content added for attachement widget.
2026-06-15 17:55:57 +05:30
AmolandGitHub 05772956c5 Change example value for widget types in opensign.yaml
Updated example value for allowed widget types and ensured proper formatting for the API token security scheme.
2026-06-12 15:37:00 +05:30
AmolandGitHub 8ab28af991 Refactor API documentation for attachment widget support
Removed duplicate section for attachment widget support and updated documentation for clarity.
2026-06-12 00:38:07 +05:30
AmolandGitHub 0ee42102ca Refactor widget options and example values
Removed options property from widget definition and updated example values.
2026-06-11 18:07:44 +05:30
AmolandGitHub 89bb1eb253 Update API documentation for v1.2 enhancements
Added new features for attachments and signer link visibility.
2026-06-11 17:50:12 +05:30
RaktimaandGitHub 2de3b3856f Merge pull request #2174 from pravinOpenSign/patch-71
Patch 71
2026-05-15 19:40:56 +05:30
pravinandGitHub 2aeefa0624 Update create-template.md
removed the height for the images.
2026-05-15 19:32:36 +05:30
pravinandGitHub 00d70a9bd1 Update request-signatures.md
removed the height for the widgets
2026-05-15 19:30:54 +05:30
RaktimaandGitHub be6e80bb04 Merge pull request #2173 from pravinOpenSign/patch-71
Patch 71
2026-05-15 19:15:43 +05:30
pravinandGitHub ff0f6a879d Update Preferences.md
update the preferences page for allow offline signing.
2026-05-15 19:12:12 +05:30
pravinandGitHub 9db552a72c Update create-template.md
update the image and content as per new features in create template.
2026-05-15 18:43:20 +05:30
pravinandGitHub 2ddc47ddfd Update request-signatures.md
update the content on the request signature page
2026-05-15 18:08:52 +05:30
pravinandGitHub 780645081b Update request-signatures.md with new features
Expanded details on signing options, BCC/CC settings, auto reminders, security settings, and modifications during signing.
2026-05-15 14:05:47 +05:30
AmolandGitHub 854e169e7d Revise OpenSign API v1.2 documentation
Updated OpenSign API documentation for version 1.2, including new features such as password-protected PDFs, offline signing control, and signer roles. Enhanced clarity and structure of the documentation.
2026-05-11 20:16:59 +05:30
AmolandGitHub d78120a7af Rename opensign.yml to opensign.yaml 2026-05-11 19:18:12 +05:30
AmolandGitHub 19f031a1c3 Add OpenAPI v1.2 configuration to Docusaurus 2026-05-11 19:16:05 +05:30
AmolandGitHub 1c0252ba71 Add import for apiV12Sidebar in sidebars.js 2026-05-11 19:10:48 +05:30
AmolandGitHub 1ebae01409 Update sidebar to use apiV12Sidebar 2026-05-11 19:10:01 +05:30
AmolandGitHub ae5c7bff14 Add v1.2 category to API sidebar
Add v1.2 category to API sidebar with generated index.
2026-05-11 19:00:57 +05:30
AmolandGitHub 00ed1d2578 Add v1.2 features to API documentation 2026-05-11 18:52:58 +05:30
AmolandGitHub b9d6efb0fb Add API documentation for OpenSign v1.2
Added introductory documentation for OpenSign API v1.2, including key features, what's new, getting started instructions, target audience, usage scenarios, and useful links.
2026-05-11 18:51:03 +05:30
AmolandGitHub 23cedef3f8 Create opensign.yml 2026-05-11 18:39:33 +05:30
prafull-opensignlabsandGitHub dc5060a0b3 Fix typo in OpenSign API v1.1 documentation
Corrected a typo in the description from 'devloper' to 'developer'.
2026-04-23 10:57:30 +05:30
prafull-opensignlabsandGitHub 79b7c0acd9 Fix typo and add signing links endpoint
Corrected a typo in the OpenSign API description and added a new endpoint for retrieving signing links.
2026-04-23 10:56:51 +05:30
prafull-opensignlabsandGitHub 5145fd207c Merge pull request #2157 from OpenSignLabs/prafull-opensignlabs-patch-14
Change API version from v1.2 to v1.1
2026-04-23 10:52:21 +05:30
prafull-opensignlabsandGitHub 27c1c7ecd3 Fix spelling and update OpenSign API documentation
Corrected the spelling of 'developer' in the API documentation and removed the auto mocking server entry.
2026-04-23 10:51:48 +05:30
prafull-opensignlabsandGitHub c3cf0057e3 Change API version from v1.2 to v1.1
Updated API version from v1.2 to v1.1 and modified documentation accordingly. Removed deprecated endpoints and added new features related to public templates and prefill widgets.
2026-04-23 10:50:47 +05:30
prafull-opensignlabsandGitHub 3c25b09bf4 Upgrade OpenSign API documentation to v1.2
Updated API documentation to version 1.2, including new features and endpoint changes.
2026-04-22 19:54:32 +05:30
prafull-opensignlabsandGitHub afe753fc85 Merge pull request #2152 from pravinOpenSign/patch-70
Enhance API credits purchase instructions
2026-04-15 16:51:53 +05:30
pravinandGitHub bc05ef669b Enhance API credits purchase instructions
Added detailed steps for purchasing API credits, including navigation and payment instructions.
2026-04-15 16:21:42 +05:30
17 changed files with 13217 additions and 220 deletions
+1
View File
@@ -7,3 +7,4 @@ sidebar_label: Overview
Welcome to the OpenSign API. Choose a version from the sidebar:
- **v1** — stable baseline
- **v1.1** — latest additions, backward-compatible with v1
- **v1.2** — password protected pdf support, offline signing, signer roles, backward-compatible with v1.1
+212
View File
@@ -225,6 +225,55 @@ paths:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
put:
tags:
- Contacts
summary: Update Contact
description: The Update Contact API enables you to modify and update the details of a specific Contact.
operationId: updateContact
parameters:
- name: contact_id
in: path
description: objectId of contact
required: true
style: simple
explode: false
schema:
type: string
format: string
requestBody:
description: Provide the fields you wish to update. Any fields omitted from the request will remain unchanged.
content:
application/json:
schema:
$ref: '#/components/schemas/updatecontact_body'
responses:
"200":
description: Contact updated successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_14'
"400":
description: Please provide valid field names!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_400'
"404":
description: Contact not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_7'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
delete:
tags:
- Contacts
@@ -269,6 +318,57 @@ paths:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/contact-by-email/{email}:
put:
tags:
- Contacts
summary: Update Contact by Email
description: The Update Contact by Email API enables you to modify and update the details of a specific Contact using their email address as the identifier.
operationId: updateContactByEmail
parameters:
- name: email
in: path
description: Email address of the contact
required: true
style: simple
explode: false
schema:
type: string
format: string
example: joebee@example.com
requestBody:
description: Provide the fields you wish to update. Any fields omitted from the request will remain unchanged.
content:
application/json:
schema:
$ref: '#/components/schemas/updatecontactbyemail_body'
responses:
"200":
description: Contact updated successfully!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_14'
"400":
description: Please provide valid field names!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_400'
"404":
description: Contact not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_7'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/contactlist:
get:
tags:
@@ -2359,6 +2459,52 @@ paths:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/signinglinks/{document_id}:
get:
tags:
- Documents
summary: Get Signing Links
description: |
The Get Signing Links API enables you to retrieve signing urls of signers for the document.
operationId: getsigninglinks
parameters:
- name: document_id
in: path
description: objectId of Document
required: true
style: simple
explode: false
schema:
type: string
format: string
example: aB2cc2hpbh
responses:
"200":
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/getsigninglinks'
"400":
description: "Something went wrong, please try again later!"
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_400_1'
"404":
description: Document not found!
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_404_3'
"405":
description: Invalid API Token!
content:
application/json:
schema:
$ref: '#/components/schemas/invalidtoken'
security:
- x-api-token: []
/drafttemplate:
post:
tags:
@@ -5256,6 +5402,52 @@ components:
$ref: '#/components/schemas/date'
xml:
name: contactdetails
updatecontact_body:
type: object
properties:
name:
type: string
format: string
example: joe bee
email:
type: string
format: string
example: joebee@example.com
phone:
type: string
format: string
example: "4131231231"
company:
type: string
format: string
example: opensign
job_title:
type: string
format: string
example: dev
xml:
name: contactdetails
updatecontactbyemail_body:
type: object
properties:
name:
type: string
format: string
example: joe bee
phone:
type: string
format: string
example: "4131231231"
company:
type: string
format: string
example: opensign
job_title:
type: string
format: string
example: dev
xml:
name: contactdetails
folder:
type: object
properties:
@@ -5437,6 +5629,17 @@ components:
xml:
name: signerIpsResponse
getsigninglinks:
type: object
properties:
objectId:
type: string
format: string
example: hji2zxcv2P
signurl:
type: array
items:
$ref: '#/components/schemas/inline_response_doc_signurl'
formdataResponse:
type: object
properties:
@@ -6902,6 +7105,15 @@ components:
type: array
items:
$ref: '#/components/schemas/folder_res'
inline_response_200_14:
type: object
properties:
objectId:
type: string
example: Bh2Hspnmch
message:
type: string
example: Contact updated successfully
selfsigndocument_body_signer:
type: object
properties:
+87
View File
@@ -0,0 +1,87 @@
# Overview
> **OpenSign™ API v1.2 — the open-source DocuSign alternative, built for developers and trusted by enterprises.**
The OpenSign™ API is a production-ready, RESTful interface for embedding legally binding electronic signatures and end-to-end document workflows into any application. Send documents for signature, build reusable templates, automate signing pipelines, and track every event in real time — all from a single, well-documented API, with no vendor lock-in.
Whether you are digitising a single contract flow or powering signatures across an entire enterprise, v1.2 gives you the building blocks to move fast while staying compliant with global e-signature standards (ESIGN, UETA, eIDAS).
---
# Key Features
- **Documents** — Create, send, update, revoke, and delete signature requests with fine-grained control over signers, ordering, and reminders.
- **Templates** — Build reusable templates with pre-placed widgets and dispatch them to one or many signers in a single call.
- **Self-Sign** — Generate self-signed documents instantly, without an invitation or signer flow.
- **Public Templates** — Publish a shareable signing link for open intake forms — no pre-defined signer list required.
- **Draft Workflow** — Persist documents and templates as drafts, iterate, and finalise them on your own schedule.
- **Signer Roles** — Assign each recipient a role: `signer`, `viewer` (read-only), or `approver` (everything except a signature).
- **Password-Protected PDFs** — Work seamlessly with encrypted source files via the `file_password` parameter.
- **Offline Signing Control** — Toggle offline signing per template with `allow_offline_sign`.
- **Contacts & Folders** — Manage your signer contact book and organise documents in OpenSign Drive programmatically.
- **Webhooks** — Receive real-time event notifications at your own endpoint for every document lifecycle change.
- **Users & Credits** — Retrieve account information and monitor available credits on demand.
- **Security & Compliance** — TLS-encrypted transport, audit trails, IP logging, and tamper-evident signed PDFs aligned with international legal standards.
---
# Whats New in v1.2
- **Cleaner Template Retrieval** — `GET /template/:id` and `GET /templatelist` now return prefill data separately from signer parameters, with redundant fields removed for easier consumption.
- **Password-Protected PDF Support** — Pass `file_password` on document, template, draft, and self-sign creation routes.
- **Offline Signing Control** — Explicitly enable or disable offline signing per template.
- **Signer Roles** — A new `signer_role` field on the `signers` object unlocks viewer and approver flows alongside the default signer behaviour.
- **Fully Backwards-Compatible** — All v1 and v1.1 endpoints remain available on the v1.2 base URL. New parameters are optional unless otherwise documented.
---
# Getting Started
Every request must include your API token in the `x-api-token` header:
```
x-api-token: <your-api-token>
```
→ [How to generate your API token](https://docs.opensignlabs.com/docs/help/Settings/APIToken)
Prototype risk-free in the **sandbox environment** before going live.
## Available Environments
| Environment | Base URL |
| -------------- | ----------------------------------------------- |
| **Sandbox** | `https://sandbox.opensignlabs.com/api/v1.2` |
| **Production** | `https://app.opensignlabs.com/api/v1.2` |
| **EU Region** | `https://eu-app.opensignlabs.com/api/v1.2` |
| **Staging** | `https://staging-app.opensignlabs.com/api/v1.2` |
---
# Target Audience
- **Developers & IT Teams** — Embedding signatures and document automation into web, mobile, or backend systems.
- **Product & SaaS Companies** — Adding white-labelled e-signature flows to their own platforms.
- **Enterprises & Operations** — Standardising secure, auditable document workflows across departments.
- **Legal & Compliance Teams** — Meeting ESIGN, UETA, and eIDAS requirements with verifiable audit trails.
---
# Usage Scenarios
- Automating contract creation, dispatch, and signing across sales and procurement pipelines.
- Powering HR onboarding — offer letters, NDAs, and policy acknowledgements at scale.
- Collecting structured input via public template links for intake forms, waivers, and applications.
- Orchestrating multi-party approval flows using mixed `signer`, `approver`, and `viewer` roles.
- Standardising legal, financial, and government document workflows with reusable templates.
- Integrating signing events into downstream systems through real-time webhooks.
---
# Useful Links
- [OpenSign Website](https://www.opensignlabs.com)
- [Full Documentation](https://docs.opensignlabs.com)
- [GitHub Repository](https://github.com/opensignlabs/opensign)
- [Generate API Token](https://docs.opensignlabs.com/docs/help/Settings/APIToken)
- [Terms of Service](https://www.opensignlabs.com/terms/)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -21,14 +21,12 @@ The "Enable OTP Verification" feature in OpenSign is designed to add an extra la
3. **Configure Security Settings**:
- Click the "Advanced Options"
- <img width="499" alt="image" src="https://github.com/user-attachments/assets/2f099abb-9421-49fb-b53a-7d9a610a8cfe"/>
- Under **Security Settings**, find the option labeled "Enable OTP Verification."
- Select **Yes** to activate OTP verification for this document.
- <img width="1125" alt="image" src="https://github.com/user-attachments/assets/48d15c53-5eba-407c-8f81-1b17a47f32cb"/>
<img width="499" alt="image" src="https://github.com/user-attachments/assets/2f099abb-9421-49fb-b53a-7d9a610a8cfe"/>
<img width="1125" alt="image" src="https://github.com/user-attachments/assets/48d15c53-5eba-407c-8f81-1b17a47f32cb"/>
4. **Send the Document**:
- Once all settings are configured, proceed to send the document to the signers.
@@ -61,6 +59,44 @@ Once the document is fully signed by all parties, OpenSign generates a **Complet
This feature makes it clear that the signing process involved OTP verification, adding credibility to the documents legal standing.
## Impact on the Signing Flow When Email OTP Verification and Allowed Modifications Are Enabled
The widgets available to a signer depend on the **Enable OTP Verification** and **Allowed Modifications** settings configured for the document.
### Enable OTP Verification = Enabled + Allowed Modifications = Enabled
The signer can add the following widgets during the signing process:
<img width="1731" alt="image" src="https://github.com/user-attachments/assets/b06e6575-0ab8-4de0-8755-4c29ee08e17d" />
- Signature
- Stamp
- Initials
- Name
- Job Title
- Company
- Email
- Text
- Cells
> **Note:** If the signer has an OpenSign account with previously saved **Signature**, **Initials**, or **Stamp** items, those saved items are automatically displayed and can be used immediately while signing.
---
### Enable OTP Verification = Disabled + Allowed Modifications = Enabled
The signer can add the following widgets during the signing process:
<img width="1731" alt="image" src="https://github.com/user-attachments/assets/c9dd68fd-67e7-47d1-a186-deda8e73f646" />
- Signature
- Stamp
- Initials
- Text
- Cells
> **Note:** Previously saved **Signature**, **Stamp**, and **Initials** from the signer's OpenSign account are **not** displayed. The signer must create a new signature, stamp, or initials by **drawing**, **typing**, or **uploading** them during the signing process.
## When to Use OTP Verification
Consider enabling OTP verification in scenarios where:
@@ -69,6 +105,8 @@ Consider enabling OTP verification in scenarios where:
- **Authentication** is a priority: OTP adds an extra layer of verification, enhancing the documents validity and security.
- **Compliance** is required: Certain regulations or standards may necessitate an additional verification step for document signing.
## Disabling OTP Verification
If OTP verification is unnecessary for a particular document:
+139
View File
@@ -0,0 +1,139 @@
---
sidebar_position: 7
title: Guest signing flow
---
# Signer Signing Flow
This guide explains how signers complete a document in OpenSign and how features such as **Duplicate Widget Name**, **Auto Sign**, and the **Image Widget** work during the signing process.
---
# Duplicate Widget Name
The **Duplicate Widget Name** feature helps signers complete documents more efficiently by automatically populating widgets that share the same name.
## How it works
When multiple widgets of the **same type** have the **same widget name**, OpenSign treats them as linked fields.
After the signer fills in one of these widgets, the entered value is automatically copied to all other widgets with the same widget name.
### Example
- Three **Text** widgets named `address`
- Four **Email** widgets named `company_email`
When the signer enters a value in the first widget, all remaining widgets with the same name are automatically updated.
> **Note:** This feature does **not** apply to **Signature**, **Stamp**, or **Initials** widgets. These widgets use the **Auto Sign** feature instead. When clicked Auto Sign, completing the first Signature, Stamp, or Initials widget automatically fills all remaining matching widgets.
## Supported Widgets
Duplicate Widget Name is supported for the following widget types:
- Name
- Job Title
- Company
- Email
- Text
> **Important:** Widgets are linked only when both the **widget type** and the **widget name** are identical.
## Unsupported Widgets
Duplicate Widget Name is **not** supported for the following widget types:
- Number
- Date
- Checkbox
- Radio Button
- Dropdown
- Cells
- Attachment
Although you can assign the same widget name to these widgets while creating a document, they behave **independently** during the signing process.
### Example
Suppose a document contains two **Date** widgets with the same widget name, `agreement_date`.
When the signer selects a date in the first Date widget, the selected value is **not** copied to the second Date widget. Each Date widget must be completed individually.
The same behavior applies to all unsupported widget types listed above.
---
# Auto Sign
The **Auto Sign** feature allows signers to complete **Signature**, **Stamp**, or **Initials** only once. After the first widget is completed, OpenSign automatically fills all other matching widgets where **Auto Sign** is enabled.
This reduces repetitive actions and speeds up the signing process.
## Signature Widget
When **Auto Sign** is enabled:
1. Click the first Signature widget.
2. Create the signature by:
- Drawing
- Typing
- Uploading
- Selecting a previously saved signature (if available)
3. Click **Auto Sign**.
4. OpenSign automatically fills all remaining Signature widgets that have Auto Sign enabled.
The signer only needs to sign once.
---
## Stamp Widget
When **Auto Sign** is enabled:
1. Click the first Stamp widget.
2. Upload a stamp or select a previously saved stamp (if available).
3. Click **Auto Sign**.
4. All remaining Stamp widgets with Auto Sign enabled are automatically completed.
---
## Initials Widget
When **Auto Sign** is enabled:
1. Click the first Initials widget.
2. Create the initials by:
- Drawing
- Typing
- Uploading
- Selecting previously saved initials (if available)
3. Click **Auto Sign**.
4. OpenSign automatically fills all remaining Initials widgets that have Auto Sign enabled.
---
# Image Widget
The **Image** widget allows signers to upload an image during the signing process.
Common use cases include:
- Company logo
- Passport photo
- Profile picture
- Supporting document image
- Identity verification image
## How it works
1. Click the Image widget.
2. Select an image from your device.
3. Upload the image.
4. Click **Auto Sign**.
If multiple **Image** widgets have the **same widget name**, clicking **Auto Sign** automatically fills all Image widgets with that same name using the uploaded image.
Image widgets with **different widget names** are **not** linked and will not be updated.
> **Note:** Image widgets are linked only when both the **widget type** and **widget name** are identical.
File diff suppressed because it is too large Load Diff
+39
View File
@@ -121,6 +121,45 @@ Assume you have four number widgets named:
- Ensure all widget names used in formulas exist in the same document.
---
# 📎 Understanding the Attachment Widget
The **Attachment Widget** allows signers to upload supporting files directly while completing and signing a document. This is useful when additional documents or evidence are required as part of the signing workflow.
<img width="918" alt="image" src="https://github.com/user-attachments/assets/ffbe6e7f-35c9-4f46-9b02-68709dbe46cd" />
Examples of files that can be requested include:
- Identity documents (Passport, Driver's License, ID Card)
- Proof of address
- Supporting agreements or contracts
- Certificates and licenses
- Other required supporting documents
## Benefits of the Attachment Widget
The Attachment Widget helps you:
- Collect supporting documents from signers
- Keep all required files associated with a document in one place
- Eliminate the need for separate email attachments
- Streamline document collection and verification workflows
- Ensure signers provide the necessary supporting information before completing the document
## How the Attachment Widget Works
1. Signers can upload up to **5 files** using a single Attachment Widget.
2. Each file can be a maximum of **10 MB** in size.
3. A single Attachment Widget can therefore accept up to **50 MB** of attachments in total.
4. Supported file formats include:
- PDF (`.pdf`)
- Microsoft Word (`.docx`)
- PNG (`.png`)
- JPG (`.jpg`)
- JPEG (`.jpeg`)
5. Once the signer uploads the files and completes the signing process, the uploaded files are appended as additional pages to the end of the original PDF document.
<img width="918" alt="document attchement" src="https://github.com/user-attachments/assets/6325793e-a4ed-4aed-ab12-5e29e625f28a" />
> **Note:** All uploaded attachments become part of the completed document package, making it easier to store, review, and share the signed document along with its supporting files.
## 📩 Need Help?
+22 -3
View File
@@ -89,9 +89,28 @@ OpenSign provides a **sandbox testing cloud environment**, which is a replica of
> ⚠️ **Important Note:**
> Manually entering your username and password will **not work** for sandbox login. Always use the "Login to Sandbox" button for access.
---
### Buy the api credit
User can buy the api credit using this feature
On the click of the buy premium credits.
### Buy API Credits
Follow these steps to purchase premium API credits:
1. **Navigate to the Purchase Page**
Go to **Settings → API Token → Buy Premium Credits**.
<img width="436" alt="buy premium credits" src="https://github.com/user-attachments/assets/82d7c571-702f-4f7f-83eb-baa86a63b829" />
3. **Select the Number of Credits**
Choose the number of credits you wish to purchase and click **Proceed**.
<img width="436" alt="buy premium credits" src="https://github.com/user-attachments/assets/da7f72e6-84be-481b-9f5d-36bffafb11ae" />
5. **Credits Added to Your Account**
The selected credits are instantly added to your account. You can view the updated balance in the **Premium Credits Available** section.
6. **Payment and Invoice**
A **payment link** and **invoice** will be sent to your registered email address.
7. **Complete the Payment**
Open the email and click the **Buy Now** button to access the payment link and complete the transaction.
## 🧠 Frequently Asked Questions
+12
View File
@@ -100,6 +100,18 @@ Decide whether the document should be signed **sequentially** or **simultaneousl
> Users can change this option while creating the document or a template.
---
## Allow offline signing
Choose whether signers can submit a copy of this document signed using an external tool for owner review.
- **Yes**: Signers will see a “Sign Offline” option, allowing them to upload an externally signed PDF and submit it to the document owner for approval.
- On Approval: Once the owner approves the submission, the signers signing process will be marked as completed. After the document is approved by the owner, a notification email will be sent to the signer confirming that the document has been approved and their signing process is complete. At the same time, a request signature email will be triggered and sent to the next signer in the signing order.
- On Declined: If the document is incorrectly filled out or improperly formatted, the owner can decline it and add comments. The signer can then use the same signing link that was initially shared to them to either re-upload a corrected offline file or continue the process using OpenSigns online signing interface.
- **No**: Signers can only sign within the app. The Sign Offline option will be hidden.
This feature is only available on paid plans.
---
## ✉️ Use profile name as sender
File diff suppressed because it is too large Load Diff
@@ -26,7 +26,7 @@ Follow the steps below to navigate to the **Custom File Storage** setup page in
2. Click on your **profile menu** (top-right corner) and select **Console**.
3. In the **left sidebar**, go to **Storage**.
<img width="1722" height="814" alt="Custom file storage" src="https://github.com/user-attachments/assets/813f6685-3f36-40e4-aaaf-0d8b86bdc3b7" />
<img width="1722" alt="Custom file storage" src="https://github.com/user-attachments/assets/813f6685-3f36-40e4-aaaf-0d8b86bdc3b7" />
You will now be on the **Custom File Storage** setup page where you can configure your own storage provider.
@@ -9,7 +9,7 @@ The **Custom Signing Certificate** page allows you to upload and manage your own
By default, OpenSign uses its **built-in signing certificate** to digitally sign documents.
However, if your organization has its own **custom certificate (PFX or P12 format)**, you can upload and activate it here.
<img width="1722" height="814" alt="pfx cerificate upload" src="https://github.com/user-attachments/assets/a5668f61-332d-49c5-ace2-5f0f92d3b68f" />
<img width="1722" alt="pfx cerificate upload" src="https://github.com/user-attachments/assets/a5668f61-332d-49c5-ace2-5f0f92d3b68f" />
---
+11 -8
View File
@@ -20,6 +20,16 @@ Make sure Docker is running in the background before proceeding.
**Warning:** The commands below should only be used when installing OpenSign for the first time. You may loose your settings as this will overwrite .env & caddy files.
### Running on a custom domain
Point a subdomain to the server where you will be executing these commands by adding the correct A record to your DNS settings.
Copy the command below, paste it into the terminal, and press Enter to pull and start the containers automatically.
Make sure to replace the host URL with your subdomain where OpenSign will be accessible.
> ⚠️ **WARNING:** MAKE SURE THAT PORT **27017** IS NOT EXPOSED TO THE INTERNET, AS THE DEFAULT CONFIGURATION DOES NOT ENABLE MONGODB AUTHENTICATION.
Command for linux/MacOS
```
export HOST_URL=https://opensign.yourdomain.com && curl --remote-name-all https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && mv .env.local_dev .env.prod && docker compose up --force-recreate
@@ -33,14 +43,6 @@ Command for Windows (**CMD/Terminal**)
set HOST_URL=https://opensign.yourdomain.com && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/docker-compose.yml && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/Caddyfile && curl -O https://raw.githubusercontent.com/OpenSignLabs/OpenSign/main/.env.local_dev && rename .env.local_dev .env.prod && docker compose up --force-recreate
```
Copy the command above, paste it into the terminal, and press Enter to pull and start the containers automatically.
Make sure to replace the host URL with your subdomain where OpenSign will be accessible.
You will also need to point the subdomain to the server executing these commands by adding the correct A record to your DNS settings.
> ⚠️ **WARNING:** MAKE SURE THAT PORT **27017** IS NOT EXPOSED TO THE INTERNET, AS THE DEFAULT CONFIGURATION DOES NOT ENABLE MONGODB AUTHENTICATION.
### Running locally
If instead want to run locally try out below commands.
@@ -72,6 +74,7 @@ Once the deployment is successful, the application will be accessible at [https:
To set up OpenSign™ locally using Docker, the following prerequisites are required:
Add below Environment Variables to the ".env.prod" file that is automatically created in order to personalize your installation:
> Beginner note: The .env.prod file is created in the current directory (the same directory where you ran the previous commands). On macOS, files that begin with a dot (.) are hidden by default. To view hidden files in Finder, press Cmd + Shift + . (period), or run ls -a in Terminal. Once you locate the file, you can edit it using any text editor or a command-line editor such as vi or nano.
| Environment Variable | Value | Description |
| ------------- | ------------- | ------------- |
+6
View File
@@ -80,6 +80,12 @@ const config = {
specPath: "docs/API-docs/v1.1/opensign.yaml", // your v1.1 spec file
outputDir: "docs/API-docs/v1.1", // generated mdx + sidebar.js
sidebarOptions: { groupPathsBy: "tag" },
},
opensign_v1_2: {
// OpenAPI v1.2
specPath: "docs/API-docs/v1.2/opensign.yaml", // your v1.1 spec file
outputDir: "docs/API-docs/v1.2", // generated mdx + sidebar.js
sidebarOptions: { groupPathsBy: "tag" },
}
}
}
+8
View File
@@ -13,6 +13,7 @@
// import apiSidebar from './docs/API-docs/sidebar.ts';
import apiV1Sidebar from './docs/API-docs/v1/sidebar.ts';
import apiV11Sidebar from './docs/API-docs/v1.1/sidebar.ts';
import apiV12Sidebar from './docs/API-docs/v1.2/sidebar.ts';
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
@@ -23,6 +24,13 @@ const sidebars = {
// apiSidebar: apiSidebar,
// Single API sidebar containing two top-level categories
apiSidebar: [
{
type: 'category',
label: 'v1.2',
link: { type: 'generated-index', title: 'OpenSign API v1.2', slug: '/API-docs/v1.2' },
collapsed: false,
items: apiV12Sidebar,
},
{
type: 'category',
label: 'v1.1',