NEW DRAFT PUBLISHED!
The current version is 2019-09!
- Draft numbering
- Specification documents
- General-purpose meta-schemas
- Single-vocabulary meta-schemas
- Output schemas and examples
- Migrating from older drafts
- Older drafts
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)
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
Output schemas and examples
- JSON Schema recommended output schema
- JSON Hyper-Schema recommended output schema
- JSON Schema verbose output example
Migrating from older drafts
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.