Developer Platform

Build with the
Draftory API

Create multi-party contracts, send signing links, and track signing progress — all from your own platform with a single API call.

Create a multi-party contract in seconds

# Create a multi-party contract curl -X POST https://api.draftory.ca/api/external/v2/contracts \ -H "x-api-key: dft_live_your_key" \ -H "Content-Type: application/json" \ -d '{ "parties": [ { "role": "seller", "legalName": "Jane Smith", "email": "jane@example.com" }, { "role": "buyer", "legalName": "John Doe", "email": "john@example.com" } ], "contractType": "nda", "content": "MUTUAL NON-DISCLOSURE AGREEMENT\n\n1. PARTIES\nParty A: Jane Smith\nParty B: John Doe\n\n2. TERMS\nBoth parties agree not to disclose confidential information.", "senderName": "Acme Corp" }'
// Create a multi-party contract const response = await fetch('https://api.draftory.ca/api/external/v2/contracts', { method: 'POST', headers: { 'x-api-key': 'dft_live_your_key', 'Content-Type': 'application/json' }, body: JSON.stringify({ parties: [ { role: 'seller', legalName: 'Jane Smith', email: 'jane@example.com' }, { role: 'buyer', legalName: 'John Doe', email: 'john@example.com' } ], contractType: 'nda', content: 'MUTUAL NON-DISCLOSURE AGREEMENT\n\n1. PARTIES\nParty A: Jane Smith\nParty B: John Doe\n\n2. TERMS\nBoth parties agree not to disclose confidential information.', senderName: 'Acme Corp' }) }); const data = await response.json(); console.log(data.contract.shareUrl);
# Create a multi-party contract import requests response = requests.post( 'https://api.draftory.ca/api/external/v2/contracts', headers={ 'x-api-key': 'dft_live_your_key', 'Content-Type': 'application/json' }, json={ 'parties': [ {'role': 'seller', 'legalName': 'Jane Smith', 'email': 'jane@example.com'}, {'role': 'buyer', 'legalName': 'John Doe', 'email': 'john@example.com'} ], 'contractType': 'nda', 'content': 'MUTUAL NON-DISCLOSURE AGREEMENT\n\n1. PARTIES\nParty A: Jane Smith\nParty B: John Doe\n\n2. TERMS\nBoth parties agree not to disclose confidential information.', 'senderName': 'Acme Corp' } ) data = response.json() print(data['contract']['shareUrl'])

Three steps to automate contracts

1

Authenticate

Get your API key from the Draftory dashboard and include it in every request.

2

Create

POST a contract with multiple parties, type, and content. We send signing emails automatically.

3

Track

Monitor signing progress via polling. Know exactly which parties have signed and which are pending.

Everything you need to integrate