Skip to content
This repository has been archived by the owner on Nov 2, 2023. It is now read-only.

Latest commit

 

History

History
84 lines (62 loc) · 4.3 KB

specification.md

File metadata and controls

84 lines (62 loc) · 4.3 KB
layout redirect_from permalink title
page
/documentation.html
/specification.html
Specification

The current version is 2020-12! The previous version was 2019-09.

Specification documents

See also the release notes / change log (Work in progress).

The specification is split into two parts, Core and Validation. We also publish the Relative JSON Pointers spec although it's not currently used by Core or Validation in any significant way.

|--------------------------------------------------------------|-------------------------------------------------------| | JSON Schema Core | defines the basic foundation of JSON Schema | | JSON Schema Validation | defines the validation keywords of JSON Schema | | Relative JSON Pointers | extends the JSON Pointer syntax for relative pointers |

They are also available on the IETF main site:

Meta-schemas

The meta-schemas are schemas against which other schemas can be validated. It is self-descriptive: the JSON Schema meta-schema validates itself.

The latest meta-schema is 2020-12. For an explanation of the change to date-based identifiers, see the Specification Links page.

If you are accessing these JSON document links from a web browser, you will need to save the file then open it as a JSON document. This is due to limitations with GitHub Pages.

General-purpose meta-schema

Please note, additional vocabulary specific schema files are needed to fully construct and use the Core/Validation Dialect meta-schema.

|--------------------------------------------------------------|------------------------------------------------------------| | Core/Validation Dialect meta-schema | Used for schemas written for pure validation. | | Hyper-Schema Dialect meta-schema | Used for schemas written for validation (2020-12) and hyper-linking (2019-09).| | Recommended Output meta-schema| Recommended output structure of the application process. |

Single-vocabulary meta-schemas

These are relevant primarily to people who want to write their own meta-schemas that build on specific parts of the existing specification.

Output schemas and examples

Migrating from older drafts

The release notes discuss the changes impacting users and implementers:

Older drafts

Please see Specification Links for older drafts and the latest unreleased version of the specification.