You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.4 KiB
42 lines
1.4 KiB
3 years ago
|
# OpenAPI 3.1.X JSON Schema
|
||
|
|
||
|
Here you can find the JSON Schema for validating OpenAPI definitions of versions
|
||
|
3.1.X.
|
||
|
|
||
|
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 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.
|
||
|
|
||
|
The `schema.yaml` schema doesn't validate the JSON Schemas in your OpenAPI
|
||
|
document because 3.1 allows you to use any JSON Schema dialect you choose. We
|
||
|
have also included `schema-base.yaml` that extends the main schema to validate
|
||
|
that all schemas use the default OAS base vocabulary.
|
||
|
|
||
|
## Contributing
|
||
|
To submit improvements to the schema, modify the schema.yaml file only.
|
||
|
|
||
|
The TSC will then:
|
||
|
- Run tests on the updated schema
|
||
|
- Update the iteration version
|
||
|
- Convert the schema.yaml to schema.json
|
||
|
- Publish the new version
|
||
|
|
||
|
## Tests
|
||
|
The test suite is included as a git submodule of https://github.com/Mermade/openapi3-examples.
|
||
|
|
||
|
```bash
|
||
|
npx mocha --recursive tests
|
||
|
```
|
||
|
|
||
|
You can also validate a document individually.
|
||
|
|
||
|
```bash
|
||
|
scripts/validate.js path/to/document/to/validate.yaml
|
||
|
```
|