Surviving Other People's APIs

Designing the worlds most beautiful API is only half the story, somebody needs to interact with it!

API Developers focus so much on designing and building their APIs, yet often we seem to forget the folks on the other end of the line. You, the frontend and backend developers trying to integrate our data and functionality into your own work, often get left with junky docs, or are just assumed to know how things are going to work.

About the book

Frontend engineers work magic. They deal with all sorts of awful browser stuff, and have to deal with all sorts of ginormously complex problems. Most of those problems seem to be browser compatibility and Webpack, but there's a lot of documentation around how most of these things work. One area where frontend engineers are often left entirely in the dark? Interacting with APIs.

Following the success of Build APIs You Won’t Hate, this book will take a non-academic, easy-to-read approach to some pretty complex topics around HTTP interactions, versioning, client-caching, state management, differences between how you interact with RPC, REST and GraphQL, using JSON Schema for local validation, and all sorts of other awesome stuff that nobody ever bothered to mention.

This book is aimed at frontend engineers (web, mobile, whatever) and backend engineers that find themselves talking to other APIs a lot, which is probably most of us these days.

About Phil Sturgeon

Since 2010 I've worked as a freelancer, consultant, Head of API, and CTO, for several API-centric technology startups.

Previously at Ride, I was given me the chance to work with amazing developers, including several Rails API contributors. We built an event-driven architecture with several REST APIs and a few RPC ones, and it was here I learned the benefits of REST being a state machine over HTTP.

Now at WeWork, I am using my experience to help educate developers, define standards for API design and architecture, and work on open-source tooling for OpenAPI, JSON Schema, and HTTP. WeWork has 50+ APIs, and here I have had a chance to learn a lot about keeping distributed applications performant. Tmeouts, retries, circuit breakers, keep alive settings, and HTTP caching specificially.

I try to turn all of this learning into books, videos, and articles, so others can learn easily things I've had to learn the hard way.