OpenAPI Initiative's
OpenAPI Specification
Without the OpenAPI Specification (fka. Swagger Specification), my job would be a total nightmare. It is a machine readable API description format that I use when I design APIs, when reviewing API designs, documenting APIs, checking that implementation conforms to design and build implementation.
Related Posts
OpenAPI does what Swagger don't
By Arnaud Lauret, September 21, 2022
Let’s compare versions Swagger 2.0 and OpenAPI 3.0, and 3.1 to demonstrate the benefits of the new features introduced by 3.x versions to create more precise, better documented, more practical, and future-proof API contract descriptions.
OpenAPI Specification Reference Series - Part 1
What is the openapi property?
By Arnaud Lauret, July 6, 2022
No OpenAPI document without the openapi property, but what does it represent? How did it evolve across the OpenAPI Specification versions? And how to take advantage of it? This is the first post in the OpenAPI Specification Reference series.
Lint APIs with Spectral
By Arnaud Lauret, June 15, 2022
Are you struggling to design consistent APIs? On the verge of losing sanity while checking every single property of every schema is camelCased? Never remembering the parameters to use for pagination? Spectral is the tool you need: it will lint JSON Schema, AsyncAPI, and OpenAPI documents and do those checks for you.
The 15 rules of the OpenAPI-based tools club
By Arnaud Lauret, June 1, 2022
The OpenAPI Specification can facilitate everyone’s life and participate in the creation of better APIs and a better API ecosystem. But it will work only if the members of the OpenAPI-based tools club follow the rules.
The 3 benefits of creating OpenAPI-based tools (the right way)
By Arnaud Lauret, May 25, 2022
Supporting The OpenAPI Specification (fka. Swagger Specification) format when creating Web API tools is a must-have. Not for the sake of the format itself but rather because of the benefits you’ll get from it. But those benefits will come only if OpenAPI is used the right way.
What is the OpenAPI Specification?
By Arnaud Lauret, May 18, 2022
OpenAPI, or the OpenAPI Specification, formerly known as the Swagger Specification, is a machine-readable and human-friendly API description format. That short description is correct but does not help to understand what it is OpenAPI: it’s the Rosetta Stone of the Web API world. Let’s see why.
We need to talk: OpenAPI 3 is 4 years old, but Swagger 2 is still predominant
By Arnaud Lauret, November 10, 2021
While quickly doing a first scan of latest Postman State of the API Report , I did my Spock face, raising an eyebrow. Indeed, I read that after JSON Schema, “The next most popular specifications were Swagger 2.0 (54%) and OpenAPI 3.0 (40%)”. To be honest and based on my own experience, it’s not totally surprising, I’m still hearing/reading “can you check that Swagger” everyday. But why the 4 years old OpenAPI 3 is still struggling to surpass the good old Swagger 2?
Taking advantage of OpenAPI for API Design reviews
By Arnaud Lauret, September 28, 2021
After my first recorded live demo session, here comes my first non recorded actually live session in which I show how I take advantage of the OpenAPI Specification during API design reviews. Note that I experienced some technical issues during this session, you’ll find the story in my “Barely surviving my first live (non recorded) demo session” post.
Supercharge OpenAPI to efficiently describe APIs
By Arnaud Lauret, August 3, 2021
If you want to discover the OpenAPI Specification format, this video is for you! In my first ever (recorded) live coding session, given at the 2021 Manning API Conference, I demonstrate basic, advanced, and even hidden features that will help you to efficiently create complete, accurate, and maintainable API descriptions when designing documenting APIs.
6 reasons why generating OpenAPI from code when designing and documenting APIs sucks
By Arnaud Lauret, May 12, 2021
When working with OpenAPI Specification documents to design and document APIs, there are two approaches: either you write it (directly using a text editor or indirectly using an API design GUI), either you generate it from the implementation’s code (using annotations). Generating OpenAPI Specification documents from code has major drawbacks that you should be aware of in order to choose this approach knowingly.
Adopt and not assess OpenAPI linters and other thoughts reading Thoughtworks Technology Radar 24
By Arnaud Lauret, April 28, 2021
Thoughtworks Technology Radar 24, an “opinionated guide to technology frontiers”, came out last 15th of April, 2021 and I thought it could be interesting to read it from an API perspective, hence this post sharing my thoughts on it. As always it is really interesting and full of valuable insights, though I nearly fell off my chair while reading the Tools section which talks about OpenAPI linters (if it’s not a click bait, I don’t know what it is).
The Augmented API Design Reviewer
By Arnaud Lauret, December 13, 2020
JQ and OpenAPI Series - Part 4
Bonus: Coloring JQ's raw output
By Arnaud Lauret, July 6, 2020
Ever wanted to quickly find, extract or modify data coming from some JSON documents on the command line? JQ is the tool you’re looking for. The three previous parts of this JQ and OpenAPI Series, taught us to extract data from JSON (OpenAPI) files and modify them using many filters, creating modules and using command line arguments. To finish this series, we’ll learn to color JQ’s raw terminal output and do a colored version of part 2’s search operations.
JQ and OpenAPI Series - Part 3
Modifying OpenAPI files with JQ
By Arnaud Lauret, June 28, 2020
Ever wanted to quickly find, extract or modify data coming from some JSON documents on the command line? JQ is the tool you’re looking for. Thanks to the two previous parts of this JQ and OpenAPI Series, we learned how to extract data from JSON (OpenAPI) files by discovering many filters, creating modules and using command line arguments. Now we will discover how to modify them; how to replace, add or delete elements in processed documents.
JQ and OpenAPI Series - Part 2
Using JQ command line arguments, functions and modules
By Arnaud Lauret, February 3, 2020
Ever wanted to quickly find, extract or modify data coming from some JSON documents on the command line? JQ is the tool you’re looking for. In the previous part of this JQ and OpenAPI Series, we learned to invoke JQ and how to extract data from JSON documents using some of its many filters. Now we will discover how to build flexible and easily reusable JQ filters by creating functions and modules and also using command line arguments.
JQ and OpenAPI Series - Part 1
Using JQ to extract data from OpenAPI files
By Arnaud Lauret, January 15, 2020
Ever wanted to quickly find, extract or modify data coming from some JSON documents on the command line? JQ is the tool you’re looking for. In this 4 parts post series, you’ll discover why and how I use JQ with OpenAPI Specification files. But more important, you’ll get some basic and more advanced example of how to use JQ on any JSON document to get and modify JSON data as you want. In this first part we’ll focus on what is JQ, why I use it with OpenAPI files and we’ll learn how to invoke JQ and discover some of the many JQ filters that can be used to extract data from JSON.
Explore the OpenAPI Specification 3.0 with the OpenAPI Map
By Arnaud Lauret, March 9, 2018
So you want to explore in depth the OpenAPI Specification version 3.0? You should take the OpenAPI Map with you!
OpenAPI Visual Documentation updated with 3.0.0-rc0
By Arnaud Lauret, March 19, 2017
The OpenAPI Visual Documentation has been updated. The new version 3.0.0-rc0 of the OpenAPI specification has been added. The addition brings a fully detailed change log of what has change from version 2.
Writing OpenAPI (Swagger) Specification Tutorial Series - Part 9
Extending the OpenAPI specification
By Arnaud Lauret, February 19, 2017
This is the end, my OpenAPI friends, the end. The end? Not really. This last part of the OpenAPI tutorial is a new beginning. With previous parts we have learned to master the OpenAPI specification but there’s a last thing to learn to unleash its full power: extensions. This format is easily extensible, it allows to add custom data within an API description. But for what purposes? Let’s have a glimpse of these extensions endless possibilities.
OpenAPI Trek Series - Part 3
OpenAPI Trek Beyond API Documentation (API Strat 2016)
By Arnaud Lauret, November 28, 2016
Swagger, OpenAPI and API Stylebook interview (API Strat Boston 2016)
By Arnaud Lauret, November 25, 2016
Just before the Developing an API Strategy for 2017 panel, I have been interviewed about Swagger/OpenAPI specification and the API Stylebook by Keshav Vasudevan from Smartbear.
OpenAPI Trek Series - Part 2
OpenAPI Trek Into Fastness (Nordic APIs Summit 2016)
By Arnaud Lauret, November 19, 2016
OpenAPI Trek Series - Part 1
OpenAPI Trek (API Days London 2016)
By Arnaud Lauret, November 10, 2016
Writing OpenAPI (Swagger) Specification Tutorial Series - Part 8
Splitting specification file
By Arnaud Lauret, August 2, 2016
With previous posts we have learned to produce an OpenAPI specification containing all OpenAPI specification subtleties. Some specification files may become quite large or may contain elements which could be reused in other APIs. Splitting a specification file will help to keep it maintainable by creating smaller files and also help to ensure consistency throughout APIs by sharing common elements.
Writing OpenAPI (Swagger) Specification Tutorial Series - Part 7
Documentation
By Arnaud Lauret, June 12, 2016
Previous posts showed how to write a highly accurate description of an API interface contract with the OpenAPI specification. But an interface contract, no matter how brilliant, is nothing without some explainations. A fully documented OpenAPI specification file can provide some useful information and be used as a part of an API’s documentation.
Writing OpenAPI (Swagger) Specification Tutorial Series - Part 6
Defining Security
By Arnaud Lauret, May 22, 2016
After mastering input and output modeling like a Jedi, let’s see how we can describe API’s security with the OpenAPI specification’s.
Writing OpenAPI (Swagger) Specification Tutorial Series - Part 5
Advanced Input And Output Modeling
By Arnaud Lauret, May 6, 2016
After learning how to create an accurate data model, we continue to delve into the OpenAPI specification’s and discover how to describe tailor made API’s inputs and outputs.
Writing OpenAPI (Swagger) Specification Tutorial Series - Part 4
Advanced Data
By Arnaud Lauret, April 17, 2016
After learning how to simplify specification files, let’s start delving into the OpenAPI specification’s and discover how to describe a high accuracy API’s data model.
Writing OpenAPI (Swagger) Specification Tutorial Series - Part 3
Simplifying specification file
By Arnaud Lauret, March 19, 2016
After learning the basics and having written a little bit huge file for a so simple API, you may be concerned by what nightmare it could be to handle a bigger and more complex API. REST assured that the OpenAPI Specification (formerly Swagger Specification) format offers all means to write really small and simple specification files whatever the described API’s size and complexity.
Writing OpenAPI (Swagger) Specification Tutorial Series - Part 2
The basics
By Arnaud Lauret, March 2, 2016
After discovering what is the OpenAPI Specification format, it’s now time to write a first simple OpenAPI Specification file to learn the basics.
Writing OpenAPI (Swagger) Specification Tutorial Series - Part 1
Introduction
By Arnaud Lauret, March 2, 2016
Previously in the APIverse…
Since I started my Swagger journey, there have been some changes. The Swagger Specification has been donated to the newly created OpenAPI Initiative under the Linux foundation and is reborn as the OpenAPI Specification. Therefore, my Swagger Journey will become an OpenAPI Specification (fka Swagger Specification) Journey.
Starting a Swagger journey beyond generated Swagger UI
By Arnaud Lauret, October 7, 2015
When watching a movie, have you ever noticed how characters interact with computers? If someone wants to destroy a computer, what does he or she smash?
The computer’s screen…