First data room with a full API, CLI & MCP
Build virtual data rooms with code.
REST API. Native CLI. Model Context Protocol server. Type-safe SDKs. The developer reference for programmable data rooms. For humans and agents.
Three surfaces, one platform
Pick the integration shape that fits your runtime.
The REST API is the canonical surface. The CLI wraps it for shell pipelines. The MCP server wraps it for AI agents. Same auth, same scopes, same data model.
HTTP + JSON + bearer tokens
A deliberately boring REST surface. 43 operations across 6 resources. Stable contracts. S3 presigned URLs for uploads.
curl https://api.papermark.com/v1/datarooms \
-H "Authorization: Bearer $PAPERMARK_TOKEN"Read the rest api guide
npm install -g papermark
Scripted workflows and CI. JSON output. Dry-run mode. Built for cron jobs, GitHub Actions, and local exploration.
papermark datarooms create --name "Q4 Investors" \
--json | jq -r '.data.id'Read the cli guide
Agent-native control
Drop @papermark/mcp-server into Claude Desktop or any MCP host. 43 tools. Real API calls. No mocks.
npx -y @papermark/mcp-server
# Authenticated via PAPERMARK_TOKENRead the mcp server guide
Why this exists
Data rooms have been point-and-click for 30 years.
Every other developer surface. Payments, email, infrastructure, search. Went programmable. Data rooms didn't. We're fixing that.
Programmable by default
Create a dataroom, attach documents, mint signed links, and pull analytics. All from code. No drag-and-drop. No human-in-the-loop required.
Agent-ready
Built for Claude, ChatGPT, and the agent stack. MCP server ships 43 tools. Auth scopes constrain what agents can do.
Auth that scales
Dashboard tokens for CI you own. OAuth 2.1 device flow with PKCE for tools you ship. Scopes restrict per-token blast radius.
Open source core
Powered by Papermark. The open-source dataroom platform. Self-host the engine, or use the hosted API. Your choice.
60-second tour
From token to shared dataroom in five calls.
One curl creates the room. One uploads a doc. One mints a link. One pulls analytics. The fifth is optional.
export PAPERMARK_TOKEN=pm_live_…
curl https://api.papermark.com/v1/me \
-H "Authorization: Bearer $PAPERMARK_TOKEN"curl -X POST https://api.papermark.com/v1/datarooms \
-H "Authorization: Bearer $PAPERMARK_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Series A. Acme"}'curl -X POST https://api.papermark.com/v1/datarooms/$ID/documents \
-H "Authorization: Bearer $PAPERMARK_TOKEN" \
-F "file=@deck.pdf"curl -X POST https://api.papermark.com/v1/links \
-H "Authorization: Bearer $PAPERMARK_TOKEN" \
-d '{"dataroom_id": "'$ID'", "password": "pelican-42"}'For agents
The data room your agent can actually drive.
dataroom.dev is written for two readers: developers and language models. Every page exposes machine-readable equivalents.
/llms.txt, concise site index for crawlers and agents/llms-full.txt, full content flattened to markdownJSON-LD, schema.org metadata on every pageOpenAPI, machine-readable API contractMCP, direct tool access for hostsrobots.txt, GPTBot, ClaudeBot, PerplexityBot all allowed
Start building
Get a token. Make a call. Ship in an afternoon.
Free tier on Papermark. Open source self-host available. Bring your own agent.