Skip to content

Latest commit

 

History

History
94 lines (67 loc) · 4.88 KB

specification.md

File metadata and controls

94 lines (67 loc) · 4.88 KB
layout redirect_from permalink title
page
/documentation.html
/specification.html
Specification

NEW DRAFT PUBLISHED! {: style="color:red; font-size: 200%; text-align: center;"}

The current version is 2019-09! {: style="color:gray; font-size: 150%; text-align: center;"}

  • TOC {:toc}

Draft numbering

The latest Internet-Drafts at the IETF are the draft-handrews-json-schema*-02 documents, which correspond to the 2019-09 meta-schemas. These were published on 2019-09-16.

For a full explanation of both the IETF and meta-schema numbering schemes, how they correspond, and why we are now using the date-based 2019-09 rather than draft-08, see the Specification Links page.

Specification documents

See also the release notes / change log.

The specification is split into three parts, Core, Validation, and Hyper-Schema, along with a related specification, Relative JSON Pointers:

|--------------------------------------------------------------|-------------------------------------------------------| | JSON Schema Core | defines the basic foundation of JSON Schema | | JSON Schema Validation | defines the validation keywords of JSON Schema | | JSON Hyper-Schema | defines the hyper-media 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. They are self-descriptive: the JSON Schema meta-schema validates itself, while the JSON Hyper-Schema meta-schema both validates itself and defines its own "self" link.

The latest meta-schema is 2019-09. 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-schemas

These serve the same function as the analogous meta-schemas from past drafts, although note that the core and validation schema is no longer self-contained.

|--------------------------------------------------------------|------------------------------------------------------------| | Core/Validation meta-schema | Used for schemas written for pure validation. | | Hyper meta-schema | Used for schemas written for validation and hyper-linking. |

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.