You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the context of our REST API Guidelines, we differentiate the following entity types:
5
+
6
+
* **OpenAPI Specification** (OAS) -- the REST API specification format defined as standard by the https://www.openapis.org/[OpenAPI Initiative]. We currently encourage using https://spec.openapis.org/oas/v3.1.0.html[OpenAPI 3.1 version] for API specifications.
7
+
* **API Specification** (aka https://spec.openapis.org/oas/latest.html#openapi-description-structure[OpenAPI Description (OAD)] -- the document in OAS format specifying an API, its syntax and semantics. It should provide all information for clients to use the API, and serves as the interface definition of the API implementation.
8
+
* **API** -- the REST API interface provided via "the wire" (HTTP+TCP/IP) by a concrete service that is deployed and running.
9
+
* **API Implementation** -- the implementation of the API as part of a concrete service implementation. It is typically code written in a programming language like Java or Python, and there can be multiple concrete implementations for the same API.
10
+
11
+
The API Specification, of course, might differ from the actual API provided by a concrete service, because e.g. the service implementation is incomplete, not up-to-date or faulty. The API Specification that is intended to be implemented by the service <<192, must / should be published with the service deployment>>.
12
+
13
+
Note, OpenAPI allows API Specifications being composed of an entry document and URL-referenced OpenAPI Documents defining path, component or webhook elements. However, we require to provide the API specification using a single self-contained YAML document for better readability and consistent versioning and life-cycle handling -- see <<101>>.
0 commit comments