The reference string.
It will match any property name (that will act as the dict's key, and the $ref or type will be the schema of the dict's value, and since there should not be more than one properties with the same name for every given object, we will get the enforcement of unique keys.
An instance validates successfully against this keyword if it validates successfully against all schemas defined by this keyword's value.
An instance validates successfully against this keyword if it validates successfully against at least one schema defined by this keyword's value.
The default value
Specifies that a schema is deprecated and SHOULD be transitioned out of usage. Default value is false.
CommonMark syntax MAY be used for rich text representation.
Adds support for polymorphism. The discriminator is an object name that is used to differentiate between other schemas which may satisfy the payload description. See Composition and Inheritance for more details.
A free-form property to include an example of an instance for this schema. To represent examples that cannot be naturally represented in JSON or YAML, a string value can be used to contain the example with escaping where necessary.
An upper limit for a numeric instance. If the instance is a number, then this keyword validates if "exclusiveMaximum" is true and instance is less than the provided value, or else if the instance is less than or exactly equal to the provided value.
A lower limit for a numeric instance. If the instance is a number, then this keyword validates if "exclusiveMinimum" is true and instance is greater than the provided value, or else if the instance is greater than or exactly equal to the provided value.
Additional external documentation for this schema.
MUST be present if the type is array.
An array instance is valid against "maxItems" if its size is less than, or equal to.
A string instance is valid against this keyword if its length is less than, or equal to, the value of this keyword.
An object instance is valid against "maxProperties" if its number of properties is less than, or equal to, the value of this keyword.
An upper limit for a numeric instance. If the instance is a number, then this keyword validates if "exclusiveMaximum" is true and instance is less than the provided value, or else if the instance is less than or exactly equal to the provided value.
An array instance is valid against "minItems" if its size is greater than, or equal to.
A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword.
An object instance is valid against "minProperties" if its number of properties is greater than, or equal to, the value of this keyword.
A lower limit for a numeric instance. If the instance is a number, then this keyword validates if "exclusiveMinimum" is true and instance is greater than the provided value, or else if the instance is greater than or exactly equal to the provided value.
A numeric instance is only valid if division by this keyword's value results in an integer.
An instance is valid against this keyword if it fails to validate successfully against the schema defined by this keyword.
Allows sending a null value for the defined schema.
An instance validates successfully against this keyword if it validates successfully against exactly one schema defined by this keyword's value.
This string SHOULD be a valid regular expression, according to the ECMA 262 regular expression dialect.
Using properties, we can define a known set of properties, however if we wish to use any other hash/map where we can't specify how many keys there are nor what they are in advance, we should use additionalProperties.
Relevant only for Schema "properties" definitions. Declares the property as "read only". This means that it MAY be sent as part of a response but SHOULD NOT be sent as part of the request. If the property is marked as readOnly being true and is in the required list, the required will take effect on the response only. A property MUST NOT be marked as both readOnly and writeOnly being true. Default value is false.
An object instance is valid against this keyword if its property set contains all elements in this keyword's array value.
The following properties are taken directly from the JSON Schema definition and follow the same specifications: A title will preferrably be short
An instance validates successfully against this keyword if its value is equal to one of the elements in this keyword's array value.
If this keyword has boolean value false, the instance validates successfully. If it has boolean value true, the instance validates successfully if all of its elements are unique.
Relevant only for Schema "properties" definitions. Declares the property as "write only". Therefore, it MAY be sent as part of a request but SHOULD NOT be sent as part of the response. If the property is marked as writeOnly being true and is in the required list, the required will take effect on the request only. A property MUST NOT be marked as both readOnly and writeOnly being true. Default value is false.
This MAY be used only on properties schemas. It has no effect on root schemas. Adds additional metadata to describe the XML representation of this property.
The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. This object is an extended subset of the JSON Schema Specification Wright Draft 00.
For more information about the properties, see JSON Schema Core and JSON Schema Validation. Unless stated otherwise, the property definitions follow the JSON Schema.