OpenAPI is a specification overseen by the OpenAPI Initiative, part of the Linux Foundation. It used to be known as the Swagger Specification as it used to be a part of the Swagger framework.
The specification is language agnostic. It uses JSON or YAML input to generate documentation of methods, parameters, and models. This way, using OpenAPI helps to keep the documentation and source code up to date.
There is a good selection of tools compatible with OpenAPI, such as code generators, editors, user interfaces, and mock servers. The OpenAPI generator can generate code for C++ using either cpp-restsdk or Qt 5 for client implementation. It can also generate server code using Pistache, Restbed, or Qt 5 QHTTPEngine. There's also a convenient OpenAPI editor available online: https://editor.swagger.io/.
An API documented with OpenAPI would look like the following:
{
"openapi": "3.0.0",
"info": {
"title": "Items API overview...