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}
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.
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:
- draft-handrews-json-schema-02 (core)
- draft-handrews-json-schema-validation-02
- draft-handrews-json-schema-hyperschema-02
- draft-handrews-relative-json-pointer-02
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.
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. |
These are relevant primarily to people who want to write their own meta-schemas that build on specific parts of the existing specification.
- Core Vocabulary meta-schema
- Applicator Vocabulary meta-schema
- Validation Vocabulary meta-schema
- Format Vocabulary meta-schema
- Content Vocabulary meta-schema
- Meta-Data Vocabulary meta-schema
- Hyper-Schema Vocabulary meta-schema
- JSON Schema recommended output schema
- JSON Hyper-Schema recommended output schema
- JSON Schema verbose output example
The release notes discuss the changes impacting users and implementers:
- JSON Schema Core and Validation
- JSON Hyper-Schema
Please see Specification Links for older drafts and the latest unreleased version of the specification.