Skip to content

Commit c8e23b1

Browse files
committed
Merge remote-tracking branch 'refs/remotes/origin/OpenAPI.next' into dm/securityreview
# Conflicts: # versions/3.0.md
2 parents 452a988 + 8712108 commit c8e23b1

File tree

2 files changed

+76
-22
lines changed

2 files changed

+76
-22
lines changed

CONTRIBUTORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
* Jason Harmon [@jharmn](https://github.com/jharmn)
33
* Jeremy Whitlock [@whitlockjc](https://github.com/whitlockjc)
44
* Marsh Gardiner [@earth2marsh](https://github.com/earth2marsh)
5+
* Rob Dolin [@RobDolinMS](https://github.com/robdolinms)
56
* Ron Ratovsky [@webron](https://github.com/webron)
67
* Tony Tam [@fehguy](https://github.com/fehguy)

versions/3.0.md

Lines changed: 75 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,61 @@ The OpenAPI Specification defines a set of files required to describe such an AP
1414
These files can then be used by the Swagger-UI project to display the API and Swagger-Codegen to generate clients in various languages.
1515
Additional utilities can also take advantage of the resulting files, such as testing tools.
1616

17+
## Table of Contents
18+
<!-- TOC depthFrom:1 depthTo:3 withLinks:1 updateOnSave:1 orderedList:0 -->
19+
20+
- [OpenAPI Specification](#openapi-specification)
21+
- [Introduction](#introduction)
22+
- [Table of Contents](#table-of-contents)
23+
- [Revision History](#revision-history)
24+
- [Definitions](#definitions)
25+
- [Specification](#specification)
26+
- [Format](#format)
27+
- [File Structure](#file-structure)
28+
- [Data Types](#data-types)
29+
- [Schema](#schema)
30+
- [OpenAPI Object](#openapi-object)
31+
- [Info Object](#info-object)
32+
- [Host Object](#host-object)
33+
- [Contact Object](#contact-object)
34+
- [License Object](#license-object)
35+
- [Components Object](#components-object)
36+
- [Paths Object](#paths-object)
37+
- [Path Item Object](#path-item-object)
38+
- [Operation Object](#operation-object)
39+
- [External Documentation Object](#external-documentation-object)
40+
- [Parameter Object](#parameter-object)
41+
- [Request Body Object](#request-body-object)
42+
- [Content Object](#content-object)
43+
- [Content Type Object](#content-type-object)
44+
- [Items Object](#items-object)
45+
- [Responses Object](#responses-object)
46+
- [Response Object](#response-object)
47+
- [Headers Object](#headers-object)
48+
- [Examples Object](#examples-object)
49+
- [Links Object](#links-object)
50+
- [Link Object](#link-object)
51+
- [Variable substitution](#variable-substitution)
52+
- [Link Parameters](#link-parameters)
53+
- [Header Object](#header-object)
54+
- [Tag Object](#tag-object)
55+
- [Examples Object](#examples-object)
56+
- [Reference Object](#reference-object)
57+
- [Schema Object](#schema-object)
58+
- [XML Object](#xml-object)
59+
- [Definitions Object](#definitions-object)
60+
- [Parameters Definitions Object](#parameters-definitions-object)
61+
- [Responses Definitions Object](#responses-definitions-object)
62+
- [Security Definitions Object](#security-definitions-object)
63+
- [Security Scheme Object](#security-scheme-object)
64+
- [Scopes Object](#scopes-object)
65+
- [Security Requirement Object](#security-requirement-object)
66+
- [Specification Extensions](#specification-extensions)
67+
- [Security Filtering](#security-filtering)
68+
69+
70+
<!-- /TOC -->
71+
1772
## Revision History
1873

1974
Version | Date | Notes
@@ -262,8 +317,8 @@ An object representing a Server.
262317

263318
Field Name | Type | Description
264319
---|:---:|---
265-
<a name="serverUrlTemplate"></a>server URL template | `string` | A URL to the target host. This URL supports template variables and may be relative, to indicate that the host ___location is relative to the ___location where the OpenAPI Specification is being served. Templates are _optional_ and specified by the [#hostTemplateParameter] syntax. Template substitutions will be made when a variable is named in `{`brackets`}`.
266-
<a name="hostDescription"></a>host description | `string` | An optional string describing the host designated by the URL.
320+
<a name="serverUrlTemplate"></a>url | `string` | A URL to the target host. This URL supports template variables and may be relative, to indicate that the host ___location is relative to the ___location where the OpenAPI Specification is being served. Templates are _optional_ and specified by the [Host Template Parameter](#hostTemplateParameter) syntax. Template substitutions will be made when a variable is named in `{`brackets`}`.
321+
<a name="hostDescription"></a>description | `string` | An optional string describing the host designated by the URL.
267322
<a name="hostTemplates"></a>templates | [Templates Object](#hostTemplatesObject) | An object holding templates for substitution in the URL template
268323

269324
This object can be extended with [Specification Extensions](#specificationExtensions).
@@ -345,14 +400,14 @@ Field Pattern | Type | Description
345400
#### <a name="pathsObject"></a>Paths Object
346401

347402
Holds the relative paths to the individual endpoints.
348-
The path is appended to the [`basePath`](#oasBasePath) in order to construct the full URL.
349-
The Paths may be empty, due to [ACL constraints](#securityFiltering).
403+
The path is appended to the [`Server Object`](#serverObject) in order to construct
404+
the full URL. The Paths may be empty, due to [ACL constraints](#securityFiltering).
350405

351406
##### Patterned Fields
352407

353408
Field Pattern | Type | Description
354409
---|:---:|---
355-
<a name="pathsPath"></a>/{path} | [Path Item Object](#pathItemObject) | A relative path to an individual endpoint. The field name MUST begin with a slash. The path is appended to the [`basePath`](#oasBasePath) in order to construct the full URL. [Path templating](#pathTemplating) is allowed.
410+
<a name="pathsPath"></a>/{path} | [Path Item Object](#pathItemObject) | A relative path to an individual endpoint. The field name MUST begin with a slash. The path is appended to the [`Server Object`](#serverObject) in order to construct the full URL. [Path templating](#pathTemplating) is allowed.
356411

357412
This object can be extended with [Specification Extensions](#specificationExtensions).
358413

@@ -418,9 +473,8 @@ Field Name | Type | Description
418473
<a name="pathItemOptions"></a>options | [Operation Object](#operationObject) | A definition of a OPTIONS operation on this path.
419474
<a name="pathItemHead"></a>head | [Operation Object](#operationObject) | A definition of a HEAD operation on this path.
420475
<a name="pathItemPatch"></a>patch | [Operation Object](#operationObject) | A definition of a PATCH operation on this path.
421-
<a name="pathItemHost"></a>host | `string` | The host (name or ip) serving the path. This optional value will override the top-level [host](#oasHost) if present. This MUST be the host only and does not include the scheme nor sub-paths. It MAY include a port. If the `host` is not included, the host serving the documentation is to be used (including the port). The `host` does not support [path templating](#pathTemplating).
422-
<a name="pathItemBasePath"></a>basePath | `string` | The base path on which the API is served, which is relative to the [`host`](#pathItemHost). This optional value will override the top-level [basePath](#oasBasePath) if present. If it is not included, the API is served directly under the `host`. The value MUST start with a leading slash (`/`). The `basePath` does not support [path templating](#pathTemplating).
423-
<a name="pathItemSchemes"></a>schemes | [`string`] | The transfer protocol of the API. Values MUST be from the list: `"http"`, `"https"`, `"ws"`, `"wss"`. This optional value will override the top-level [schemes](#oasSchemes) if present. If the `schemes` is not included, the default scheme to be used is the one used to access the OpenAPI definition itself.
476+
<a name="pathItemTrace"></a>trace | [Operation Object](#operationObject) | A definition of a TRACE operation on this path.
477+
<a name="pathItemServer"></a>servers | [Server Object](#serverObject) | An alternative `server` array to service all operations in this path.
424478
<a name="pathItemParameters"></a>parameters | [[Parameter Object](#parameterObject) <span>&#124;</span> [Reference Object](#referenceObject)] | A list of parameters that are applicable for all the operations described under this path. These parameters can be overridden at the operation level, but cannot be removed there. The list MUST NOT include duplicated parameters. A unique parameter is defined by a combination of a [name](#parameterName) and [___location](#parameterIn). The list can use the [Reference Object](#referenceObject) to link to parameters that are defined at the [OpenAPI Object's parameters](#oasParameters).
425479

426480

@@ -524,12 +578,9 @@ Field Name | Type | Description
524578
<a name="operationRequestBody"></a>requestBody | [[Request Body Object](#requestBodyObject) <span>&#124;</span> [Reference Object](#referenceObject)] | The request body applicable for this operation.
525579
<a name="operationResponses"></a>responses | [Responses Object](#responsesObject) | **Required.** The list of possible responses as they are returned from executing this operation.
526580
<a name="operationCallbacks"></a>callback responses | [Callback Responses Object](#callbackObject) | The list of possible callback responses as they are returned from executing this operation.
527-
<a name="operationSchemes"></a>schemes | [`string`] | The transfer protocol for the operation. Values MUST be from the list: `"http"`, `"https"`, `"ws"`, `"wss"`. The value overrides the OpenAPI Object [`schemes`](#oasSchemes) definition.
528581
<a name="operationDeprecated"></a>deprecated | `boolean` | Declares this operation to be deprecated. Usage of the declared operation should be refrained. Default value is `false`.
529582
<a name="operationSecurity"></a>security | [[Security Requirement Object](#securityRequirementObject)] | A declaration of which security mechanisms can be used for this operation. The list of values includes alternative security requirement objects that can be used. Only one of the security requirement objects need to be satisfied to authorize a request. This definition overrides any declared top-level [`security`](#oasSecurity). To remove a top-level security declaration, an empty array can be used.
530-
<a name="operationHost"></a>host | `string` | The host (name or ip) serving the path. This optional value will override the top-level [host](#oasHost) or path item-level [host](#pathItemHost). if present. This MUST be the host only and does not include the scheme nor sub-paths. It MAY include a port. If the `host` is not included, the host serving the documentation is to be used (including the port). The `host` does not support [path templating](#pathTemplating).
531-
<a name="operationBasePath"></a>basePath | `string` | The base path on which the API is served, which is relative to the [`host`](#pathItemHost). This optional value will override the top-level [basePath](#oasBasePath) or path item-level [basePath](#oasPathItemBasePath) if present. If it is not included, the API is served directly under the `host`. The value MUST start with a leading slash (`/`). The `basePath` does not support [path templating](#pathTemplating).
532-
<a name="operationSchemes"></a>schemes | [`string`] | The transfer protocol of the API. Values MUST be from the list: `"http"`, `"https"`, `"ws"`, `"wss"`. This optional value will override the top-level [schemes](#oasSchemes) or path-item level [schemes](#pathItemSchemes) if present. If the `schemes` is not included, the default scheme to be used is the one used to access the OpenAPI definition itself.
583+
<a name="operationItemServer"></a>servers | [Server Object](#serverObject) | An alternative `server` array to service this operation. If an alternative `server` object is specified at the Path Item Object or Root level, it will be overridden by this value.
533584

534585
This object can be extended with [Specification Extensions](#specificationExtensions).
535586

@@ -553,19 +604,21 @@ This object can be extended with [Specification Extensions](#specificationExtens
553604
}
554605
],
555606
"requestBody" : {
556-
"content" : {
557-
"application/x-www-form-urlencoded":{
558-
"schema" : {
559-
"type" : "object",
607+
"content": {
608+
"application/x-www-form-urlencoded": {
609+
"schema": {
610+
"type": "object",
560611
"properties": {
561-
"name"
562-
"description" : "Updated name of the pet",
612+
"name": {
613+
"description": "Updated name of the pet",
563614
"type": "string"
564-
"status":
565-
"description" : "Updated status of the pet",
615+
},
616+
"status": {
617+
"description": "Updated status of the pet",
566618
"type": "string"
619+
}
567620
},
568-
"required" : ["status"]
621+
"required": ["status"]
569622
}
570623
}
571624
}
@@ -601,7 +654,7 @@ This object can be extended with [Specification Extensions](#specificationExtens
601654
tags:
602655
- pet
603656
summary: Updates a pet in the store with form data
604-
description: ""
657+
description: ''
605658
operationId: updatePetWithForm
606659
parameters:
607660
- name: petId

0 commit comments

Comments
 (0)