"The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for REST APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the OpenAPI Specification removes guesswork in calling a service.

"Use cases for machine-readable API definition documents include, but are not limited to: interactive documentation; code generation for documentation, clients, and servers; and automation of test cases. OpenAPI documents describe an API's services and are represented in either YAML or JSON formats. These documents may either be produced and served statically or be generated dynamically from an application.

"The OpenAPI Specification does not require rewriting existing APIs. It does not require binding any software to a service — the service being described may not even be owned by the creator of its description. It does, however, require the capabilities of the service be described in the structure of the OpenAPI Specification. Not all services can be described by OpenAPI — this specification is not intended to cover every possible style of REST APIs. The OpenAPI Specification does not mandate a specific development process such as design-first or code-first. It does facilitate either technique by establishing clear interactions with a REST API."

Website | Specification | Specification Github


"Swagger offers the most powerful and easiest to use tools to take full advantage of the OpenAPI Specification."


OpenAPI Tools

Supermodel: The Data Model of Your Domain, API and Application. Solved. Supermodel helps your teams get to talking about their domains—as complex as they may be—so you can build software that matters.

OpenAPI.NET: The OpenAPI.NET SDK contains a useful object model for OpenAPI documents in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model.

Spot: Spot is a concise, developer-friendly way to describe your API contract.

BOATS: An OpenAPI & AsyncAPI templating system with Nunjucks... write less YAML... do more.

Tags: distribution   format   specification  

Last modified 08 January 2023