A brief history of OpenAPI

By Phil Sturgeon
Last update on July 25, 2024

The OpenAPI Specification started off life with another name, and this can cause a bit of confusion. Until version 3.0, the specification was still called “Swagger”, before being renamed to “OpenAPI” in 2016. It’s actually a “retroactive” rename, so even v2.0 and earlier are called OpenAPI now.

The OpenAPI Specification is now supervised by the OpenAPI Initiative, an open-source project under the Linux Foundation.

The name Swagger is still popular, and many of the tools have the word Swagger in, but generally speaking you are better off searching for “OpenAPI tools” than “Swagger tools” because those are mostly old outdated tools which don’t work with modern versions of OpenAPI.

Major differences between OpenAPI 2.0, 3.0, 3.1 #

Versions #

In the 2.0 specification, a property called swagger indicated which version of the specification you are using. In OpenAPI 3.0, this is replaced by a new openapi property:

Structural changes #

The following image sums up the main structural changes between 2.0 and 3.0. As you can see, a simplification effort has been made to group each concern in a more logical way.

openapi 2 versus openapi 3

If you want to get more into the details about what changed between OpenAPI 3.0 and 3.1, you can have a look at our dedicated article here.

Benefits of Using OpenAPI