

An Exploration of APIs, Versioning, & HTTP
11 snips Mar 10, 2025
Jamie Tanna, a Senior Software Engineer at Elastic and co-maintainer of the OpenAPI2Go code generator, joins the conversation to dive deep into the world of APIs. He discusses the critical aspects of API design and the often-overlooked intricacies of versioning, including how to communicate breaking changes effectively. The role of documentation is emphasized, with Tanna advocating for a strategic approach to clarity and user experience. They also explore the complexity of HTTP status codes and the ongoing debate between XML and JSON in API interactions.
AI Snips
Chapters
Transcript
Episode notes
Breaking Changes
- A breaking change happens when required fields become optional or removed.
- Changes in backend behavior, even if undocumented, are breaking changes.
Windows Compatibility
- Raymond Chen's blog, The Old New Thing, details Windows' efforts for backward compatibility.
- Windows maintains compatibility with very old software, showing the challenge for API developers.
API Contracts
- Use explicit contracts with time limits for API usage.
- Renegotiate contracts or charge for continued use of deprecated endpoints.