An Exploration of APIs, Versioning, & HTTP
There are Web APIs everywhere, from the classic REST/HTTP, to GraphQL, to gRPC, we rely on them to get things done each and every day. But how much do we think about the design of these APIs? How do you document an API once you've created it? What even is versioning? Do we really understand HTTP? In this episode, Kris and the panel are joined by Jamie Tanna to discuss APIs, their design, how to document them, and more.
Want to hear us discuss APIs and how we design identifiers? Become a supporter and enjoy bonus content and higher quality audio today, and additional perks and benefits when we add them in the future.
Thanks for tuning in and happy listening!
Notes:
Want to hear us discuss APIs and how we design identifiers? Become a supporter and enjoy bonus content and higher quality audio today, and additional perks and benefits when we add them in the future.
Thanks for tuning in and happy listening!
Notes:
- Web API Versioning Is Insufficient (08:38)
- http.cat (50:03)
- Please Stop Saying "just" (01:12:01)
- jvt.me/elsewhere (01:13:17)
Table of Contents:
- Intro (00:00)
- Preface (01:13)
- Introducing Jamie Tanna (01:13)
- Prologue - APIs: The Leaky Kitchen Sink of Software (02:12)
- This chapter is supporter only content. Subscribe at https://fallthrough.fm/subscribe!
- Chapter 1 - Versioning & Breaking Changes (02:15)
- Chapter 2 - API: Annoying Perpetual Interface (08:32)
- APIs require planning (16:52)
- Chapter 3 - Documenting Designs (21:34)
- Interlude - Version 0 Forever! (44:00)
- Chapter 4 - An Exploration of HTTP (44:26)
- HTTP and it's Status Codes (44:26)
- Chapter 5 - Identifying Identifiers (57:42)
- How to choose identifiers (57:42)
- Appendix UNPOP - Unpopular Opinions (58:01)
- Epilogue (01:13:13)
- Where to find Jamie (01:13:13)
- Outro (01:13:27)
Socials:
- (00:00) - Intro
- (01:13) - Prologue
- (02:12) - Preface - APIs: The Leaky Kitchen Sink of Software (supporter only)
- (02:15) - Chapter 1 - Versioning & Breaking Changes
- (08:32) - Chapter 2 - API: Annoying Perpetual Interface
- (21:34) - Chapter 3 - Documenting Designs
- (44:26) - Chapter 4 - An Exploration of HTTP
- (57:42) - Chapter 5 - Identifying Identifiers (supporter only)
- (58:01) - Appendix UNPOP - Unpopular Opinions
- (01:13:13) - Epilogue
- (01:13:27) - Outro
Creators and Guests

Host
Matthew Sanabria
Matthew is an engineering leader focused on building reliable, scalable, and observable systems. Matthew is known for using his breadth and depth of experience to add value in minimal context situations and help great people become great engineers through mentoring. Matthew serves the Go community as a member of GoBridge. In his spare time, Matthew spends time with his family, helps grow his wife's chocolate business, works on home improvement projects, and reads technical resources to learn and tinker.

Guest
Jamie Tanna
Self-documenting Senior Software Engineer, Open Sourcerer, and collector of too many things to do
