March 2026 · Tutorial

Send an NDA in 30 Seconds with One API Call

No account required. No template setup. No SDK. Just one curl command with a markdown NDA, and both parties get a signed, SHA-256 certified PDF delivered to their inbox.

Stopwatch at 30 seconds with NDA being sent at speed by a golden bee

The 30-second version

Here's the entire thing. Copy this, replace the names and emails, and run it in your terminal:

Terminal — one command, one NDA
curl -X POST https://signb.ee/api/v1/send \
  -H "Content-Type: application/json" \
  -d '{
    "markdown": "# Mutual Non-Disclosure Agreement\n\n**Effective Date:** March 26, 2026\n\n## Parties\n\n- **Disclosing Party:** Alice Smith (alice@startup.com)\n- **Receiving Party:** Bob Johnson (bob@acme.com)\n\n## Purpose\n\nThe parties wish to explore a potential business relationship (the \"Purpose\") and may need to share confidential information.\n\n## Confidential Information\n\n\"Confidential Information\" means any non-public information disclosed by either party, including but not limited to: business plans, customer data, financial information, technical specifications, trade secrets, and proprietary software.\n\n## Obligations\n\n1. The Receiving Party shall hold all Confidential Information in strict confidence\n2. The Receiving Party shall not disclose Confidential Information to any third party without prior written consent\n3. The Receiving Party shall use Confidential Information solely for the Purpose\n4. The Receiving Party shall protect Confidential Information with the same degree of care used for its own confidential information\n\n## Exclusions\n\nConfidential Information does not include information that:\n- Is or becomes publicly available through no fault of the Receiving Party\n- Was known to the Receiving Party prior to disclosure\n- Is independently developed without use of Confidential Information\n- Is disclosed with the written approval of the Disclosing Party\n\n## Term\n\nThis Agreement shall remain in effect for **two (2) years** from the Effective Date.\n\n## Governing Law\n\nThis Agreement shall be governed by the laws of England and Wales.\n\n## Signatures\n\n_________________________\nAlice Smith\n\n_________________________\nBob Johnson",
    "sender_name": "Alice Smith",
    "sender_email": "alice@startup.com",
    "recipient_name": "Bob Johnson",
    "recipient_email": "bob@acme.com",
    "title": "Mutual NDA — Alice Smith & Bob Johnson"
  }'

That's it. Both parties receive an email with a signing link. The final signed PDF includes a SHA-256 certificate. Done.

What just happened

When you ran that curl command, Signbee did the following in under two seconds:

  1. Parsed the markdown and converted it to a clean, formatted PDF
  2. Created a document record with a unique ID and 7-day expiry
  3. Sent a verification email to the sender (Alice) with a 6-digit OTP
  4. Queued the recipient email — once Alice verifies, Bob gets his signing link

The response looks like this:

API Response
{
  "document_id": "cmm7x2k3j0001...",
  "status": "pending_sender",
  "message": "Verification email sent to alice@startup.com. Complete setup to send the document."
}

Want instant sending? Add an API key:-H "Authorization: Bearer sb_live_..."— skips sender verification entirely. Get your key at signb.ee/dashboard.

The NDA template, explained

The markdown NDA above is a proper mutual non-disclosure agreement. Let's break down each section so you can customise it:

Parties: Both sides are named. In a mutual NDA, both parties are simultaneously “Disclosing” and “Receiving” — meaning both sides agree to keep each other's information confidential.

Purpose: Why you're sharing information. Keep this broad enough to cover the relationship but specific enough to be meaningful. “Potential business relationship” works for most freelance and startup scenarios.

Confidential Information: What counts as confidential. The standard clause covers business plans, customer data, financials, technical specs, and trade secrets. Add or remove categories as needed.

Obligations: What the receiving party must do — keep it confidential, don't share it, only use it for the stated purpose, and protect it properly.

Exclusions: What doesn't count as confidential — public information, things you already knew, independently developed work. These are standard carve-outs that protect both sides from unreasonable claims.

Term: How long the NDA lasts. Two years is standard for most business relationships. Adjust to one year for shorter engagements or three to five years for sensitive IP.

Governing Law: Which jurisdiction's laws apply. Change this to match your location — “the State of California”, “the State of New York”, etc.

Doing the same thing in JavaScript

If you're integrating this into an app, here's the same call in JavaScript:

send-nda.js
const response = await fetch("https://signb.ee/api/v1/send", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer sb_live_your_api_key"
  },
  body: JSON.stringify({
    markdown: `# Mutual Non-Disclosure Agreement

**Effective Date:** ${new Date().toLocaleDateString()}

## Parties

- **Disclosing Party:** ${senderName} (${senderEmail})
- **Receiving Party:** ${recipientName} (${recipientEmail})

## Confidential Information

"Confidential Information" means any non-public information
disclosed by either party...

## Obligations

1. The Receiving Party shall hold all Confidential Information
   in strict confidence
2. The Receiving Party shall not disclose to third parties
3. The Receiving Party shall use solely for the Purpose

## Term

This Agreement remains in effect for **two (2) years**.

## Governing Law

This Agreement is governed by the laws of England and Wales.`,
    sender_name: senderName,
    sender_email: senderEmail,
    recipient_name: recipientName,
    recipient_email: recipientEmail,
    title: `Mutual NDA — ${senderName} & ${recipientName}`
  })
});

const { document_id, status } = await response.json();
console.log(`NDA sent: ${document_id} (${status})`);

Doing the same thing via AI

If you have the Signbee MCP server installed in Claude, Cursor, or Windsurf, you can skip all of this and just type:

“Send a mutual NDA between me (alice@startup.com) and Bob Johnson at bob@acme.com. Two year term, governed by English law.”

The AI drafts the NDA, calls the API, and both parties receive signing emails. One sentence. Same result.

Common modifications

One-way NDA: Change the heading to “Non-Disclosure Agreement” and make the obligations one-directional — only the receiving party has obligations, not the disclosing party.

Add penalties: Include a clause like “The Receiving Party acknowledges that breach may cause irreparable harm entitling the Disclosing Party to injunctive relief.”

Non-solicitation: Add “Neither party shall solicit or hire the other party's employees during the term and for 12 months after termination.”

Return of materials: Add “Upon termination, the Receiving Party shall return or destroy all Confidential Information within 30 days.”

When not to use this

This NDA is suitable for most freelance engagements, startup partnerships, vendor relationships, and exploratory business conversations. It's a standard mutual NDA that any business lawyer would recognise.

For regulated industries (healthcare, defence, financial services) or situations involving highly sensitive IP (patent-pending technology, merger negotiations), you should have a lawyer draft or review the NDA before sending. The API works the same way — just replace the markdown with your lawyer-approved version.

Send your first NDA in under a minute. Free tier, no credit card.