Writing Templates Guide
A comprehensive guide to crafting professional documents and templates in APISign using Markdown syntax.
Markdown Basics
APISign templates use Markdown, a lightweight formatting syntax that's easy to learn and produces clean, professional documents.
Headings
Use # symbols to create headings. More # symbols mean smaller headings:
# Main Title (H1)
## Section Heading (H2)
### Subsection (H3)
#### Minor Heading (H4)
Text Formatting
**Bold text** for emphasis
*Italic text* for subtle emphasis
***Bold and italic*** for strong emphasis
~~Strikethrough~~ for deleted content
Lists
Unordered lists use -, *, or +:
- First item
- Second item
- Nested item
- Another nested item
- Third item
Ordered lists use numbers:
1. First step
2. Second step
3. Third step
Links
[Link text](https://example.com)
Images
Paste or drop an image straight into the editor and it's uploaded and inserted for you. You can also reference an image by URL:

PNG, JPEG, GIF, and WebP are supported, up to 5MB each. Images embedded in an uploaded Word document, or pasted in as data:image/...;base64 markdown, are moved to storage when the template is saved and replaced with a link, so the template stays easy to edit.
Tables
| Item | Quantity | Price |
|------|----------|-------|
| Setup | 1 | {{setup_fee}} |
| Hosting | 12 months | {{hosting_fee}} |
Tables in an imported Word document are converted to this format, with the first row used as the header.
Line Breaks
A single line break is kept as a line break, so consecutive lines stay on separate lines:
**Client:** {{client_name}}
**Email:** {{client_email}}
Leave a blank line between paragraphs.
Horizontal Rules
Use three or more dashes, asterisks, or underscores to create a horizontal line:
---
Template Variables
Wrap a name in double curly braces, such as {{client_name}}, wherever the text changes from one contract to the next or a signer has to fill something in. Who completes each variable and what type of input it gets is covered in Template Variables.
Naming Conventions
Use descriptive, lowercase names with underscores. Field types are guessed from the words in the name, so a good name also saves you setup:
{{client_name}}- the client's full name, filled in by you{{contract_date}}- a date you fill in{{client_signature}}- a signature the client draws{{client_initials}}- initials the client draws{{client_sign_date}}- filled in automatically with the time the client signs
Common Variables
| Variable | Description | Example Value |
|---|---|---|
{{client_name}} | Client's full name | John Smith |
{{client_email}} | Client's email address | john@example.com |
{{company_name}} | Your company name | Acme Corp |
{{contract_date}} | Date of the agreement | January 15, 2025 |
{{effective_date}} | When the contract takes effect | February 1, 2025 |
{{expiration_date}} | When the contract expires | January 31, 2026 |
{{total_amount}} | Total contract value | $10,000.00 |
{{payment_terms}} | Payment schedule | Net 30 |
Document Structure
Contract Header
Start with clear identification:
# Service Agreement
**Agreement Number:** {{agreement_number}}
**Date:** {{contract_date}}
---
Parties Section
Clearly identify all parties involved:
## Parties
This Agreement is entered into between:
**Service Provider:**
{{provider_name}}
{{provider_address}}
{{provider_email}}
**Client:**
{{client_name}}
{{client_address}}
{{client_email}}
Terms and Conditions
Use numbered sections for legal clarity:
## Terms and Conditions
### 1. Services
The Service Provider agrees to provide the following services:
{{service_description}}
### 2. Compensation
The Client agrees to pay {{total_amount}} according to the following schedule:
{{payment_schedule}}
### 3. Term
This Agreement shall commence on {{effective_date}} and continue until {{expiration_date}}.
Signature Block
End with a clear signature section:
---
## Signatures
By signing below, both parties agree to the terms and conditions outlined in this Agreement.
**Service Provider:**
Signature: {{provider_signature}}
Name: {{provider_name}}
Date: {{provider_sign_date}}
**Client:**
Signature: {{client_signature}}
Name: {{client_name}}
Date: {{client_sign_date}}
{{provider_sign_date}} and {{client_sign_date}} are filled in automatically with the time each party signs. Give each party their own signature field; with more than one signer, each must be assigned one.
Fields the Signer Completes
Signatures, initials, signing dates and signer names are recognized from their names, as in the examples above. For anything else the signer should type or pick, such as their job title or a start date, set Completed By to Signer on the Variables tab. The full list of field types is in Template Variables.
Best Practices
Keep It Clear
- Use plain language when possible
- Define technical terms
- Break long paragraphs into shorter ones
- Use headings to organize content
Be Consistent
- Use the same formatting throughout
- Keep variable naming conventions consistent
- Maintain consistent spacing and structure
Test Your Template
- Create a contract from your template with Send as a test ticked
- Fill in all variables with sample data
- Check the live preview as you go
- Send it, sign it from the email that comes to you, and check the signed PDF
- Verify signature fields are properly placed
Legal Considerations
- Include all necessary legal disclaimers
- Clearly state governing law and jurisdiction
- Define dispute resolution procedures
- Include severability clauses
Example Templates
Simple Service Agreement
# Service Agreement
This Service Agreement ("Agreement") is entered into as of {{contract_date}}.
## Parties
**Provider:** {{provider_name}}
**Client:** {{client_name}}
## Services
Provider agrees to perform the following services:
{{service_description}}
## Compensation
Client agrees to pay Provider {{total_amount}} for the services described above.
## Term
This Agreement begins on {{start_date}} and ends on {{end_date}}.
## Signatures
**Provider:**
{{provider_signature}}
Date: {{provider_sign_date}}
**Client:**
{{client_signature}}
Date: {{client_sign_date}}
Non-Disclosure Agreement (NDA)
# Non-Disclosure Agreement
This Non-Disclosure Agreement is entered into by and between:
**Disclosing Party:** {{disclosing_party}}
**Receiving Party:** {{receiving_party}}
**Effective Date:** {{effective_date}}
## 1. Definition of Confidential Information
"Confidential Information" means any information disclosed by the Disclosing Party that is marked as confidential or that reasonably should be understood to be confidential.
## 2. Obligations
The Receiving Party agrees to:
- Hold all Confidential Information in strict confidence
- Not disclose Confidential Information to any third parties
- Use Confidential Information only for {{permitted_purpose}}
## 3. Term
This Agreement shall remain in effect for {{term_length}} from the Effective Date.
## 4. Signatures
**Disclosing Party:**
{{disclosing_signature}}
Name: {{disclosing_name}}
Date: {{disclosing_sign_date}}
**Receiving Party:**
{{receiving_signature}}
Name: {{receiving_name}}
Date: {{receiving_sign_date}}
In both examples, the dates under the signatures are filled in automatically when each party signs.