Pinned
Bruno Pedro
Bruno Pedro
@brunopedro.com
Building an API Product: Design, implement, release, and maintain API products that meet user needs: https://a.co/d/dE6pQpK Opinions expressed are solely my own and do not express the views or opinions of my employer.
7.1K followers0 following1.1K posts
AX, or agentic experience, is the measure of how easily an AI agent can understand and use an API. If your API offers a good AX, AI agents will be able to find it and use it easily. You'll get more users and, even better, more repeated usage. apichangelog.substack.com/p/why-ax-is-...
Tackling a bunch of security-related alerts on the swagger-ui diff highlight plugin. github.com/InditexTech/...
Forget all you learned about developer experience. Now, API design is not just about helping people build integrations. Now what matters the most is making sure that AI agents have as smooth an experience as possible. apichangelog.substack.com/p/moving-bey...
Bruno Pedro reposted
Bruno Pedro reposted
User journeys usually start with one or more requests to a REST API followed by events. You think in terms of capabilities, not protocols. Why do we document synchronous and event-driven APIs separately? apichangelog.substack.com/p/api-consum...
User journeys usually start with one or more requests to a REST API followed by events. You think in terms of capabilities, not protocols. Why do we document synchronous and event-driven APIs separately? apichangelog.substack.com/p/api-consum...
Bruno Pedro reposted
This is Pele, my new rendering library for diagrams and charts, compatible with the latest Mermaid syntax. - 100-500× faster than mermaid.js - 6× smaller bundle - No dependencies - Easy to theme - Responsive to device width - Open source (MIT) Try it at pele.run
Bruno Pedro reposted
Bruno Pedro reposted
New and #OpenAccess: "[Machine Voices] is a wide-ranging tour of the machinic voicescape, and Edward Kang is an expert guide, taking us behind the facades of computers that listen and unsettling what ‘listening’ and ‘talking’ even mean." — @nickseaver.website mitpress.mit.edu/978026205472...
What is the unit of value in APIs? If you were to create an API marketplace, what would you target as the unit of value? Ultimately, consumers want the capabilities provided by the APIs, not the APIs themselves. notes.brunopedro.com/2023/06/09/2...
Are you using swagger-ui to render your OpenAPI description? You might be interested in something I've been building that shows API diffs inline: github.com/InditexTech/...
Reading isn’t enough when you want to learn something new. To actually learn how to do something, you need to try it. Perhaps you’ll fail a few times, but that’s all part of the learning process. apichangelog.substack.com/p/interactiv...
Sooner or later, every change you introduce to your API will break the integration with at least one consumer. The interface stops being the interface. Hyrum goes further and says the "interface has evaporated." apichangelog.substack.com/p/governing-...
Bruno Pedro reposted
Friends in San Francisco: Join me at @longnow.org on October 22 for a conversation on interdependence with @baratunde.com. We'll explore cooperation as the core governing principle of nature and synthetic minds, why intelligence is inherently collective, and what this means for our shared future.
How do we co-create a future with tech that actually serves humanity and the planet? On Oct 22, join @baratunde.com and @blaiseaguera.bsky.social for "On Interdependence": a 10,000-year look at civic action, Indigenous wisdom, and human survival. Tickets: longnow.org/talks/02026-...
Bruno Pedro reposted
Creating a new OpenAPI extension is as easy as starting a property name with the x- string. But what happens when two or more extensions pick the same property name? apichangelog.substack.com/p/the-openap...
Bruno Pedro reposted
The challenge with agentic workflows and stateless APIs is related to the need to handle user input as a response to a request. The solution seems to be doing “multi round-trip requests” using something called InputRequiredResult. apichangelog.substack.com/p/designing-...
Should agents generate integration code once or let AI figure out how to consume APIs whenever they need to? These two choices are, in fact, a false dichotomy. apichangelog.substack.com/p/the-archit...
Creating a new OpenAPI extension is as easy as starting a property name with the x- string. But what happens when two or more extensions pick the same property name? apichangelog.substack.com/p/the-openap...
Is feature A sending a command to feature D, or is it simply sharing information about something that happened? brunopedro.com/2022/10/19/e...
More than half of large companies now manage more than 1,000 APIs. If each API has, on average, 10 operations, you end up with an inventory that is almost impossible to manage. apichangelog.substack.com/p/moving-fro...
Bruno Pedro reposted
A couple of months ago Jim Highsmith explained how practitioners writing for each other forms a distinct style of writing. He now adds a section to the article with more detail on the craft of how we write in this style. martinfowler.com/articles/pra...
Bruno Pedro reposted
After notebooks 1.0 (2018–), we got inspired by @stephango.com’s 2023 stephango.com/file-over-app, leading to Framework (2023) and then Notebook Kit (2025), upon which we rewrote the site. Still stitching it together: you can now download your notebooks and open them in the desktop app.
"Practitioner authority comes from having been responsible for an outcome, not studying it." notes.brunopedro.com/2026/10/13/2...
What is the relationship between API Governance and quality? The best approach to managing API Governance is not to ask people to follow rules blindly. Instead, it’s better to start from the end goal of having the best possible API quality. brunopedro.com/2024/05/25/a...
In 2024, part of my work included designing new operations, data types, and attributes for query languages. I went over more than 4,000 API definitions to understand how people name their operations. apichangelog.substack.com/p/the-hard-t...
OpenAPI 3.1 was released in 2021, five years ago. OpenAPI 3.2 was released last year. Shouldn’t we have already upgraded our tools to support it? Yes and no. brunopedro.com/2025/03/07/m...
Not all API operations should be available to all consumers. Let’s see how you can use OpenAPI Overlays to create different API definitions for different types of users. brunopedro.com/2024/08/24/u...
OpenLint, Speccy, Spectral, Vacuum, Zally, you name it. There are plenty of linters and API description validators out there. While being able to enforce rules programmatically is fine, that is not what API Governance is about. At least, that's not all. brunopedro.com/2025/02/26/a...
Once a month, we invite a guest who comments on the previous month’s news. And this time, we’re happy to have Erik Wilde here with us. apichangelog.substack.com/p/2026-42
Bruno Pedro reposted
Cory Doctorow @doctorow.pluralistic.net writes on increasing enshittification, Steven King's The Dark Tower books, defining "conservative," virtual bureaucracy, and what we can all do about the reality that things, as a whole, are getting worse.
MCP is becoming the standard way of consuming APIs. Well, not just APIs, to be fair. It can connect AI agents to anything, from databases to home devices like lamps and switches. apichangelog.substack.com/p/fixing-the...
"What if you could use the Web as a whole as a data storage object? What if you could write simple applications that would simply live on the Web and feed from the Web?" It's already been 20 years since I published this. Where are we now? brunopedro.com/2006/10/22/u...
API governance is a service. It feels like service blueprints can be an interesting way to document API governance processes, so I'm giving it a try. apichangelog.substack.com/p/documentin...
"Generating an MCP server from an OpenAPI document without writing everything twice is useful plumbing," said Erik Wilde (@dret.bsky.social) in this month's API Changelog News edition. See this and other great commentary by Erik: apichangelog.substack.com/p/2026-42
"The promise of an AI assistant seems to fade with OpenAI’s approach to custom GPTs," I wrote in 2024. The missing link between AI and APIs is implicit discovery based on intent. We weren't there yet in 2024, and we're still not 100% there today. apichangelog.substack.com/p/the-missin...
Bruno Pedro reposted
If there’s one thing I care about that’s not climate related it’s making APIs you won’t hate, and the first step to guarding yourself from an increasingly sloppy world is getting a style guide automated. My babies Speccy & Spectral died. OpenLint is the answer. apisyouwonthate.com/blog/openlin...
Bruno Pedro reposted
It's practically impossible to programmatically find and use the APIs you're interested in. Unless, of course, there was a machine-readable way of advertising their locations. apichangelog.substack.com/p/automating...
Bruno Pedro reposted
In London? Like the web? Come along *this evening* from 7pm to Shoreditch where the lovely @londonwebstandards.org are hosting some of the prime movers shaking up mobile browser competition (also, me? weird). Tickets (free!) and details here: londonwebstandards.org/events/lws-o...