Legal template

Mutual NDA

Bilateral non-disclosure agreement with parties block, definition of Confidential Information, standard exclusions, term + survival, return of materials, and configurable governing law / jurisdiction.

Pro, Business & Scale plansLanguage: en
slug: mutual-ndaRendered with sample data
01

Quick start

Reference the template by its slug and pass your data. The same call works from any language; pick whichever fits your stack. Replace $KAMY_API_KEY with a key from the dashboard.

curl
curl https://kamy.dev/api/v1/render \
  -H "Authorization: Bearer $KAMY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "templateSlug": "mutual-nda",
    "data": {
      "referenceNumber": "NDA-2026-0042",
      "effectiveDate": "2026-04-15",
      "purpose": "exploratory discussions regarding a potential partnership for an integrated rendering pipeline",
      "termMonths": 24,
      "survivalMonths": 36,
      "returnPeriodDays": 30,
      "governingLaw": "the Dubai International Financial Centre (DIFC)",
      "jurisdiction": "the DIFC Courts, Dubai, UAE",
      "partyA": {
        "name": "Helios Technologies FZ-LLC",
        "entityType": "Free zone limited liability company",
        "jurisdiction": "Dubai Internet City",
        "registrationNumber": "DIC-78342",
        "address": "Building 17, Dubai Internet City, Dubai, UAE",
        "signer": {
          "name": "Reem Al-Sabbagh",
          "title": "Head of Legal"
        }
      },
      "partyB": {
        "name": "Atlas Cloud Services Ltd.",
        "entityType": "Private company limited by shares",
        "jurisdiction": "England and Wales",
        "registrationNumber": "13245678",
        "address": "12 Finsbury Square, London EC2A 1JJ, United Kingdom",
        "signer": {
          "name": "Jonathan Park",
      // …
    }
  }'
node.js
import { Kamy } from "@kamydev/sdk";

const kamy = new Kamy({ apiKey: process.env.KAMY_API_KEY! });

const { url } = await kamy.render({
  templateSlug: "mutual-nda",
  data: {
    "referenceNumber": "NDA-2026-0042",
    "effectiveDate": "2026-04-15",
    "purpose": "exploratory discussions regarding a potential partnership for an integrated rendering pipeline",
    "termMonths": 24,
    "survivalMonths": 36,
    "returnPeriodDays": 30,
    "governingLaw": "the Dubai International Financial Centre (DIFC)",
    "jurisdiction": "the DIFC Courts, Dubai, UAE",
    "partyA": {
      "name": "Helios Technologies FZ-LLC",
      "entityType": "Free zone limited liability company",
      "jurisdiction": "Dubai Internet City",
      "registrationNumber": "DIC-78342",
      "address": "Building 17, Dubai Internet City, Dubai, UAE",
      "signer": {
        "name": "Reem Al-Sabbagh",
        "title": "Head of Legal"
      }
    },
    "partyB": {
      "name": "Atlas Cloud Services Ltd.",
      "entityType": "Private company limited by shares",
      "jurisdiction": "England and Wales",
      "registrationNumber": "13245678",
      "address": "12 Finsbury Square, London EC2A 1JJ, United Kingdom",
      "signer": {
        "name": "Jonathan Park",
    // …
  },
});

console.log(url); // signed URL, valid for 1 hour
python
import os, requests

resp = requests.post(
    "https://kamy.dev/api/v1/render",
    headers={"Authorization": f"Bearer {os.environ['KAMY_API_KEY']}"},
    json={
        "templateSlug": "mutual-nda",
        "data": {
          "referenceNumber": "NDA-2026-0042",
          "effectiveDate": "2026-04-15",
          "purpose": "exploratory discussions regarding a potential partnership for an integrated rendering pipeline",
          "termMonths": 24,
          "survivalMonths": 36,
          "returnPeriodDays": 30,
          "governingLaw": "the Dubai International Financial Centre (DIFC)",
          "jurisdiction": "the DIFC Courts, Dubai, UAE",
          "partyA": {
            "name": "Helios Technologies FZ-LLC",
            "entityType": "Free zone limited liability company",
            "jurisdiction": "Dubai Internet City",
            "registrationNumber": "DIC-78342",
            "address": "Building 17, Dubai Internet City, Dubai, UAE",
            "signer": {
              "name": "Reem Al-Sabbagh",
              "title": "Head of Legal"
            }
          },
          "partyB": {
            "name": "Atlas Cloud Services Ltd.",
            "entityType": "Private company limited by shares",
            "jurisdiction": "England and Wales",
            "registrationNumber": "13245678",
            "address": "12 Finsbury Square, London EC2A 1JJ, United Kingdom",
            "signer": {
              "name": "Jonathan Park",
          // …
        },
    },
)
resp.raise_for_status()
print(resp.json()["url"])
02

Sample payload

The full sample data the live preview above renders from. Use it as a starting point for your own integration — every field is optional except those marked required in the schema below.

json
{
  "referenceNumber": "NDA-2026-0042",
  "effectiveDate": "2026-04-15",
  "purpose": "exploratory discussions regarding a potential partnership for an integrated rendering pipeline",
  "termMonths": 24,
  "survivalMonths": 36,
  "returnPeriodDays": 30,
  "governingLaw": "the Dubai International Financial Centre (DIFC)",
  "jurisdiction": "the DIFC Courts, Dubai, UAE",
  "partyA": {
    "name": "Helios Technologies FZ-LLC",
    "entityType": "Free zone limited liability company",
    "jurisdiction": "Dubai Internet City",
    "registrationNumber": "DIC-78342",
    "address": "Building 17, Dubai Internet City, Dubai, UAE",
    "signer": {
      "name": "Reem Al-Sabbagh",
      "title": "Head of Legal"
    }
  },
  "partyB": {
    "name": "Atlas Cloud Services Ltd.",
    "entityType": "Private company limited by shares",
    "jurisdiction": "England and Wales",
    "registrationNumber": "13245678",
    "address": "12 Finsbury Square, London EC2A 1JJ, United Kingdom",
    "signer": {
      "name": "Jonathan Park",
      "title": "General Counsel"
    }
  }
}
03

JSON Schema

The render endpoint validates your payload against this JSON Schema before queuing the render. Validation errors come back with HTTP 400 and a VALIDATION_FAILED code listing every offending path.

json
{
  "type": "object",
  "required": [
    "referenceNumber",
    "effectiveDate",
    "purpose",
    "partyA",
    "partyB",
    "termMonths",
    "survivalMonths",
    "returnPeriodDays",
    "governingLaw",
    "jurisdiction"
  ],
  "properties": {
    "referenceNumber": {
      "type": "string"
    },
    "effectiveDate": {
      "type": "string"
    },
    "purpose": {
      "type": "string"
    },
    "termMonths": {
      "type": "number"
    },
    "survivalMonths": {
      "type": "number"
    },
    "returnPeriodDays": {
      "type": "number"
    },
    "governingLaw": {
      "type": "string"
    },
    "jurisdiction": {
      "type": "string"
    },
    "partyA": {
      "type": "object",
      "required": [
        "name",
        "entityType",
        "jurisdiction",
        "address",
        "signer"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "entityType": {
          "type": "string"
        },
        "jurisdiction": {
          "type": "string"
        },
        "registrationNumber": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "signer": {
          "type": "object",
          "required": [
            "name",
            "title"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "title": {
              "type": "string"
            }
          }
        }
      }
    },
    "partyB": {
      "type": "object",
      "required": [
        "name",
        "entityType",
        "jurisdiction",
        "address",
        "signer"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "entityType": {
          "type": "string"
        },
        "jurisdiction": {
          "type": "string"
        },
        "registrationNumber": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "signer": {
          "type": "object",
          "required": [
            "name",
            "title"
          ],
          "properties": {
            "name": {
              "type": "string"
            },
            "title": {
              "type": "string"
            }
          }
        }
      }
    }
  }
}
Mutual NDA template — Kamy PDF API — Kamy