Connect NeedToKnow to your own tools.
A workspace API key reads the register two ways. An AI assistant reads it over MCP; your own code reads it over HTTPS. Either way it reads, logs what it opened, and changes no date.
One key per workspace
A workspace administrator creates a key under Workspace settings → API keys. It is shown once; revoke it there and make a new one rather than keep a key you are unsure of.
It reads as the person who made it
A key sees the agreements its maker may see, folder by folder, and nothing else. When that person leaves the workspace, the key stops working.
Every read is written down
An agreement the key opens or asks about, and every file it fetches, shows in the workspace's read log under the key's name.
An AI assistant, over MCP
Point any MCP client at the workspace's door with the key as a bearer token. The door comes with every plan, Free too; asking an agreement's text needs the plan Ask needs. A key made for another product by connecting the two cannot open it.
{
"mcpServers": {
"needtoknow": {
"type": "http",
"url": "https://www.needtoknow.app/mcp",
"headers": {
"Authorization": "Bearer sk_…"
}
}
}
}| list_agreements | Every agreement the key may read, with the dates and terms you ask for, each with its trust state. |
| find_agreements | Finds agreements by title, counterparty or words in their files. |
| open_agreement | One agreement's dates, terms, open deadlines and who answers for it, with the page where a person acts on it. |
| upcoming_deadlines | The deadlines that send notifications between two dates; the next 90 days if none are given. |
| ask_agreement | What one agreement's own text says, quoted with document and page, or that it does not say. Uses the workspace's month of reading and is recorded on the agreement. |
No tool changes a date, a term or a deadline. A person confirms them in NeedToKnow.
Your own code, over HTTPS
The same key, sent as a bearer token, reads these lines. They are what a paired product such as DPAregister reads; poll them, nothing is pushed.
| GET /api/ntk/agreements | The workspace's signed data processing agreements, each with its counterparty, its dates and their trust states, and its files. |
| GET /api/ntk/documents/:id/file | A file of one of those agreements, or of a paper the key sent, as it was uploaded. |
| POST /api/ntk/papers · GET /api/ntk/papers | Send a paper once under your own reference, and read its pointer back by that reference. |
| GET /api/ntk/books | What the workspace's accounting connection holds, for a paired product. |
curl -s "https://www.needtoknow.app/api/ntk/agreements" -H "Authorization: Bearer $NTK_API_KEY"Read the trust state
Every date and term carries one. confirmed, corrected and manual are a person's answer. extracted and stale are a suggestion, and an answer built on one should say so. NeedToKnow sends no notification from a suggestion, and neither should anything you build.