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
Copy file name to clipboardExpand all lines: versions/3.0.md
+15-19Lines changed: 15 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -8,26 +8,22 @@ This document is licensed under [The Apache License, Version 2.0](http://www.apa
8
8
9
9
## Introduction
10
10
11
-
The OpenAPI Specification (OAS) is a project that provides mechanisms to describe and document a RESTful API.
11
+
The OpenAPI Specification (OAS) defines a standard, language-agnostic interface to RESTful APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined, a consumer can understand and interact with the remote service with a minimal amount of implementation logic.
12
12
13
-
14
-
The OpenAPI Specification defines a set of files required to describe such APIs.
15
-
These files can then be used by documentation generation tools to display the API and code generation tools to generate clients in various programming languages.
16
-
17
-
Additional utilities, such as testing tools, can also use the files.
13
+
An OpenAPI definition can then be used by documentation generation tools to display the API, code generation tools to generate servers and clients in various programming languages, testing tools and many other use cases.
A document or set of documents which defines an API. An OpenAPI definition uses and conforms to the OpenAPI Specification.
75
71
76
72
##### <aname="pathTemplating"></a>Path Templating
77
73
Path templating refers to the usage of curly braces ({}) to mark a section of a URL path as replaceable using path parameters.
@@ -107,7 +103,7 @@ The `major`.`minor` portion of the semver (for example `3.0`) SHALL designate th
107
103
108
104
Subsequent minor version releases of the OpenAPI Specification (incrementing the `minor` version number) SHOULD NOT interfere with tooling developed to a lower minor version and same major version. Thus a hypothetical `3.1.0` specification SHOULD be usable with tooling designed for `3.0.0`.
109
105
110
-
An OpenAPI definition file compatible with OAS 3.\*.\* contains a required [`openapi`](#oasVersion) field which designates the semantic version of the OAS that it uses. (OAS 2.0 definition document contain a top-level version field named [`swagger`](http://swagger.io/specification/#swaggerObject) and value `"2.0"`.)
106
+
An OpenAPI definition compatible with OAS 3.\*.\* contains a required [`openapi`](#oasVersion) field which designates the semantic version of the OAS that it uses. (OAS 2.0 definition documents contain a top-level version field named [`swagger`](http://swagger.io/specification/#swaggerObject) and value `"2.0"`.)
111
107
112
108
### Format
113
109
@@ -133,13 +129,13 @@ In order to preserve the ability to round-trip between YAML and JSON formats, YA
133
129
134
130
**Note:** While APIs are described by OpenAPI documents in YAML or JSON format, the API request and response bodies and other content are not required to be JSON or YAML.
An OpenAPI definition file is made of a single file.
139
-
However, parts of the definitions can be split into separate files, at the discretion of the user.
134
+
An OpenAPI definition MAY be made up of a single document.
135
+
However, parts of the definitions MAY be split into separate documents, at the discretion of the user.
140
136
This is applicable for `$ref` fields in the specification as follows from the [JSON Schema](http://json-schema.org) definitions.
141
137
142
-
It is RECOMMENDED that the OpenAPI definition file be named following convention: `openapi.json` or `openapi.yaml`.
138
+
It is RECOMMENDED that the root OpenAPI definition document be named: `openapi.json` or `openapi.yaml`.
143
139
144
140
### <aname="dataTypes"></a>Data Types
145
141
@@ -187,13 +183,13 @@ In the following description, if a field is not explicitly **REQUIRED** or descr
187
183
188
184
#### <aname="oasObject"></a>OpenAPI Object
189
185
190
-
This is the root document object of the [OpenAPI definition file](#oasDefinitionFile).
186
+
This is the root document object of the [OpenAPI definition](#oasDefinition).
191
187
192
188
##### Fixed Fields
193
189
194
190
Field Name | Type | Description
195
191
---|:---:|---
196
-
<aname="oasVersion"></a>openapi | `string` | **REQUIRED**. This string MUST be the [semantic version number](http://semver.org/spec/v2.0.0.html) of the [OpenAPI Specification version](#versions) that the OpenAPI definition file uses. The `openapi` field SHOULD be used by tooling specifications and clients to interpret the OpenAPI definition file. This is *not* related to the API [`info.version`](#infoVersion) string.
192
+
<aname="oasVersion"></a>openapi | `string` | **REQUIRED**. This string MUST be the [semantic version number](http://semver.org/spec/v2.0.0.html) of the [OpenAPI Specification version](#versions) that the OpenAPI definition uses. The `openapi` field SHOULD be used by tooling specifications and clients to interpret the OpenAPI definition. This is *not* related to the API [`info.version`](#infoVersion) string.
197
193
<aname="oasInfo"></a>info | [Info Object](#infoObject) | **REQUIRED**. Provides metadata about the API. The metadata can be used by the clients if needed.
198
194
<aname="oasServers"></a>servers | [[Server Object](#serverObject)] | An array of Server Objects, which provide connectivity information to a target server. If the `servers` property is not provided, or is an empty array, the default value would be a [Server Object](#serverObject) with a [url](#serverUrl) value of `/`.
199
195
<aname="oasPaths"></a>paths | [Paths Object](#pathsObject) | **REQUIRED**. The available paths and operations for the API.
@@ -2268,7 +2264,7 @@ This object cannot be extended with additional properties and any properties add
0 commit comments