This keyword is reserved for comments from schema authors to readers or
maintainers of the schema. The value of this keyword MUST be a string.
Implementations MUST NOT present this string to end users. Tools for
editing schemas SHOULD support displaying and editing this keyword.
$idOptionalInherited
string
The "$id" keyword defines a URI for the schema, and the base URI that other
URI references within the schema are resolved against. A subschema's "$id"
is resolved against the base URI of its parent schema. If no parent sets an
explicit base with "$id", the base URI is that of the entire document, as
determined per [RFC 3986 section 5][RFC3986].
$refOptionalInherited
string
The "$ref" keyword is used to reference a schema, and provides the ability
to validate recursive structures through self-reference.
$schemaOptionalInherited
string
The "$schema" keyword is both used as a JSON Schema version identifier and
the location of a resource which is itself a JSON Schema, which describes
any schema written for this particular version.
additionalItemsOptionalInherited
JSONSchema | boolean
The value of "additionalItems" MUST be a valid JSON Schema.
additionalPropertiesOptionalInherited
JSONSchema | boolean
The value of "additionalProperties" MUST be a valid JSON Schema.
allOfOptionalInherited
false[] | true[] | JSONSchema[]
This keyword's value MUST be a non-empty array. Each item of the array MUST
be a valid JSON Schema.
anyOfOptionalInherited
false[] | true[] | JSONSchema[]
This keyword's value MUST be a non-empty array. Each item of the array MUST
be a valid JSON Schema.
constOptionalInherited
any
The value of this keyword MAY be of any type, including null.
containsOptionalInherited
JSONSchema | boolean
The value of this keyword MUST be a valid JSON Schema.
If the instance value is a string, this property defines that the string
SHOULD be interpreted as binary data and decoded using the encoding named
by this property. [RFC 2045, Sec 6.1][RFC2045] lists the possible values for
this property.
contentMediaTypeOptionalInherited
string
The value of this property must be a media type, as defined by
[RFC 2046][RFC2046]. This property defines the media type of instances
which this schema defines.
defaultOptionalInherited
any
There are no restrictions placed on the value of this keyword. When
multiple occurrences of this keyword are applicable to a single
sub-instance, implementations SHOULD remove duplicates.
definitionsOptionalInherited
[key: string]: JSONSchema | boolean
The "definitions" keywords provides a standardized location for schema
authors to inline re-usable JSON Schemas into a more general schema. The
keyword does not directly affect the validation result.
This keyword specifies rules that are evaluated if the instance is an
object and contains a certain property.
descriptionOptionalInherited
string
Can be used to decorate a user interface with explanation or information
about the data produced.
elseOptionalInherited
JSONSchema | boolean
This keyword's value MUST be a valid JSON Schema.
enumOptionalInherited
any[]
The value of this keyword MUST be an array. This array SHOULD have at least
one element. Elements in the array SHOULD be unique.
examplesOptionalInherited
any[]
The value of this keyword MUST be an array. There are no restrictions
placed on the values within the array. When multiple occurrences of this
keyword are applicable to a single sub-instance, implementations MUST
provide a flat array of all values rather than an array of arrays.
exclusiveMaximumOptionalInherited
number
The value of "exclusiveMaximum" MUST be number, representing an exclusive
upper limit for a numeric instance.
exclusiveMinimumOptionalInherited
number
The value of "exclusiveMinimum" MUST be number, representing an exclusive
lower limit for a numeric instance.
The "format" keyword functions as both an [annotation][annotation] and as
an [assertion][assertion]. While no special effort is required to implement
it as an annotation conveying semantic meaning, implementing validation is
non-trivial.
The value of "items" MUST be either a valid JSON Schema or an array of
valid JSON Schemas.
maxItemsOptionalInherited
number
The value of this keyword MUST be a non-negative integer.
maxLengthOptionalInherited
number
The value of this keyword MUST be a non-negative integer.
maxPropertiesOptionalInherited
number
The value of this keyword MUST be a non-negative integer.
maximumOptionalInherited
number
The value of "maximum" MUST be a number, representing an inclusive upper
limit for a numeric instance.
minItemsOptionalInherited
number
The value of this keyword MUST be a non-negative integer.
minLengthOptionalInherited
number
The value of this keyword MUST be a non-negative integer.
minPropertiesOptionalInherited
number
The value of this keyword MUST be a non-negative integer.
minimumOptionalInherited
number
The value of "minimum" MUST be a number, representing an inclusive lower
limit for a numeric instance.
multipleOfOptionalInherited
number
The value of "multipleOf" MUST be a number, strictly greater than 0.
notOptionalInherited
JSONSchema | boolean
This keyword's value MUST be a valid JSON Schema.
oneOfOptionalInherited
false[] | true[] | JSONSchema[]
This keyword's value MUST be a non-empty array. Each item of the array MUST
be a valid JSON Schema.
patternOptionalInherited
string
The value of this keyword MUST be a string. This string SHOULD be a valid
regular expression, according to the ECMA 262 regular expression dialect.
patternPropertiesOptionalInherited
[key: string]: JSONSchema | boolean
The value of "patternProperties" MUST be an object. Each property name of
this object SHOULD be a valid regular expression, according to the ECMA 262
regular expression dialect. Each property value of this object MUST be a
valid JSON Schema.
propertiesOptionalInherited
[key: string]: JSONSchema | boolean
The value of "properties" MUST be an object. Each value of this object MUST
be a valid JSON Schema.
propertyNamesOptionalInherited
JSONSchema | boolean
The value of "propertyNames" MUST be a valid JSON Schema.
readOnlyOptionalInherited
boolean
The value of this keywords MUST be a boolean. When multiple occurrences of
this keyword are applicable to a single sub-instance, the resulting value
MUST be true if any occurrence specifies a true value, and MUST be false
otherwise.
requiredOptionalInherited
string[]
The value of this keyword MUST be an array. Elements of this array, if any,
MUST be strings, and MUST be unique.
thenOptionalInherited
JSONSchema | boolean
This keyword's value MUST be a valid JSON Schema.
titleOptionalInherited
string
Can be used to decorate a user interface with a short label about the data
produced.
uniqueItemsOptionalInherited
boolean
The value of this keyword MUST be a boolean.
writeOnlyOptionalInherited
boolean
The value of this keyword MUST be a boolean. When multiple occurrences of
this keyword is applicable to a single sub-instance, the resulting value
MUST be true if any occurrence specifies a true value, and MUST be false
otherwise.