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

  1. Open Settings โ†’ Developers.

  2. Under API keys, give the key a name that says what it's for, such as "Zapier" or "CRM sync" (up to 60 characters).

  3. Choose Read only or Read and write.

  4. Choose Create key.

The API keys card right after creating a key: the key with Copy key, a curl line to try it, and three keys listed

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 GET endpoints. Anything that changes data needs a Read and write key.

  • Each key can make 600 requests a minute. Past that, Tuti answers 429 with a Retry-After header.

  • 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

GET /posts, and GET /posts/{number}/comments for each post's comments

Changelog entries

GET /changelog, and GET /changelog?status=draft for drafts

Docs articles

GET /articles, and ?status=draft or ?status=deleted for drafts and deleted ones

Docs collections

GET /collections

Conversations

GET /conversations, and GET /conversations/{number} for each one's messages

Users

GET /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.