Specification
The current version is 2019-09!
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:
- draft-handrews-json-schema-02 (core)
- draft-handrews-json-schema-validation-02
- draft-handrews-json-schema-hyperschema-02
- draft-handrews-relative-json-pointer-02
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.
- 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
Older drafts
Please see Specification Links for older drafts and the latest unreleased version of the specification.