Validation Vocabulary Official Included By Default

A vocabulary that defines keywords that impose requirements for successful validation of an instance.

Keywords

Keyword Kind Instance Summary
type Assertion Any Validation succeeds if the type of the instance matches the type represented by the given type, or matches at least one of the given types.
enum Assertion Any Validation succeeds if the instance is equal to one of the elements in this keyword’s array value.
const Assertion Any Validation succeeds if the instance is equal to this keyword’s value.
multipleOf Assertion Number A numeric instance is valid only if division by this keyword’s value results in an integer.
maximum Assertion Number Validation succeeds if the numeric instance is less than or equal to the given number.
exclusiveMaximum Assertion Number Validation succeeds if the numeric instance is less than the given number.
minimum Assertion Number Validation succeeds if the numeric instance is greater than or equal to the given number.
exclusiveMinimum Assertion Number Validation succeeds if the numeric instance is greater than the given number.
maxLength Assertion String A string instance is valid against this keyword if its length is less than, or equal to, the value of this keyword.
minLength Assertion String A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword.
pattern Assertion String A string instance is considered valid if the regular expression matches the instance successfully.
items Applicator Array If set to a schema, validation succeeds if each element of the instance validates against it, otherwise validation succeeds if each element of the instance validates against the schema at the same position, if any
additionalItems Applicator Array If items is set to an array of schemas, validation succeeds if each element of the instance not covered by it validates against this schema.
maxItems Assertion Array An array instance is valid if its size is less than, or equal to, the value of this keyword.
minItems Assertion Array An array instance is valid if its size is greater than, or equal to, the value of this keyword.
uniqueItems Assertion Array If this keyword is set to the boolean value true, the instance validates successfully if all of its elements are unique.
contains Applicator Array Validation succeeds if the instance contains an element that validates against this schema.
maxProperties Assertion Object An object instance is valid if its number of properties is less than, or equal to, the value of this keyword.
minProperties Assertion Object An object instance is valid if its number of properties is greater than, or equal to, the value of this keyword.
required Assertion Object An object instance is valid against this keyword if every item in the array is the name of a property in the instance.
properties Applicator Object Validation succeeds if, for each name that appears in both the instance and as a name within this keyword’s value, the child instance for that name successfully validates against the corresponding schema.
patternProperties Applicator Object Validation succeeds if, for each instance name that matches any regular expressions that appear as a property name in this keyword’s value, the child instance for that name successfully validates against each schema that corresponds to a matching regular expression.
additionalProperties Applicator Object Validation succeeds if the schema validates against each value not matched by other object applicators in this vocabulary.
dependencies Assertion Object Validation succeeds if, for each name that appears in both the instance and as a name within this keyword’s value, either every item in the corresponding array is also the name of a property in the instance or the corresponding subschema successfully evaluates against the instance.
propertyNames Applicator Object Validation succeeds if the schema validates against every property name in the instance.
if Applicator Any This keyword declares a condition based on the validation result of the given schema.
then Applicator Any When if is present, and the instance successfully validates against its subschema, then validation succeeds against this keyword if the instance also successfully validates against this keyword’s subschema.
else Applicator Any When if is present, and the instance fails to validate against its subschema, then validation succeeds against this keyword if the instance successfully validates against this keyword’s subschema.
allOf Applicator Any An instance validates successfully against this keyword if it validates successfully against all schemas defined by this keyword’s value.
anyOf Applicator Any An instance validates successfully against this keyword if it validates successfully against at least one schema defined by this keyword’s value.
oneOf Applicator Any An instance validates successfully against this keyword if it validates successfully against exactly one schema defined by this keyword’s value.
not Applicator Any An instance is valid against this keyword if it fails to validate successfully against the schema defined by this keyword.
format Annotation String Define semantic information about a string instance.
contentEncoding Annotation String The string instance should be interpreted as encoded binary data and decoded using the encoding named by this property.
contentMediaType Annotation String This keyword declares the media type of the string instance.
definitions Reserved Location Any This keyword reserves a location for schema authors to inline re-usable JSON Schemas into a more general schema.
title Annotation Any A preferably short description about the purpose of the instance described by the schema.
description Annotation Any An explanation about the purpose of the instance described by the schema.
default Annotation Any This keyword can be used to supply a default JSON value associated with a particular schema.
readOnly Annotation Any This keyword indicates that the value of the instance is managed exclusively by the owning authority, and attempts by an application to modify the value of this property are expected to be ignored or rejected by that owning authority.
writeOnly Annotation Any This keyword indicates that the value is never present when the instance is retrieved from the owning authority.
examples Annotation Any This keyword is used to provide sample JSON values associated with a particular schema, for the purpose of illustrating usage.