Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Robustness (Design)

Require that APIs are designed for robustness on both sides of the wire, being conservative in what they send and tolerant in what they accept, so that small variations do not cascade into outages. Every API must ignore unknown fields gracefully, avoid brittle assumptions about ordering or optional data, and be built to survive the messy reality of real-world clients. I lean on the robustness principle because it is what lets an API evolve without breaking the integrations built on top of it. Designing for tolerance is how we keep APIs interoperable across systems and how we manage change without punishing consumers for being slightly out of step.

Strategies

APIs Are Interoperable Across Systems

All APIs must prioritize interoperability by using standard media types, hypermedia link relations, and well-known specifications, enabling consumers to integrate multiple APIs together and reducin...

Breaking Changes Are Prevented or Carefully Managed

All changes to APIs must be evaluated for breaking impact before release, with breaking changes requiring explicit approval, version increments, migration guides, and proactive consumer communicati...

Experiences

Interoperability

Interoperability is the experience of APIs, systems, and data working together without heroic effort. It is built on shared standards, common schema, and predictable contracts that let one system t...

Reliability

If an API isn’t reliable, consumers will eventually look for alternatives. Reliability starts with the platform and infrastructure where the API is deployed, but it also depends heavily on the pace...

Stability

Stability is the experience of being able to depend on an API not breaking underneath you. It is built on thoughtful versioning, backward compatibility, clear change communication, and honoring com...

Lifecycle

design_services Design Design

Design is where the human experience of an API is won or lost. I work design-first, shaping the paths, schema, errors, and naming in the contract before development begins, so that consistency is b...