Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.1.0-rc0 Release #2251

Merged
merged 41 commits into from
Jun 18, 2020
Merged
Show file tree
Hide file tree
Changes from 40 commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
7a5b183
3.1.0 prep
webron Oct 8, 2018
77f86eb
Update README
webron Oct 8, 2018
e985f13
Allow specification extensions in discriminator object
MikeRalphson Oct 18, 2018
eb92123
Note that specification extensions beginning x-oas- are reserved
MikeRalphson Oct 18, 2018
3083f1a
Merge pull request #1715 from MikeRalphson/specext-oas
webron Oct 18, 2018
334cf53
Merge pull request #1714 from MikeRalphson/discrim-ext
webron Oct 18, 2018
d27bb1c
security; add mutualTLS securityScheme type
MikeRalphson Nov 27, 2018
a76dad5
Merge pull request #1764 from MikeRalphson/v3.1-mutualTLS
webron Feb 7, 2019
5f6a25a
832 add info.summary (#1779)
ioggstream Feb 28, 2019
5044418
fix OIDC url and OAuth2 requirements
AxelNennker Jun 21, 2019
192aafe
Merge pull request #1959 from AxelNennker/fix_OICD_and_OAuth2
MikeRalphson Aug 6, 2019
ac236d1
Update Schema Object to proper JSON Schema
Jun 21, 2019
f8f92ed
update vocab and arbitrary props
Oct 25, 2019
e121405
another go at arbitrary keywords
Oct 28, 2019
5905f45
feedback from @handrews
Oct 29, 2019
0ec2c73
Support style, explode, allowReserved encoding for multipart/form-dat…
Nov 27, 2019
4822592
default should match json schema
Jan 9, 2020
d67f350
removed json schema keyworld list, its just all of em.
Jan 9, 2020
bb9a6f2
redundant $ref reference
Jan 9, 2020
e3c236a
Merge pull request #1977 from philsturgeon/json-schema-update
webron Jan 9, 2020
fd39bcd
Correct Styles Values for spaceDelimited and pipeDelimited, as based …
Arhimenrius Jan 10, 2020
61f9d7e
Add support for webhooks as a top-level element (#2103)
lornajane Jan 16, 2020
3cb92bd
Align the OAS 3.1 nullable language with the 3.0.3 (#2115)
handrews Feb 6, 2020
c37a305
allow, but discourage, requestBody for GET, HEAD, DELETE (#2117)
n2ygk Feb 6, 2020
92a9104
Reference Object and Schema Object use of $ref updates for 2019-09 / …
handrews Feb 6, 2020
c376bef
Fix table cell formatting containing `nullable` description (#2152)
hkosova Feb 21, 2020
70ecce7
Add SPDX identifier field to license object, fixes #1599 (#2105)
MikeRalphson Feb 27, 2020
c6415fe
Add information about objects to the description too
Arhimenrius Mar 11, 2020
a6b99bc
Make paths object optional (#1781)
MikeRalphson Mar 19, 2020
b5a15df
Fwd port v3.0.3 dev to v3.1.0 dev (#2163)
MikeRalphson Mar 19, 2020
b45d0d8
security; widen use of scopes array to other securityScheme types (#1…
MikeRalphson Mar 19, 2020
cafadc9
Allow summary and description as $ref siblings (#2181)
MikeRalphson Mar 26, 2020
6abda3b
Merge pull request #2101 from Arhimenrius/correct-style-values-types
earth2marsh Apr 9, 2020
1a8d44f
HTTP not REST (#1946)
philsturgeon Apr 9, 2020
d5b65bb
Missing updates
webron May 6, 2020
3678d30
Merge pull request #2224 from OAI/Missing-updates
MikeRalphson May 7, 2020
ece5497
Remove boolean compatibility for exclusive* (#2226)
handrews May 14, 2020
69662e4
Update "format" and "content*" for new JSON Schema (#2200)
handrews May 28, 2020
835a18f
[3.1.0-dev] drop OAS semver requirement (#2243)
MikeRalphson May 28, 2020
ee77d2d
Remove "nullable" entirely (#2246)
handrews May 28, 2020
3a96dfe
Update version for release (#2269)
webron Jun 18, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@

![](https://avatars3.githubusercontent.com/u/16343502?v=3&s=200)


**This is the WIP branch for the next minor version of the spec - 3.1.0. Non-breaking changes should be submitted against this branch, specifically against [3.1.0.md](https://github.com/OAI/OpenAPI-Specification/blob/v3.1.0-dev/versions/3.1.0.md).**


The OpenAPI Specification is a community-driven open specification within the [OpenAPI Initiative](https://www.openapis.org/), a Linux Foundation Collaborative Project.

The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for [REST APIs](https://en.wikipedia.org/wiki/Representational_state_transfer), 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.
The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for HTTP 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.
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 APIs 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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in this case "API's service" is the correct use of the possessive, as the services belong to the API.


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.
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 HTTP APIs, but does include support for [REST APIs](https://en.wikipedia.org/wiki/Representational_state_transfer). 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 HTTP API.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: an HTTP


This GitHub project is the starting point for OpenAPI. Here you will find the information you need about the OpenAPI Specification, simple examples of what it looks like, and some general information regarding the project.

Expand Down
61 changes: 61 additions & 0 deletions examples/v3.1/webhook-example.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
openapi: 3.1.0
info:
title: Webhook Example
version: 1.0.0
paths:
# OpenAPI documents all need a paths element
/pets:
get:
summary: List all pets
operationId: listPets
parameters:
- name: limit
in: query
description: How many items to return at one time (max 100)
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A paged array of pets
content:
application/json:
schema:
$ref: "#/components/schemas/Pets"

webhooks:
# Each webhook needs a name
newPet:
# This is a Path Item Object, the only difference is that the request is initiated by the API provider
post:
requestBody:
description: Information about a new pet in the system
content:
application/json:
schema:
$ref: "#/components/schemas/Pet"
responses:
"200":
description: Return a 200 status to indicate that the data was received successfully

components:
schemas:
Pet:
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
Pets:
type: array
items:
$ref: "#/components/schemas/Pet"


Loading