Learn how to use TheDocumentWizard and integrate it with your systems.
Welcome to TheDocumentWizard documentation! This guide will help you get started with our digital document signing platform and show you how to integrate it with your existing systems.
TheDocumentWizard is a secure, legally binding electronic signature platform that allows you to sign documents from anywhere, on any device. Our platform complies with eSign, UETA, and other international laws to ensure your documents are legally valid.
To get started with TheDocumentWizard, you'll need to create an account:
TheDocumentWizard works on any modern web browser, including:
We also offer mobile apps for iOS and Android devices.
This section provides detailed instructions on how to use TheDocumentWizard's core features.
You can create documents in TheDocumentWizard in several ways:
Once you've created or uploaded a document, you can send it for signature:
You can set automatic reminders for recipients who haven't signed:
You can track the status of your documents in real-time:
Your dashboard provides an overview of all your documents and their current status:
For each document, you can view a detailed history:
TheDocumentWizard provides a comprehensive RESTful API that allows you to integrate our digital signature capabilities into your own applications and workflows.
All API requests must be authenticated using API keys. You can generate API keys in your account settings.
// Example API request with authentication const fetchDocuments = async() => { const response = await fetch('https://api.thedocumentwizard.com/v1/documents', { method: 'GET', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_API_KEY' } }); const data = await response.json(); return data; };
Keep your API keys secure and never expose them in client-side code. If you believe your API key has been compromised, you should immediately regenerate it in your account settings.
The Documents API allows you to create, send, and manage documents programmatically.
Retrieves a list of documents in your account.
| Parameter | Type | Description |
|---|---|---|
| limit | Integer | Maximum number of documents to return (default: 20, max: 100) |
| offset | Integer | Number of documents to skip (for pagination) |
| status | String | Filter by document status (draft, sent, completed, expired) |
{
"documents": [
{
"id": "doc_123456789",
"title": "Sales Contract",
"status": "sent",
"created_at": "2023-05-15T10:30:00Z",
"updated_at": "2023-05-15T11:45:00Z",
"expires_at": "2023-06-15T10:30:00Z",
"recipients": [
{
"email": "john@example.com",
"name": "John Doe",
"status": "signed"
},
{
"email": "jane@example.com",
"name": "Jane Smith",
"status": "waiting"
}
]
}
],
"total": 45,
"limit": 20,
"offset": 0
}
Creates a new document.
| Parameter | Type | Description |
|---|---|---|
| title Required | String | Title of the document |
| file Required | File | The document file (PDF, DOCX, etc.) |
| recipients Optional | Array | List of recipients who need to sign the document |
| message Optional | String | Custom message to include in the email to recipients |
| expires_in Optional | Integer | Number of days until the document expires (default: 30) |
const formData = new FormData(); formData.append('title', 'Sales Contract'); formData.append('file', documentFile); formData.append('recipients', JSON.stringify([ { "email": "john@example.com", "name": "John Doe", "role": "signer" }, { "email": "jane@example.com", "name": "Jane Smith", "role": "signer" } ])); formData.append('message', 'Please review and sign this sales contract.'); formData.append('expires_in', '14'); const response = await fetch('https://api.thedocumentwizard.com/v1/documents', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY' }, body: formData });
The Templates API allows you to create and manage reusable document templates.
Retrieves a list of templates in your account.
Creates a new template from an existing document.
The Users API allows you to manage users in your organization.
Retrieves a list of users in your organization.
Creates a new user in your organization.
Webhooks allow you to receive real-time notifications when events occur in your TheDocumentWizard account.
To set up a webhook:
TheDocumentWizard can send webhooks for the following events:
document.created - A new document has been createddocument.sent - A document has been sent for signaturedocument.viewed - A recipient has viewed a documentdocument.signed - A recipient has signed a documentdocument.completed - All recipients have signed a documentdocument.declined - A recipient has declined to sign a documentdocument.expired - A document has expired without being completedWhen an event occurs, TheDocumentWizard will send a POST request to your webhook URL with a JSON payload containing information about the event.
{
"event": "document.signed",
"created_at": "2023-05-15T14:30:00Z",
"data": {
"document_id": "doc_123456789",
"document_title": "Sales Contract",
"signer": {
"email": "john@example.com",
"name": "John Doe"
},
"signed_at": "2023-05-15T14:30:00Z",
"ip_address": "192.168.1.1"
}
}
To make integration easier, we provide official SDKs for popular programming languages:
Our JavaScript SDK can be used in both Node.js and browser environments.
// Using npm npm install @documentwizard/sdk // Using yarn yarn add @documentwizard/sdk
const { DocumentWizard } = require('@documentwizard/sdk'); // Initialize the client const client = new DocumentWizard('YOUR_API_KEY'); // List documents async function listDocuments() { try { const documents = await client.documents.list(); console.log(documents); } catch (error) { console.error('Error listing documents:', error); } }
Our Python SDK is compatible with Python 3.6 and above.
pip install documentwizard
from documentwizard import DocumentWizard # Initialize the client client = DocumentWizard('YOUR_API_KEY') # List documents def list_documents(): try: documents = client.documents.list() print(documents) except Exception as e: print(f'Error listing documents: {e}')
We also provide SDKs for the following languages:
Visit our GitHub repository for more information and examples.
Yes, electronic signatures created with TheDocumentWizard are legally binding in most countries, including the United States (under the ESIGN Act and UETA), the European Union (under eIDAS), and many other jurisdictions.
TheDocumentWizard supports the following file formats:
The rate limit depends on your subscription plan:
If you need higher limits, please contact our support team.
All API errors return a standard error format with an HTTP status code and a JSON response containing error details. We recommend implementing proper error handling in your integration to handle these errors gracefully.
{
"error": {
"code": "invalid_request",
"message": "The request was invalid. Please check your parameters.",
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
}