This guide is based on the NDA template in the Gallery.
It explains a practical flow: template HTML structure, matching JSON payload, and API render request.
Step 1 - Template HTML structure
HTML
<div class="title">
<h1>Non-Disclosure Agreement</h1>
<p>Mutual Confidentiality Agreement</p>
</div>
<p class="intro">This Non-Disclosure Agreement ("Agreement") is entered into as of <strong>{{effective_date}}</strong> by and between <strong>{{party_a}}</strong> ("Disclosing Party") and <strong>{{party_b}}</strong> ("Receiving Party").</p>
<div class="clause">
<h3>1. Definition of Confidential Information</h3>
<p>{{definition_text}}</p>
</div>
<div class="clause">
<h3>2. Obligations</h3>
<p>The Receiving Party agrees to: (a) hold Confidential Information in strict confidence; (b) not disclose it to third parties without prior written consent; (c) use it solely for the purpose of {{purpose}}.</p>
</div>
<div class="clause">
<h3>3. Duration</h3>
<p>This Agreement shall remain in effect for {{duration}} from the Effective Date. Obligations of confidentiality shall survive for {{survival_period}} after termination.</p>
</div>
<div class="clause">
<h3>4. Governing Law</h3>
<p>This Agreement shall be governed by the laws of {{governing_law}}.</p>
</div>
<div class="sig-section">
<div class="sig-group">
<div class="sig-name">{{party_a}}</div>
<div class="sig-meta">Authorized Signature</div>
<div class="sig-meta">Date: <span class="sig-date">
</span>
</div>
</div>
<div class="sig-group">
<div class="sig-name">{{party_b}}</div>
<div class="sig-meta">Authorized Signature</div>
<div class="sig-meta">Date: <span class="sig-date">
</span>
</div>
</div>
</div>
Step 2 - Matching JSON payload
JSON
{
"effective_date": "March 15, 2026",
"party_a": "Acme Corporation",
"party_b": "PartnerTech Ltd.",
"definition_text": "Confidential Information includes all technical, business, financial, and operational information disclosed by either party, whether in written, oral, electronic, or visual form.",
"purpose": "evaluating a potential business collaboration",
"duration": "2 years",
"survival_period": "3 years",
"governing_law": "the State of Delaware, United States"
}
Step 3 - Final rendered preview in page
Rendered output preview
Template style preview
Preview uses the original Gallery template HTML and CSS with sample payload values.
Step 4 - Key mapping checklist
{{effective_date}}->effective_date{{party_a}}->party_a{{party_b}}->party_b{{definition_text}}->definition_text
Step 5 - Render request example
BASH
curl -X POST "https://api.hookpdf.com/v1/render" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"template_id": "<gallery-nda-template_id>",
"payload": {
"effective_date": "March 15, 2026",
"party_a": "Acme Corporation",
"party_b": "PartnerTech Ltd.",
"definition_text": "Confidential Information includes all technical, business, financial, and operational information disclosed by either party, whether in written, oral, electronic, or visual form.",
"purpose": "evaluating a potential business collaboration",
"duration": "2 years",
"survival_period": "3 years"
}
}'
Use this template for free now
Start with this template in HookPDF and render your first PDF for free.
Use this template freeRelated reads
Ready to move from prototype to production?
Create your account and generate your first API-driven PDF with HookPDF.
Get your API key