Introducing the Roomtone API
Roomtone records meetings and writes them up: a summary, the decisions, the action items, the full transcript underneath all of it. That data has been reachable by the iPhone app since the beginning — it now has a documented way in for anything else you want to build. One API key, the same REST endpoints the app itself calls, no approval process to wait on.
Getting a key
Open the Roomtone web app, go to Settings → API keys, and create one. It's shown exactly once, starts with ak_, and is stored on our side only as a SHA-256 hash — we can't read it back, and revoking it from that same page takes effect immediately.
curl https://meganotes-api.fly.dev/notebooks \
-H "Authorization: Bearer ak_..."What's in it
The same key authenticates every endpoint below — it's the identical auth path the app itself, the MCP server and the roomtone-mcp CLI tool all use, not a cut-down developer tier.
- GET /notebooks — every meeting in the account, newest first
- POST /notebooks — start a new meeting note
- GET /notebooks/{id} — one meeting: its sources and its generated write-up
- POST /notebooks/{id}/sources — add a source (a YouTube link or pasted text; audio itself only ever comes from the app)
- GET /notebooks/{id}/sources/{source_id}/transcript — the transcript behind one source
- POST /notebooks/{id}/generate — generate or regenerate the summary write-up
- POST /notebooks/{id}/chat — ask a question about one meeting, answered from its transcript
- GET /search?q= — full-text search across every transcript you have, with the matching snippet and where it is
- POST /chat — ask a question across your whole library at once, not just one meeting (Pro)
- GET /action_items — every action item across every meeting, in one list
- POST /action_items/{item_key}/done — check one off
One honest limit, named rather than left for you to discover: /search matches words in the transcript, not meaning — it's full-text search, not a semantic or vector search. If the exact word isn't in the transcript, it won't find it yet.
What you could build with it
This is the same data a person would otherwise copy out of the app by hand — a natural fit for anything that wants a meeting's outcome somewhere else: a CRM note logged automatically after a client call, a Slack message when a meeting's action items are ready, a weekly digest of everything decided across a team, a search bar over months of meetings that doesn't live inside the app at all. None of these are things we've built for you — they're what the API makes buildable.
What's not there yet
- No webhooks — nothing calls out to you when a meeting finishes; poll GET /notebooks/{id} instead
- No bulk export endpoint — one meeting at a time, for now
- No published rate limit — be reasonable, and email us if a real integration needs more than that
If you're building an AI agent rather than a traditional integration, the same key also unlocks the Roomtone MCP server — seven tools an agent can call directly, covering most of the same ground as the endpoints above. More on that in the next two posts.
Full endpoint list and auth details live on the new developers page.