The API design space is booming right now, with OpenAPI and JSON Schema tooling seriously growing up. My new job at is letting me channel passion for improving this space, and the whole team has been crushing it. We released a new API description document linter (Spectral), a damn intelligent mock-server (Prism), and an amazing OpenAPI & JSON Schema editor called Stoplight Studio. This last one is just exceptional, and is the culmination of a years work by a whole lot of people.

A while back I wrote an article called Understanding RPC, REST and GraphQL which outlined the "what" in how these various approaches differ. This got a few people thinking I was saying REST was drastically superior in all ways, which is a common conclusion when folks hear me describe REST as a layer of abstractions on top of RPC鈥 More abstractions does not mean definitively "better", sometimes that's going to be overkill, so let's look at when you might want to use which.

API Evolution is making a comeback these days with GraphQL and gRPC advocates shouting about it. Whatever API paradigm or implementation you subscribe to, evolution is available to you. REST advocates have been recommending API evolution for decades, so let's take a look at how that can work.

Back in October I wrote Chasing the Perfect API Specification Workflow, which was a huge article about the state of the API specification world. One person trying to figure out a good workflow, in a sea of alternative specifications, with incomplete tooling, making it hard to see a solution for all the partial bits of functionality.

This article outlines a list of common misunderstandings about REST, so I thought it would be a nice opportunity to set the record straight on a bunch of them. The article is really just 100% misunderstandings, so lets learn some stuff!