{
"$schema": "https://meta.json-schema.tools/",
"$id": "https://meta.json-schema.tools/",
"title": "JSONSchema",
"default": {},
"oneOf": [
{ "$ref": "#/definitions/JSONSchemaObject" },
{ "$ref": "#/definitions/JSONSchemaBoolean" }
],
"definitions": {
"JSONSchemaBoolean": {
"title": "JSONSchemaBoolean",
"description": "Always valid if true. Never valid if false. Is constant.",
"type": "boolean"
},
"JSONSchemaObject": {
"title": "JSONSchemaObject",
"type": "object",
"properties": {
"$id": {
"title": "$id",
"type": "string",
"format": "uri-reference"
},
"$schema": {
"title": "$schema",
"type": "string",
"format": "uri"
},
"$ref": {
"title": "$ref",
"type": "string",
"format": "uri-reference"
},
"$comment": {
"title": "$comment",
"type": "string"
},
"title": {
"title": "title",
"type": "string"
},
"description": {
"title": "description",
"type": "string"
},
"default": true,
"readOnly": {
"title": "readOnly",
"type": "boolean",
"default": false
},
"examples": {
"title": "examples",
"type": "array",
"items": true
},
"multipleOf": {
"title": "multipleOf",
"type": "number",
"exclusiveMinimum": 0
},
"maximum": {
"title": "maximum",
"type": "number"
},
"exclusiveMaximum": {
"title": "exclusiveMaximum",
"type": "number"
},
"minimum": {
"title": "minimum",
"type": "number"
},
"exclusiveMinimum": {
"title": "exclusiveMinimum",
"type": "number"
},
"maxLength": {
"$ref": "#/definitions/nonNegativeInteger"
},
"minLength": {
"$ref": "#/definitions/nonNegativeIntegerDefault0"
},
"pattern": {
"title": "pattern",
"type": "string",
"format": "regex"
},
"additionalItems": {
"$ref": "#"
},
"items": {
"title": "items",
"anyOf": [{
"$ref": "#"
}, {
"$ref": "#/definitions/schemaArray"
}],
"default": true
},
"maxItems": {
"$ref": "#/definitions/nonNegativeInteger"
},
"minItems": {
"$ref": "#/definitions/nonNegativeIntegerDefault0"
},
"uniqueItems": {
"title": "uniqueItems",
"type": "boolean",
"default": false
},
"contains": {
"$ref": "#"
},
"maxProperties": {
"$ref": "#/definitions/nonNegativeInteger"
},
"minProperties": {
"$ref": "#/definitions/nonNegativeIntegerDefault0"
},
"required": {
"$ref": "#/definitions/stringArray"
},
"additionalProperties": {
"$ref": "#"
},
"definitions": {
"title": "definitions",
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"default": {}
},
"properties": {
"title": "properties",
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"default": {}
},
"patternProperties": {
"title": "patternProperties",
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"propertyNames": {
"title": "propertyNames",
"format": "regex"
},
"default": {}
},
"dependencies": {
"title": "dependencies",
"type": "object",
"additionalProperties": {
"title": "dependenciesSet",
"anyOf": [{
"$ref": "#"
}, {
"$ref": "#/definitions/stringArray"
}]
}
},
"propertyNames": {
"$ref": "#"
},
"const": true,
"enum": {
"title": "enum",
"type": "array",
"items": true,
"minItems": 1,
"uniqueItems": true
},
"type": {
"title": "type",
"anyOf": [{
"$ref": "#/definitions/simpleTypes"
}, {
"title": "arrayOfSimpleTypes",
"type": "array",
"items": {
"$ref": "#/definitions/simpleTypes"
},
"minItems": 1,
"uniqueItems": true
}]
},
"format": {
"title": "format",
"type": "string"
},
"contentMediaType": {
"title": "contentMediaType",
"type": "string"
},
"contentEncoding": {
"title": "contentEncoding",
"type": "string"
},
"if": {
"$ref": "#"
},
"then": {
"$ref": "#"
},
"else": {
"$ref": "#"
},
"allOf": {
"$ref": "#/definitions/schemaArray"
},
"anyOf": {
"$ref": "#/definitions/schemaArray"
},
"oneOf": {
"$ref": "#/definitions/schemaArray"
},
"not": {
"$ref": "#"
}
}
},
"schemaArray": {
"title": "schemaArray",
"type": "array",
"minItems": 1,
"items": {
"$ref": "#"
}
},
"nonNegativeInteger": {
"title": "nonNegativeInteger",
"type": "integer",
"minimum": 0
},
"nonNegativeIntegerDefault0": {
"title": "nonNegativeIntegerDefaultZero",
"type": "integer",
"minimum": 0,
"default": 0
},
"simpleTypes": {
"title": "simpleTypes",
"type": "string",
"enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
},
"stringArray": {
"title": "stringArray",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"default": []
}
}
}