Skip to content

feat/additional operations #4513

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

Closed
wants to merge 172 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
172 commits
Select commit Hold shift + click to select a range
e9eef10
Initialize src/oas.md from 3.1.1.md
handrews Nov 10, 2024
76409f4
Initialize schemas from v3.1
handrews Nov 10, 2024
780522c
Start next release, bump version to 3.2.0
handrews Oct 21, 2024
4ae387f
Use dev schema for schema tests
ralfhandl Nov 13, 2024
b5d5809
Validate src/oas.md
ralfhandl Nov 13, 2024
95ee947
Merge pull request #4199 from ralfhandl/dev-validate-oas.md
lornajane Nov 14, 2024
165a5a4
Merge pull request #4198 from ralfhandl/dev-schema-tests
handrews Nov 21, 2024
b7f68a9
Merge remote-tracking branch 'upstream/main' into dev-update-from-main
ralfhandl Nov 21, 2024
98725de
Merge pull request #4216 from ralfhandl/dev-update-from-main
handrews Nov 21, 2024
a9643e1
Update schema.yaml in src
ralfhandl Nov 21, 2024
77c76f8
Merge pull request #4218 from ralfhandl/dev-update-src-schema
handrews Nov 21, 2024
61a9fb3
Merge pull request #4217 from OAI/dev
handrews Nov 21, 2024
0c1c63f
Let Security Schemes declare deprecation (#2532)
philsturgeon Nov 11, 2021
9b341bf
Add Device Code authorization to the supported OAuth Flows (#2964)
LikeLakers2 May 18, 2023
71765db
add oauth2MetadataUrl (#3694)
AxelNennker Apr 18, 2024
09d2714
Security Scheme `deprecated` applies to Any type
handrews Nov 25, 2024
d2c39a8
Merge pull request #4188 from handrews/v3.2-migrate
lornajane Nov 28, 2024
681dab7
docs: adds draft abnf for path templating
baywet Dec 5, 2024
09f5c1c
fix: removes fragment part
baywet Dec 5, 2024
fb13676
Apply suggestions from code review
baywet Dec 6, 2024
b6d642f
fix: removes query parameter
baywet Dec 6, 2024
3d83a95
Build HTML from src/oas.md
ralfhandl Dec 16, 2024
fc57608
Apparent consensus
ralfhandl Dec 16, 2024
1da9fbb
chore: adds pchar from RFC3986
baywet Dec 16, 2024
566aee4
chore: makes slash terminal
baywet Dec 16, 2024
758f44b
chore: updates wording
baywet Dec 16, 2024
e4caedc
chore: moves RFC references outside of ABNF block for path templates
baywet Dec 17, 2024
3063a89
chore: adds missing quotes
baywet Dec 17, 2024
a2873d8
chore: removes basic alpha digit hexdig definition
baywet Dec 17, 2024
d1c9e87
Merge branch 'feat/url-template-anbf-to-3-2-dev' of https://github.co…
baywet Dec 17, 2024
72d93b8
chore: explicitly lists out which definitions come from another RFC
baywet Dec 18, 2024
ee4b871
docs: adds server url template anbf
baywet Dec 18, 2024
53f96d7
Merge pull request #4244 from baywet/feat/url-template-anbf-to-3-2-dev
ralfhandl Dec 18, 2024
a89f36d
fix: expands the allowed set for server templates literal
baywet Dec 19, 2024
72eec29
fix: adds literals to the list of imported definitions
baywet Dec 19, 2024
cf00256
nit: groups literals with the imported definitions
baywet Dec 19, 2024
069f2be
nit: aligns literal definition
baywet Dec 19, 2024
a3425f2
builld into deploy-preview
ralfhandl Dec 19, 2024
e3f9dca
fix: updates literals with content from errata
baywet Dec 20, 2024
d1ce259
nit: changes the server variable name to avoid confusion and allow fo…
baywet Dec 20, 2024
984ee11
Merge pull request #4271 from OAI/main
ralfhandl Dec 21, 2024
0b187b6
Temp files in deploy-preview
ralfhandl Dec 23, 2024
45f197a
fix: adds mention that errata has been applied
baywet Dec 23, 2024
b9c7b91
Tempfile in folder next to js folder
ralfhandl Dec 23, 2024
0d02843
Fix Path Templating ABNF grammar
char0n Dec 25, 2024
bfd5088
fix: missing z character
baywet Dec 27, 2024
60a747f
Merge branch 'v3.2-dev' into feat/server-template-abnf-to-3-2-dev
baywet Dec 27, 2024
6e4f8d6
fix: missing z in url templating
baywet Dec 27, 2024
0d0c9da
Merge pull request #4264 from baywet/feat/server-template-abnf-to-3-2…
miqui Jan 2, 2025
d88c50e
Merge pull request #4279 from swaggerexpert/char0n/path-templating-ab…
miqui Jan 2, 2025
f822af7
Add more fields to the tag object, from the proposal
lornajane Jan 3, 2025
d3d8633
Better formatting of examples
lornajane Jan 3, 2025
3b31b7e
docs: adds links to annex C in path and server templating sections
baywet Jan 7, 2025
126d46a
Merge remote-tracking branch 'upstream/dev' into dev-build-src
ralfhandl Jan 8, 2025
b87e39c
fix: adds reference to paths object guidance from server variables
baywet Jan 9, 2025
fd34321
Merge pull request #4292 from baywet/feat/annex-c-pointers
handrews Jan 9, 2025
a055eca
Improve tag kind wording and link registry
lornajane Jan 10, 2025
581391a
Typo
ralfhandl Jan 10, 2025
8a2bb17
Preview and lint spec changes
ralfhandl Jan 15, 2025
e8a0d07
Merge pull request #4254 from ralfhandl/dev-build-src
handrews Jan 15, 2025
0571af7
Merge pull request #4288 from lornajane/improved-tags
lornajane Jan 16, 2025
cde67e1
validate markdown in build-src
ralfhandl Jan 18, 2025
bf9155d
Merge pull request #4311 from ralfhandl/dev-validate-markdown-in-buil…
ralfhandl Jan 22, 2025
78320b6
New script format-markdown
ralfhandl Feb 6, 2025
f1d5629
First draft of optional discriminator feature
mikekistler Feb 6, 2025
6c91a0b
Address comments from PR review
mikekistler Feb 9, 2025
328d6a3
Merge remote-tracking branch 'upstream/main' into dev-update-from-main
ralfhandl Feb 10, 2025
9faf031
Apply suggestions from PR review
mikekistler Feb 11, 2025
7ebde14
Use defaultMapping keyword in discriminator
mikekistler Feb 11, 2025
0d996cc
Add new tags fields to schema
lornajane Feb 13, 2025
0980f61
Merge pull request #4344 from ralfhandl/dev-update-from-main
ralfhandl Feb 13, 2025
ca59b57
Merge pull request #4353 from lornajane/add-tags-to-schema
lornajane Feb 13, 2025
cefa986
Remove obsolete schemas folder
ralfhandl Feb 13, 2025
70ae381
Adjust README.md
ralfhandl Feb 13, 2025
d6d0fe7
Update schema-publish.yaml
ralfhandl Feb 13, 2025
b54b525
No loop, just work on src/schemas/validation
ralfhandl Feb 13, 2025
9d4f648
Update schema-publish.yaml
ralfhandl Feb 13, 2025
c43615c
npm script for building schemas locally
ralfhandl Feb 14, 2025
183ac8b
Run only on changes to inputs and scripts
ralfhandl Feb 14, 2025
bd302e3
Update schema-publish.yaml
ralfhandl Feb 14, 2025
494222b
Use branch name
ralfhandl Feb 14, 2025
94700fd
Prefer Discriminator Object terminology
mikekistler Feb 14, 2025
d36a8ff
More updates for PR review comments
mikekistler Feb 15, 2025
27216de
Add back polymorphic example using allOf
mikekistler Feb 15, 2025
4600360
Merge pull request #4336 from ralfhandl/dev-format-src-oas.md
ralfhandl Feb 17, 2025
3f82212
Apply suggestions from code review
ralfhandl Feb 17, 2025
4018f80
Update src/oas.md
ralfhandl Feb 17, 2025
00d4de1
Bump spec version to 3.2
ralfhandl Feb 17, 2025
92e11ec
Bump spec version in schema files
ralfhandl Feb 17, 2025
3c30838
Align terminology
ralfhandl Feb 17, 2025
1919c0b
build-src uses build.sh, remove build-src.sh
ralfhandl Feb 18, 2025
aaa779b
Update src/schemas/validation/README.md
ralfhandl Feb 18, 2025
0a41814
Update schema-publish.sh
ralfhandl Feb 18, 2025
3e2604f
Merge branch 'dev-schemas-live-in-src' of https://github.com/ralfhand…
ralfhandl Feb 18, 2025
6f75109
Update package.json
ralfhandl Feb 18, 2025
35b2333
Merge pull request #4369 from ralfhandl/dev-one-spec-build-script
lornajane Feb 20, 2025
afa9511
Update schema-publish.yaml
ralfhandl Feb 20, 2025
90f9f2f
Update README.md
ralfhandl Feb 20, 2025
92e5fc9
Merge pull request #4361 from ralfhandl/dev-schemas-live-in-src
lornajane Feb 20, 2025
5dc0d94
Use correct pattern
ralfhandl Feb 21, 2025
4056207
Merge pull request #4378 from ralfhandl/dev-fix-schema-publish.yaml
lornajane Feb 22, 2025
df69933
Reference RFC 9110 instead of RFCs 7230, 7231, and 7235
ralfhandl Feb 24, 2025
c11fda7
Use defaultMapping for unmapped discriminating values
mikekistler Feb 24, 2025
20117c7
Update schema-publish.sh
duncanbeevers Feb 15, 2025
5c8ce0e
Merge pull request #4376 from duncanbeevers/dev-schemas-live-in-src
ralfhandl Feb 25, 2025
da3c386
Apply suggestions from PR review
mikekistler Feb 27, 2025
8a2e070
Remove yaml2json
duncanbeevers Feb 27, 2025
9f113bd
Merge pull request #4386 from duncanbeevers/remove-yaml2json
ralfhandl Feb 28, 2025
6da8d26
New fixed fields in Security Scheme Object
ralfhandl Feb 28, 2025
f981427
Update schema-publish.sh
ralfhandl Mar 1, 2025
2e745dc
refreshUrl is a uri-reference
ralfhandl Mar 1, 2025
143c641
Merge pull request #4392 from OAI/main
ralfhandl Mar 6, 2025
35422e1
Merge pull request #4397 from OAI/dev
ralfhandl Mar 6, 2025
9f2a02b
Merge remote-tracking branch 'upstream/v3.2-dev' into 3.2-version-in-…
ralfhandl Mar 6, 2025
d1a2f0a
Change schema test fixtures openapi field to 3.2.0
ralfhandl Mar 6, 2025
70dbe5e
Merge pull request #4394 from ralfhandl/3.2-new-security-scheme-objec…
lornajane Mar 6, 2025
bfc3f8a
Merge pull request #4411 from OAI/main
lornajane Mar 6, 2025
f3c6b32
Merge pull request #4415 from OAI/dev
lornajane Mar 6, 2025
9c59e42
Merge remote-tracking branch 'upstream/v3.2-dev' into 3.2-reference-R…
ralfhandl Mar 7, 2025
d83602d
Fix typo
ralfhandl Mar 7, 2025
ff43df4
Update oas.md
ralfhandl Mar 7, 2025
311c1f7
Fix misspelled anchor tags
ralfhandl Mar 7, 2025
11b2b44
Merge pull request #4422 from OAI/ralfhandl-patch-1
ralfhandl Mar 7, 2025
9755f94
Revert "Fix typo"
ralfhandl Mar 7, 2025
d217c12
Merge remote-tracking branch 'upstream/v3.2-dev' into 3.2-reference-R…
ralfhandl Mar 7, 2025
d7bbe0e
Merge pull request #4421 from OAI/main
ralfhandl Mar 10, 2025
bf4a5ee
Merge pull request #4424 from OAI/dev
ralfhandl Mar 10, 2025
5e1aebe
Merge pull request #4399 from ralfhandl/dev-schema-publish-fix-error-…
handrews Mar 13, 2025
e801855
Merge pull request #4432 from OAI/dev
ralfhandl Mar 13, 2025
3e72c1c
Merge pull request #4438 from OAI/main
ralfhandl Mar 14, 2025
8acb75c
Merge pull request #4441 from OAI/dev
ralfhandl Mar 14, 2025
2ae9e1e
Merge pull request #4443 from OAI/main
ralfhandl Mar 17, 2025
c24d89d
Merge pull request #4446 from OAI/dev
ralfhandl Mar 17, 2025
3bc53b8
Merge pull request #4449 from OAI/main
ralfhandl Mar 18, 2025
c321b1e
Merge pull request #4451 from OAI/dev
ralfhandl Mar 18, 2025
521a391
schema tests: output reason if "pass" test fixture fails
ralfhandl Mar 18, 2025
7ff212b
Schema coverage: 100%
ralfhandl Mar 18, 2025
50f65f5
Allow URIs for Security Schemes
handrews Feb 24, 2025
33aef07
Review feedback
handrews Mar 13, 2025
fcc25e5
Merge pull request #4457 from OAI/main
ralfhandl Mar 19, 2025
ac2fde4
Merge pull request #4461 from OAI/dev
ralfhandl Mar 19, 2025
5599cd3
Update JSON Schema references to latest 2020-12 draft
ralfhandl Mar 19, 2025
9e1ff6b
feat: adds a name field to the server object
baywet Mar 19, 2025
f142681
chore: updates schema for server name field
baywet Mar 19, 2025
49f43d4
Update src/schemas/validation/schema.yaml
baywet Mar 19, 2025
5ed147c
ci: adds a test value
baywet Mar 19, 2025
cc1be37
Merge branch 'feat/server-name' of https://github.com/baywet/OpenAPI-…
baywet Mar 19, 2025
c4dfef1
Merge pull request #4339 from OAI/mdk/optional-discriminator
handrews Mar 20, 2025
ee236ee
Merge pull request #4367 from ralfhandl/3.2-version-in-schema
handrews Mar 20, 2025
c555c94
Merge pull request #4455 from ralfhandl/dev-schema-tests.-with-diagno…
handrews Mar 20, 2025
4ed2493
Merge pull request #4476 from OAI/dev
ralfhandl Mar 20, 2025
ee38f90
Merge pull request #4474 from OAI/main
ralfhandl Mar 20, 2025
0da8496
Merge pull request #4478 from OAI/dev
ralfhandl Mar 20, 2025
e54843b
Merge remote-tracking branch 'upstream/v3.2-dev' into 3.2-schema-test…
ralfhandl Mar 20, 2025
bb79c48
Merge pull request #4483 from OAI/main
ralfhandl Mar 21, 2025
f05be64
Merge pull request #4485 from OAI/dev
ralfhandl Mar 21, 2025
41c0ba7
Merge pull request #4380 from ralfhandl/3.2-reference-RFC9110
miqui Mar 22, 2025
90a3d7f
Merge pull request #4456 from ralfhandl/3.2-schema-test-coverage
miqui Mar 22, 2025
bcf3c58
Merge pull request #4467 from ralfhandl/3.2-reference-latest-json-sch…
miqui Mar 22, 2025
55d0c62
Merge pull request #4388 from handrews/sec-req-uri
miqui Mar 22, 2025
73f2e64
Merge pull request #4490 from OAI/main
ralfhandl Mar 24, 2025
bab4f12
Merge pull request #4497 from OAI/dev
ralfhandl Mar 24, 2025
2b0b342
Fixes #4487
ralfhandl Mar 26, 2025
b7a2d9f
fixes #3538
ralfhandl Mar 26, 2025
5929a54
Schema test case for device authorization
ralfhandl Mar 26, 2025
1a3ddd1
Merge pull request #4469 from baywet/feat/server-name
miqui Mar 27, 2025
a794bc6
Merge pull request #4499 from ralfhandl/3.2-reference-rfc8259
lornajane Mar 27, 2025
d2c3bdb
Merge pull request #4500 from ralfhandl/3.2-response-object-descripti…
lornajane Mar 27, 2025
af5986a
Merge pull request #4501 from ralfhandl/3.2-schema-coverage
lornajane Mar 27, 2025
1c4214a
Merge pull request #4498 from OAI/main
ralfhandl Mar 28, 2025
04cf0a5
Merge pull request #4511 from OAI/dev
ralfhandl Mar 28, 2025
701d460
feat: adds additional operations for path item object
baywet Mar 28, 2025
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
4,887 changes: 4,887 additions & 0 deletions src/oas.md

Large diffs are not rendered by default.

54 changes: 54 additions & 0 deletions src/schemas/validation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# OpenAPI 3.X.Y JSON Schema

This directory contains the YAML sources for generating the JSON Schemas for validating OpenAPI definitions of versions 3.X.Y, which are published on [https://spec.openapis.org](https://spec.openapis.org).

Due to limitations of GitHub pages, the schemas on the spec site are served with `Content-Type: application/octet-stream`, but should be interpreted as `application/schema+json`.

The sources in this directory, which have `WORK-IN-PROGRESS` in their `$id`s, are _not intended for direct use_.

## Schema `$id` dates

The published schemas on the spec site have an _iteration date_ in their `id`s.
This allows the schemas for a release line to be updated independent of the spec patch release cycle.

The iteration version of the JSON Schema can be found in the `$id` field.
For example, the value of `$id: https://spec.openapis.org/oas/3.1/schema/2021-03-02` means this iteration was created on March 2nd, 2021.

We are [working on](https://github.com/OAI/OpenAPI-Specification/issues/4152) how to best provide programmatic access for determining the latest date for each schema.

## Choosing which schema to use

There are two schemas to choose from for versions 3.1 and greater, both of which have an `$id` that starts with `https://spec.openapis.org/oas/3.X/` and ends with the iteration date:

* `https://spec.openapis.org/oas/3.X/schema/{date}`, source: `schema.yaml` — A self-contained schema that _does not_ validate Schema Objects beyond `type: [object, boolean]`
* `https://spec.openapis.org/oas/3.X/meta/{date}`, source: `meta.yaml` — The vocabulary metaschema for OAS 3.X's extensions to draft 2020-12
* `https://spec.openapis.org/oas/3.X/dialect/base/{date}`, source: `base.yaml` — The dialect metaschema that extends the standard `draft/2020-12` metaschema by adding the OAS "base" vocabulary
* `https://spec.openapis.org/oas/3.1/schema-base/{date}`, source: `schema-base.yaml` — A schema that combines the self-contained schema and the "base" dialect schema to validate Schema Objects with the dialect; this schema does not allow changing `$schema` or `jsonSchemaDialect` to other dialects

The name "base" for the dialect was intended to indicate that the OAS dialect could be further extended.

An additional schema that validates the Schema Object with the OAS 3.X dialect but does not restrict changing `$schema` is [under consideration](https://github.com/OAI/OpenAPI-Specification/issues/4147).

## Improving the schemas

As a reminder, the JSON Schema is not the source of truth for the Specification. In cases of conflicts between the Specification itself and the JSON Schema, the Specification wins. Also, some Specification constraints cannot be represented with the JSON Schema so it's highly recommended to employ other methods to ensure compliance.

The schema only validates the mandatory aspects of the OAS.
Validating requirements that are optional, or field usage that has undefined or ignored behavior are not within the scope of this schema.
Schemas to perform additional optional validation are [under consideration](https://github.com/OAI/OpenAPI-Specification/issues/4141).

Improvements can be submitted by opening a PR against the `vX.Y-dev` branch of the respective specification version.

Modify the `schema.yaml` file and add test cases for your changes.

The TSC will then:
- Run tests on the updated schema
- Update the iteration version
- Publish the new version

The [test suite](../../../tests/schema) is part of this package.

```bash
npm install
npm test
```
21 changes: 21 additions & 0 deletions src/schemas/validation/dialect.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
$id: https://spec.openapis.org/oas/3.2/dialect/WORK-IN-PROGRESS
$schema: https://json-schema.org/draft/2020-12/schema

title: OpenAPI 3.2 Schema Object Dialect
description: A JSON Schema dialect describing schemas found in OpenAPI v3.2.x Descriptions

$dynamicAnchor: meta

$vocabulary:
https://json-schema.org/draft/2020-12/vocab/applicator: true
https://json-schema.org/draft/2020-12/vocab/content: true
https://json-schema.org/draft/2020-12/vocab/core: true
https://json-schema.org/draft/2020-12/vocab/format-annotation: true
https://json-schema.org/draft/2020-12/vocab/meta-data: true
https://json-schema.org/draft/2020-12/vocab/unevaluated: true
https://json-schema.org/draft/2020-12/vocab/validation: true
https://spec.openapis.org/oas/3.2/vocab/base: false

allOf:
- $ref: https://json-schema.org/draft/2020-12/schema
- $ref: https://spec.openapis.org/oas/3.2/meta/WORK-IN-PROGRESS
70 changes: 70 additions & 0 deletions src/schemas/validation/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
$id: https://spec.openapis.org/oas/3.2/meta/WORK-IN-PROGRESS
$schema: https://json-schema.org/draft/2020-12/schema

title: OAS Base Vocabulary
description: A JSON Schema Vocabulary used in the OpenAPI JSON Schema Dialect

$dynamicAnchor: meta

$vocabulary:
https://spec.openapis.org/oas/3.2/vocab/base: true

type:
- object
- boolean
properties:
discriminator:
$ref: '#/$defs/discriminator'
example: true
externalDocs:
$ref: '#/$defs/external-docs'
xml:
$ref: '#/$defs/xml'

$defs:
discriminator:
$ref: '#/$defs/extensible'
properties:
mapping:
additionalProperties:
type: string
type: object
propertyName:
type: string
required:
- propertyName
type: object
unevaluatedProperties: false

extensible:
patternProperties:
^x-: true
external-docs:
$ref: '#/$defs/extensible'
properties:
description:
type: string
url:
format: uri-reference
type: string
required:
- url
type: object
unevaluatedProperties: false

xml:
$ref: '#/$defs/extensible'
properties:
attribute:
type: boolean
name:
type: string
namespace:
format: uri
type: string
prefix:
type: string
wrapped:
type: boolean
type: object
unevaluatedProperties: false
20 changes: 20 additions & 0 deletions src/schemas/validation/schema-base.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
$id: 'https://spec.openapis.org/oas/3.2/schema-base/WORK-IN-PROGRESS'
$schema: 'https://json-schema.org/draft/2020-12/schema'

description: The description of OpenAPI v3.2.x Documents using the OpenAPI JSON Schema dialect

$ref: 'https://spec.openapis.org/oas/3.2/schema/WORK-IN-PROGRESS'
properties:
jsonSchemaDialect:
$ref: '#/$defs/dialect'

$defs:
dialect:
const: 'https://spec.openapis.org/oas/3.2/dialect/WORK-IN-PROGRESS'

schema:
$dynamicAnchor: meta
$ref: 'https://spec.openapis.org/oas/3.2/dialect/WORK-IN-PROGRESS'
properties:
$schema:
$ref: '#/$defs/dialect'
Loading
Loading