Draft 2019-09 (formerly known as Draft 8)

General use


JSON Schema meta-schema

keywords supported notes
definitions yes It is suggested to use $defs instead
dependencies no
keywords supported
rel no
href no

Individual Vocabulary


Core Vocabulary meta-schema

keywords supported required acceptable values notes
$id yes yes Used as identification in the MessageSystem as the schemaDictionary
$schema yes yes "https://json-schema.org/draft/2019-09/schema"
$anchor no
$ref yes Only references to the relative schemas $def property
$recursiveRef no
$recursiveAnchor no
$vocabulary no
$comment no
$defs yes

Applicator Vocabulary meta-schema

keywords associated type supported <form> notes
additionalItems "array" no
unevaluatedItems "array" no
items "array" yes
contains "array" no
additionalProperties "object" yes
unevaluatedProperties "object" no
properties "object" yes
patternProperties "object" no
dependentSchemas no
propertyNames "object" no
if no
then no
else no
not no
oneOf yes Generates a <select>
anyOf yes Generates a <select>
allOf no

Validation Vocabulary meta-schema

keywords associated type supported required acceptable values <form> notes
multipleOf "number" yes Converts to the <input> step attribute
maximum "number" yes Converts to the <input> max attribute
exclusiveMaximum "number" no
minimum "number" yes Converts to the <input> min attribute
exclusiveMinimum "number" no
maxLength "string" no
minLength "string" no
pattern "string" no
minItems "array" yes
maxItems "array" yes
uniqueItems "array" no
minContains "array" no
maxContains "array" no
maxProperties "object" no
minProperties "object" no
required "object" yes Converts to the form elements required attribute
dependentRequired "object" no
const all
enum all Converts form elements to a <select>
type yes yes "string" | "number" | "array" | "object" | "boolean" | "null" Generates form elements e.g. "boolean" converts to <input type="checkbox">

Format Vocabulary meta-schema

keywords supported
format no

Content Vocabulary meta-schema

keywords supported
contentMediaType no
contentEncoding no
contentSchema no

Meta-Data Vocabulary meta-schema

keywords supported <form> notes
title yes Converts to a <label>
description yes Converts to a title attribute which creates a native tooltip
default yes Displays in the form element if no value is assigned
deprecated yes
readOnly yes
writeOnly yes
examples yes

Hyper-Schema Vocabulary meta-schema

keywords supported
base no
links no