Dealroom for developers
Make a contract in one call from your code or your AI agent, through the API or MCP, and read it in Dealroom.
Three steps
Get an API key
Sign in, open Settings, API keys and choose Create key. Copy the key: it starts with drk_ and is shown once.
Open Settings, API keysBuy credits
On the same page, choose Buy credits. Each contract made through the API or MCP spends one credit.
Make the call
Send the contract type and your details. The answer holds the contract and the links to read and download it.
The one call
With curl. Replace drk_YOUR_KEY with your key.
curl -X POST https://dealroom.todo.law/api/v1/agent/contracts \
-H "Authorization: Bearer drk_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"contractType": "NDA",
"governingLaw": "CALIFORNIA",
"language": "en",
"party": {
"legalName": "Your Company, Inc.",
"signatoryName": "Alex Smith",
"signatoryTitle": "CEO",
"email": "alex@yourcompany.example"
},
"counterparty": {
"legalName": "Other Company, LLC"
},
"inline": "md"
}'Fields
contractType- Required. The code (NDA) or the address of the contract's guide (nda). See Contract types below.
party- Required. Your side: legalName (required), address, jurisdiction (of incorporation), taxId, signatoryName, signatoryTitle, contact, email. Only what you send is written into the contract; the account e-mail never is.
counterparty- The other side, same fields. Left out, its block stays blank for them to complete.
governingLaw- CALIFORNIA, UNITED_STATES, ENGLAND_WALES, SPAIN or DELAWARE. Needed only when the contract is offered under more than one. Under UNITED_STATES, send the state in terms as us-state (for example New York).
language- en or es, where the contract is offered in both. Default en.
terms- Facts the contract asks for, by input id, such as a city or an amount. Inputs left out take their default.
clauses- Optional clause choices: clause id to option code. Clauses left out take the standard option.
role- DPA and BAA only: the role you take, such as PROCESSOR or CONTROLLER.
inline- md, html or txt: the contract itself in the answer. Through MCP the default is md.
title- A name for the deal. Made from the parties when left out.
Answer
{
"dealId": "cm9abc123",
"dealRoomId": "cm9def456",
"status": "AGREED",
"contractType": "NDA",
"governingLaw": "CALIFORNIA",
"language": "en",
"paid": "credit",
"dealUrl": "https://dealroom.todo.law/deals/cm9def456",
"documents": {
"pdf": "https://dealroom.todo.law/api/v1/agent/deals/cm9abc123/document",
"docx": "https://dealroom.todo.law/api/v1/agent/deals/cm9abc123/document/docx",
"txt": "https://dealroom.todo.law/api/v1/agent/deals/cm9abc123/document/txt",
"md": "https://dealroom.todo.law/api/v1/agent/deals/cm9abc123/document/md",
"html": "https://dealroom.todo.law/api/v1/agent/deals/cm9abc123/document/html"
},
"guide": "https://dealroom.todo.law/contracts/nda",
"document": {
"format": "md",
"content": "# Mutual Non-Disclosure Agreement\n\n## Parties\n..."
}
}Good to know
- With no credit left, the answer is HTTP 402 and nothing is created.
- When you retry, send the same Idempotency-Key header: the retry returns the first answer and is not charged again.
- Every format of a paid contract can be downloaded again for free.
- The dealUrl link opens for the person whose e-mail owns the API key, once signed in.
Connect an AI agent through MCP
The MCP server address. Your key goes in the Authorization header.
https://dealroom.todo.law/api/v1/agent/mcpSetup by client
Claude Code
Run this in a terminal.
claude mcp add --transport http dealroom https://dealroom.todo.law/api/v1/agent/mcp \
--header "Authorization: Bearer drk_YOUR_KEY"Claude Desktop
Claude Desktop reaches remote servers through the mcp-remote bridge, which needs Node.js. Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"dealroom": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://dealroom.todo.law/api/v1/agent/mcp",
"--header",
"Authorization:${DEALROOM_AUTH}"
],
"env": {
"DEALROOM_AUTH": "Bearer drk_YOUR_KEY"
}
}
}
}Cursor
Add this to ~/.cursor/mcp.json, or to .cursor/mcp.json in a project.
{
"mcpServers": {
"dealroom": {
"url": "https://dealroom.todo.law/api/v1/agent/mcp",
"headers": {
"Authorization": "Bearer drk_YOUR_KEY"
}
}
}
}VS Code
Add this to .vscode/mcp.json. VS Code asks for the key the first time and keeps it.
{
"inputs": [
{
"type": "promptString",
"id": "dealroom-key",
"description": "Dealroom API key",
"password": true
}
],
"servers": {
"dealroom": {
"type": "http",
"url": "https://dealroom.todo.law/api/v1/agent/mcp",
"headers": {
"Authorization": "Bearer ${input:dealroom-key}"
}
}
}
}Other clients
Most MCP clients accept this shape.
{
"mcpServers": {
"dealroom": {
"type": "http",
"url": "https://dealroom.todo.law/api/v1/agent/mcp",
"headers": {
"Authorization": "Bearer drk_YOUR_KEY"
}
}
}
}Tools
list_contract_types- Every contract type and the facts it needs, or one type with contractType. No key needed.
generate_contract- Make a contract in one call. Returns it as Markdown, with the links.
download_contract- One contract as Markdown, HTML, PDF, DOCX or TXT.
get_deal- A deal's clauses and status.
delete_deal- Delete one of your single-party deals and its data.
buy_credits- A payment link for a pack of credits, for a person to open.
get_credit_balance- Credits left on the account.
get_subscriptions- Earlier per-skill subscriptions and their status. Every template is now included.
list_templates, get_template- Clauses and options of each contract, and of the A2A_ agent-to-agent protocol types.
create_playbook, initiate_negotiation, join_negotiation- Negotiate a contract between two agents, including the A2A_ protocol types (negotiation only).
find_template- Describe the matter; get the matching templates, or "No template covers this. Such matters are usually handled by a lawyer." Matching by words, no AI model. No key needed.
explain_options- The options of one clause, with each side's pros and cons as the template states them. Nothing is recommended.
list_obligations- The duties and the dates a contract states: term, renewal, notice and date inputs.
get_deadlines- Public statutory dates (83(b), Form D, Delaware 1 March), each with its official source to verify. No key needed.
share_with_attorney- Invite any lawyer you choose to review a contract in Dealroom. The lawyer works for you and bills you directly; Dealroom takes no fee.
Contracts for AI agents
The contracts agents make most often, in order. Each link opens the contract's guide at its one-call example, filled in with its code and required inputs. Every other contract is under Contract types below.
| # | Contract | Code | Required inputs | One call |
|---|---|---|---|---|
| 1 | Non-disclosure agreement (NDA) | NDA |
| See the call |
| 2 | Data processing agreement (DPA) | DPA |
| See the call |
| 3 | Master services agreement (MSA) | MSA |
| See the call |
| 4 | SaaS subscription agreement | SAAS |
| See the call |
| 5 | Consulting agreement | CONSULTING |
| See the call |
| 6 | Employment agreement | EMPLOYMENT |
| See the call |
| 7 | IP assignment agreement | IP_ASSIGNMENT |
| See the call |
| 8 | SAFE (simple agreement for future equity) | SAFE |
| See the call |
| 9 | Convertible note | CONVERTIBLE_NOTE |
| See the call |
| 10 | Advisory agreement | ADVISORY |
| See the call |
| 11 | Privacy notice | PRIVACY_NOTICE |
| See the call |
REST API
Any language that can send HTTP requests works. All paths start with https://dealroom.todo.law.
| Method | Path | What it does | Key |
|---|---|---|---|
| GET | /api/v1/agent/contract-types | Contract types and the facts each needs | No |
| POST | /api/v1/agent/contracts | Make a contract in one call | Yes |
| GET | /api/v1/agent/deals/{dealId}/document/md | The contract as Markdown (also /html, /txt, /docx; PDF without suffix) | Yes |
| GET | /api/v1/agent/deals/{dealId} | A deal's clauses and status | Yes |
| DELETE | /api/v1/agent/deals/{dealId} | Delete one of your single-party deals and its data | Yes |
| GET | /api/v1/agent/credits/balance | Credits left | Yes |
| POST | /api/v1/agent/credits/checkout | A payment link for a pack of credits | Yes |
| GET | /api/v1/agent/templates/{code} | Clauses and options of one contract | Yes |
| POST | /api/v1/agent/negotiate | Start a negotiation between two agents | Yes |
| POST | /api/v1/agent/mcp | The MCP server | Yes |
| GET | /api/v1/agent/find-template?q=... | The templates that match a description | No |
| GET | /api/v1/agent/templates/{code}/options?clause=... | The options of one clause, from both sides | Yes |
| GET | /api/v1/agent/deals/{dealId}/obligations | The duties and dates of a contract | Yes |
| GET | /api/v1/agent/deadlines | Public statutory dates with their sources | No |
| POST | /api/v1/agent/deals/{dealId}/attorney | Invite your own lawyer to review | Yes |
Example
curl https://dealroom.todo.law/api/v1/agent/contract-types
curl -X POST https://dealroom.todo.law/api/v1/agent/contracts \
-H "Authorization: Bearer drk_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"contractType": "NDA",
"governingLaw": "CALIFORNIA",
"language": "en",
"party": {
"legalName": "Your Company, Inc.",
"signatoryName": "Alex Smith",
"signatoryTitle": "CEO",
"email": "alex@yourcompany.example"
},
"counterparty": {
"legalName": "Other Company, LLC"
},
"inline": "md"
}'Contract types
Every contract the one call can make, grouped as in the contract guides. Send the code as contractType. Send every required input in terms. A required input with a default can be left out: the default is applied.
| Contract | Code | Governing laws | Languages | Required inputs |
|---|---|---|---|---|
| Commercial and technology | ||||
| Joint Venture Agreement | JOINT_VENTURE | California, England and Wales, Spain | English, Spanish |
|
| Master Services Agreement | MSA | California, England and Wales, Spain, United States | English, Spanish |
|
| Non-Disclosure Agreement | NDA | California, England and Wales, Spain, United States | English, Spanish |
|
| SaaS Subscription Agreement | SAAS | California, England and Wales, Spain, United States | English, Spanish |
|
| Software Development Agreement | SOFTWARE_DEVELOPMENT | California, England and Wales, Spain, United States | English, Spanish |
|
| Technology License Agreement | TECHNOLOGY_LICENSE | California, England and Wales, Spain | English, Spanish |
|
| Data protection and privacy | ||||
| Business Associate Agreement (HIPAA) | BAA_NEGOTIATOR | California | English |
|
| Data Licensing Agreement | DATA_LICENSING | California, England and Wales, Spain | English, Spanish |
|
| Data Processing Agreement | DPA | California, England and Wales, Spain | English, Spanish |
|
| Privacy Notice | PRIVACY_NOTICE | California, England and Wales, Spain | English, Spanish |
|
| Team and services | ||||
| Advisory Agreement | ADVISORY | California, England and Wales, Spain | English, Spanish |
|
| Consulting Agreement | CONSULTING | California, England and Wales, United States | English, Spanish |
|
| Employment Agreement | EMPLOYMENT | California, England and Wales | English, Spanish |
|
| Employment Contract (Contrato Laboral) | CONTRATO_LABORAL | Spain | Spanish, English |
|
| IP Assignment (Cesión de PI) | CESION_PI | Spain | Spanish, English | None |
| IP Assignment Agreement | IP_ASSIGNMENT | California, England and Wales, Spain, United States | English, Spanish |
|
| Service Agreement (Contrato de Servicios) | CONTRATO_SERVICIOS | Spain | Spanish, English |
|
| Startups and investment | ||||
| Certificate of Incorporation (Delaware C-Corp) | DELAWARE_CERT_OF_INCORPORATION | Delaware | English |
|
| Convertible Note | CONVERTIBLE_NOTE | California, England and Wales, Spain | English, Spanish |
|
| Equity Incentive Plan | EQUITY_INCENTIVE | California, England and Wales, Spain | English, Spanish |
|
| Founders Agreement | FOUNDERS | California, England and Wales, Spain, United States | English, Spanish |
|
| SAFE Agreement | SAFE | California, England and Wales, Spain, United States | English, Spanish |
|
| Seed Investment Agreement | SEED_INVESTMENT | California, England and Wales, Spain | English, Spanish |
|
| Shareholders Agreement | SHAREHOLDERS | California, England and Wales | English, Spanish |
|
| Shareholders' Agreement (Pacto de Socios) | PACTO_SOCIOS | Spain | Spanish, English | None |
| Term Sheet | TERM_SHEET | California, England and Wales, Spain, United States | English, Spanish |
|
| Marketing and distribution | ||||
| Advertising Insertion Order | ADVERTISING_IO | California, England and Wales, Spain | English, Spanish |
|
| Affiliate / Referral Program Agreement | AFFILIATE_PROGRAM | California, England and Wales, Spain | English, Spanish |
|
| Influencer Marketing Agreement | INFLUENCER_MARKETING | California, England and Wales, Spain | English, Spanish |
|
| White-Label / Reseller Agreement | WHITE_LABEL_RESELLER | California, England and Wales, Spain | English, Spanish | None |
| Spanish company law | ||||
| Acta de Consejo de Administración | ACTA_CONSEJO_ADMINISTRACION | Spain | Spanish |
|
| Acta de Junta General | ACTA_JUNTA_GENERAL | Spain | Spanish |
|
| Asignación Individual de Phantom Shares | PHANTOM_SHARES_GRANT | Spain | Spanish |
|
| Marco de Phantom Shares | PHANTOM_SHARES_PLAN | Spain | Spanish |
|
| Property | ||||
| Assured Periodic Tenancy Agreement | RESIDENTIAL_TENANCY_GB | England and Wales | English |
|
| California Residential Lease Agreement | RESIDENTIAL_TENANCY_US_CA | California | English |
|
| Contrato de Arrendamiento de Vivienda | RESIDENTIAL_TENANCY_ES | Spain | Spanish |
|
Formats
One contract, five formats, all from the same text. A paid contract can be downloaded in every format at no extra cost.
| Format | Media type | Best for | How to get it |
|---|---|---|---|
| Markdown | text/markdown | AI agents and tools that read text | inline: "md", or /document/md |
| HTML | text/html | Web pages, previews and screen readers; one file, no outside assets | inline: "html", or /document/html |
| Text | text/plain | Plain text systems | inline: "txt", or /document/txt |
application/pdf | Reading and printing | /document | |
| DOCX | Word document | Editing in a word processor | /document/docx |
Price
Drafting and negotiating are free. Each contract costs $29, the same on the website, through the API or through MCP.
Agents pay with prepaid credits, one credit per contract. Credits are sold in packs of 10: $217.50 a pack.
For machines
- This page as Markdown
/developers.md - Contract types and the facts each one needs (JSON)
/api/v1/agent/contract-types - MCP tools with their REST endpoints (JSON)
/api/v1/agent/mcp - Agent card
/.well-known/agent.json - MCP server card
/.well-known/mcp/server-card.json - MCP discovery
/.well-known/mcp.json - Summary for AI models
/llms.txt - Every contract type with its code and inputs, for AI models
/llms-full.txt