Skip to content

Commit abddcf0

Browse files
committed
Updates based on TDC Meeting
1 parent dfacec5 commit abddcf0

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

versions/3.0.4.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ For extension registries and other specifications published by the OpenAPI Initi
2222

2323
An OpenAPI Description (OAD) formally describes the surface of an API and its semantics. It is composed of an [entry document](#openapi-description-structure) and any/all of its referenced documents. An OAD uses and conforms to the OpenAPI Specification.
2424

25+
### OpenAPI Document
26+
27+
An OpenAPI Document is a single JSON or YAML document that conforms to the OpenAPI Specification.
28+
2529
### Schema
2630

2731
A "schema" is a formal description of syntax and structure.
@@ -89,11 +93,11 @@ The OpenAPI Specification is versioned using a `major`.`minor`.`patch` versionin
8993

9094
Occasionally, non-backwards compatible changes may be made in `minor` versions of the OAS where impact is believed to be low relative to the benefit provided.
9195

92-
An OpenAPI Description compatible with OAS 3.\*.\* contains a required [`openapi`](#oas-version) field which designates the version of the OAS that it uses.
96+
An OpenAPI Document compatible with OAS 3.\*.\* contains a required [`openapi`](#oas-version) field which designates the version of the OAS that it uses.
9397

9498
### Format
9599

96-
An OpenAPI Description that conforms to the OpenAPI Specification is itself a JSON object, which may be represented either in JSON or YAML format.
100+
An OpenAPI Document that conforms to the OpenAPI Specification is itself a JSON object, which may be represented either in JSON or YAML format.
97101

98102
For example, if a field has an array value, the JSON array representation will be used:
99103

@@ -119,7 +123,7 @@ In order to preserve the ability to round-trip between YAML and JSON formats, YA
119123

120124
### OpenAPI Description Structure
121125

122-
An OpenAPI Description (OAD) MAY be structured as a single JSON or YAML document or composed from elements distributed across multiple documents at the discretion of the author. In the latter case, [Reference Object](#reference-object) and [Path Item Object](#path-item-object) `$ref` keywords, as well as the [Link Object](#link-object) `operationRef` keyword, are used to identify the documents containing the referenced elements.
126+
An OpenAPI Description (OAD) MAY be made up of a single JSON or YAML document or be divided into multiple, connected parts at the discretion of the author. In the latter case, [Reference Object](#reference-object) and [Path Item Object](#path-item-object) `$ref` keywords, as well as the [Link Object](#link-object) `operationRef` keyword, are used to identify the referenced elements.
123127

124128
In a multi-document OAD, the document containing the OpenAPI Object where parsing begins is known as that OAD's **entry document**.
125129

@@ -129,7 +133,7 @@ It is RECOMMENDED that the entry document of an OAD be named: `openapi.json` or
129133

130134
JSON or YAML objects within an OAD are interpreted as specific Objects (such as [Operation Objects](#operation-object), [Response Objects](#response-object), [Reference Objects](#reference-object), etc.) based on their context. Depending on how references are arranged, a given JSON or YAML object can be interpreted in multiple different contexts:
131135

132-
* The root object of the entry document is interpreted as an OpenAPI Object
136+
* As the root object of the [entry document](#openapi-description-structure), which is always interpreted as an OpenAPI Object
133137
* As the Object type implied by its parent Object within the OpenAPI Description
134138
* As a reference target, with the Object type matching the reference source's context
135139

@@ -252,7 +256,7 @@ This is the root object of the [OpenAPI Description](#openapi-description).
252256

253257
| Field Name | Type | Description |
254258
| ---- | :----: | ---- |
255-
| <a name="oas-version"></a>openapi | `string` | **REQUIRED**. This string MUST be the [version number](#versions) of the OpenAPI Specification that the OpenAPI Description uses. The `openapi` field SHOULD be used by tooling to interpret the OpenAPI Description. This is _not_ related to the API [`info.version`](#info-version) string. |
259+
| <a name="oas-version"></a>openapi | `string` | **REQUIRED**. This string MUST be the [version number](#versions) of the OpenAPI Specification that the OpenAPI Document uses. The `openapi` field SHOULD be used by tooling to interpret the OpenAPI Document. This is _not_ related to the API [`info.version`](#info-version) string. |
256260
| <a name="oas-info"></a>info | [Info Object](#info-object) | **REQUIRED**. Provides metadata about the API. The metadata MAY be used by tooling as required. |
257261
| <a name="oas-servers"></a>servers | [[Server Object](#server-object)] | An array of Server Objects, which provide connectivity information to a target server. If the `servers` field is not provided, or is an empty array, the default value would be a [Server Object](#server-object) with a [url](#server-url) value of `/`. |
258262
| <a name="oas-paths"></a>paths | [Paths Object](#paths-object) | **REQUIRED**. The available paths and operations for the API. |
@@ -277,7 +281,7 @@ The metadata MAY be used by the clients if needed, and MAY be presented in editi
277281
| <a name="info-terms-of-service"></a>termsOfService | `string` | A URL for the Terms of Service for the API. This MUST be in the form of a URL. |
278282
| <a name="info-contact"></a>contact | [Contact Object](#contact-object) | The contact information for the exposed API. |
279283
| <a name="info-license"></a>license | [License Object](#license-object) | The license information for the exposed API. |
280-
| <a name="info-version"></a>version | `string` | **REQUIRED**. The version of the OpenAPI Description (which is distinct from the [OpenAPI Specification version](#oas-version) or the version of the API being described). |
284+
| <a name="info-version"></a>version | `string` | **REQUIRED**. The version of the OpenAPI Document (which is distinct from the [OpenAPI Specification version](#oas-version) or the version of the API being described or the version of the OpenAPI Description). |
281285

282286
This object MAY be extended with [Specification Extensions](#specification-extensions).
283287

@@ -3073,7 +3077,7 @@ However, the exact nature of such conversions are implementation-defined.
30733077

30743078
##### Examples
30753079

3076-
For these examples, assume all schemas are in a single-document OpenAPI Description; for handling of `discriminator` in referenced documents see [Resolving Implicit Connections](#resolving-implicit-connections).
3080+
For these examples, assume all schemas are in the [entry document](#openapi-description-structure) of the OAD; for handling of `discriminator` in referenced documents see [Resolving Implicit Connections](#resolving-implicit-connections).
30773081

30783082
In OAS 3.0, a response payload MAY be described to be exactly one of any number of types:
30793083

0 commit comments

Comments
 (0)