Tuti's REST API lets your own code read and change a project's feedback, docs, changelog, inbox and users. AI assistants that speak MCP can use the same operations as tools. Both work on every plan, with an API key that owners and admins create.
Create an API key
Open Settings โ Developers.
Under API keys, give the key a name that says what it's for, such as "Zapier" or "CRM sync" (up to 60 characters).
Choose Read only or Read and write.
Choose Create key.

Copy the key straight away with Copy key: it's shown only once. Keys start with tuti_. The card also shows a curl line you can run to try it. Keep the key on your server, never in a browser or an app you ship.
Each key in the list shows its first characters, when it was created and when it was last used. Revoke stops a key at once; anything using it stops working, and it can't be undone. A project can have up to 25 keys.
A key works for one project. What it writes, such as a comment, comes from the person who created it, unless you post on behalf of one of your users (see the API reference).
Call the REST API
Send requests to https://tuti.so/api/v1, with the key in the Authorization header:
curl https://tuti.so/api/v1/posts -H "Authorization: Bearer $TUTI_API_KEY"The API reference lists every endpoint, with what it takes and returns. It's also available as an OpenAPI file at
https://tuti.so/api/v1/openapi.json.A Read only key can use the
GETendpoints. Anything that changes data needs a Read and write key.Each key can make 600 requests a minute. Past that, Tuti answers
429with aRetry-Afterheader.Errors come back as
{ "error": { "code", "message" } }.
Connect an AI assistant with MCP
Every endpoint is also a tool on Tuti's MCP server, so an assistant can search, triage and answer your feedback. Add it as a remote MCP server at https://tuti.so/mcp, with your key in the same header. In Claude Code:
claude mcp add --transport http tuti https://tuti.so/mcp --header "Authorization: Bearer $TUTI_API_KEY"With a Read only key, the assistant gets only the tools that read.
Get all your data
The API returns everything your team can see, as JSON, drafts included. That's how you take a copy of your project, for a backup or to move it. A Read only key is enough.
To get | Call |
|---|---|
Posts |
|
Changelog entries |
|
Docs articles |
|
Docs collections |
|
Conversations |
|
Users |
|
Lists come a page at a time: when there's more, the answer has a nextCursor; pass it back as cursor to get the next page. Posts merged into another post aren't in the posts list, and closed conversations older than your plan's inbox history aren't returned (see Plans and what each includes). The API reference has every other list, such as boards, companies and tabs.
You can also ask an assistant connected over MCP to fetch it all for you, for example "save every published and draft article in this project as Markdown files".
To hear about changes as they happen instead, see Get webhooks when things happen.

