I gave my newsletter an API


Hey Reader,

For ten years my job was APIs. I created AsyncAPI, I ran engineering at Postman, I wrote a book about getting event-driven architecture adopted. Then I started building a newsletter platform and told myself it would be a break from all that.

It wasn’t.

One of the first people to pay for Commune runs his whole newsletter workflow from Claude. On our first call he told me he’d keep nagging until Commune had an MCP server. He kept his word.

So I built one. And an API under it. And a developer portal on top: usecommune.dev.

What it looks like

Later today, Commune’s own newsletter goes out. I wrote it in Markdown, in my code editor, next to my code. Then I told Claude Code to send it. It created the issue through Commune’s MCP server, sent me a test, waited for my OK, and scheduled it. I recorded the whole thing:

​

It works the other way too. You can ask your newsletter questions and get answers from your real subscriber data. Here’s a prompt to spot readers going quiet before they unsubscribe:

“Find readers I’m about to lose. For each one, give their email, what they stopped doing and when they were last active. Strongest first, top twenty. Then tell me who from last week is no longer on the list.”

Two more worth trying:

  • “Read what readers said about my last three issues: replies, highlights and conversations. Suggest three topics for my next issue, quote the passage behind each, and say how many readers raised it.”
  • “Find my superfans. Mark who’s new this week and who’s cooling off.”

For the API nerds

  • Versioned by date in a header (Commune-Version), so your integration doesn’t break when I ship.
  • Idempotency keys on every write. Retry safely and you get the first response back.
  • Three separate rate-limit budgets (general, audience, write), each reported in the headers.
  • 60 operations and 23 webhooks, all in a published OpenAPI document, plus llms.txt so your agent can read the docs itself.
  • MCP tools named as questions (who_is_drifting_away, find_superfans) instead of one tool per endpoint.

Why bother

Most newsletter platforms treat your audience as theirs. Substack has no API at all. If you can’t get your data out or automate around it, you’re renting. Commune is the opposite bet: everything you can click, your code can call.

One honest caveat. Publishing and sending through the API only works for newsletters that send with Commune.

Try it

  1. Point your agent at https://api.usecommune.com/mcp and approve the consent screen. In Claude Code that’s one line: claude mcp add –transport http commune https://api.usecommune.com/mcp
  2. Or grab an API key in Commune’s settings and follow the quickstart at usecommune.dev.

And if you build something on it, hit reply. I want to see it.

Cheers ✌️
Fran


Pst! I see you're not on Commune yet. Click here to join us!​

Av. Joaquín Costa, 16, Badajoz, Badajoz 06001
​Unsubscribe · Preferences​

Fran Méndez

Hey hey! I'm Fran, the creator of the AsyncAPI specification (the industry standard for defining asynchronous APIs). Subscribe to my newsletter —The Weekly Shift— where I share expert advice about building Event-Driven Architecture and share my journey writing my first book, Shift: The Playbook for Event-Driven Architecture Advocacy.

Read more from Fran Méndez

At API World 2017 in San Jose, California The best engineers I've ever worked with were all convinced they were the worst one in the room. I know, because I was one of them, and years later I asked around. When I moved from Badajoz to Barcelona, I landed at a company full of people I was sure were smarter than me. Then a startup founded by the people who'd go on to build Factorial, and I felt even smaller. Then New Relic, with engineers flying in from Silicon Valley, and I was certain I was...

A man staring at his laptop in a dark room.

Every time I talk to an engineer who’s thought about starting a newsletter or a blog, this is the sentence that comes up. Sometimes it’s framed as a question: “what would I even write about?” Sometimes it’s a confession: “I want to but I don’t have anything to say.” Sometimes it’s a defensive joke: “haha, who would even read it?” The mechanics are the same underneath. The engineer in question has decided their work isn’t interesting enough, their experience isn’t unique enough, their thoughts...

A picture of a captivated woman in the middle of an audience.

I’ve been writing a newsletter for about three years. But that number is misleading. I started it eight years ago, sent maybe seven or eight issues, then went quiet. The newsletter eventually became the official AsyncAPI newsletter and other people maintained it for years, sending monthly updates while I worked on the spec itself. Last year I split off my own version to write what I wanted to write. That’s the part that’s been running consistently. About one year of real, regular writing. The...