Tag
Promotional tweet offering a free API Design Playbook for 24 hours, covering fundamentals, clean design, patterns, and practical concepts.
RFC 10008 defines the HTTP QUERY method, a safe and idempotent request method that allows sending a query payload in the request body, bridging the gap between GET and POST for query operations.
The author built a Healthy Food MCP server and learned that agents perform better with many narrow, constrained tools rather than one flexible tool, emphasizing the need for a boring tool surface to reduce LLM hallucination.
The article presents a framework for interface design where every interface has two channels (in-band and out-of-band) for concern signaling, arguing that good design forces users to confront important concerns rather than allowing them to ignore them.
A discussion on API versioning practices, questioning the coupling of URL paths (e.g., /v1/) with semantic versioning and exploring potential antipatterns.
A blog post proposing a redesign of the System.Diagnostics.Process class in .NET to separate properties valid only for started processes into a new class, aiming to reduce API confusion.
This article from The Old New Thing explains the concept of making APIs 'inert'—do nothing in a way that avoids breaking existing apps—using examples like printing support on Xbox and retiring widget APIs.
The AEP Project provides API design specifications and tooling for protobuf and HTTP REST APIs, hosted on GitHub.
The author discusses the architectural challenge of designing both MCP and CLI interfaces, weighing the benefits of mirroring capabilities versus leveraging the unique strengths of each (composability for CLI, safety/auditability for MCP).
The article discusses the complexities of implementing idempotency in APIs, arguing that handling edge cases like concurrent requests and content mismatches is harder than simple replay caching.
The article examines the pitfalls of altering API behavior depending on the linked SDK version, using Windows' CoInitializeSecurity as a case study. It discusses issues with DLL version mismatches and tail call optimization that complicate this approach.