json-schema-draft-07.json
1 { 2 "$schema": "http://json-schema.org/draft-07/schema#", 3 "$id": "http://json-schema.org/draft-07/schema#", 4 "title": "Core schema meta-schema", 5 "definitions": { 6 "schemaArray": { 7 "type": "array", 8 "minItems": 1, 9 "items": {"$ref": "#"} 10 }, 11 "nonNegativeInteger": { 12 "type": "integer", 13 "minimum": 0 14 }, 15 "nonNegativeIntegerDefault0": { 16 "allOf": [{"$ref": "#/definitions/nonNegativeInteger"}, {"default": 0}] 17 }, 18 "simpleTypes": { 19 "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] 20 }, 21 "stringArray": { 22 "type": "array", 23 "items": {"type": "string"}, 24 "uniqueItems": true, 25 "default": [] 26 } 27 }, 28 "type": ["object", "boolean"], 29 "properties": { 30 "$id": { 31 "type": "string", 32 "format": "uri-reference" 33 }, 34 "$schema": { 35 "type": "string", 36 "format": "uri" 37 }, 38 "$ref": { 39 "type": "string", 40 "format": "uri-reference" 41 }, 42 "$comment": { 43 "type": "string" 44 }, 45 "title": { 46 "type": "string" 47 }, 48 "description": { 49 "type": "string" 50 }, 51 "default": true, 52 "readOnly": { 53 "type": "boolean", 54 "default": false 55 }, 56 "examples": { 57 "type": "array", 58 "items": true 59 }, 60 "multipleOf": { 61 "type": "number", 62 "exclusiveMinimum": 0 63 }, 64 "maximum": { 65 "type": "number" 66 }, 67 "exclusiveMaximum": { 68 "type": "number" 69 }, 70 "minimum": { 71 "type": "number" 72 }, 73 "exclusiveMinimum": { 74 "type": "number" 75 }, 76 "maxLength": {"$ref": "#/definitions/nonNegativeInteger"}, 77 "minLength": {"$ref": "#/definitions/nonNegativeIntegerDefault0"}, 78 "pattern": { 79 "type": "string", 80 "format": "regex" 81 }, 82 "additionalItems": {"$ref": "#"}, 83 "items": { 84 "anyOf": [{"$ref": "#"}, {"$ref": "#/definitions/schemaArray"}], 85 "default": true 86 }, 87 "maxItems": {"$ref": "#/definitions/nonNegativeInteger"}, 88 "minItems": {"$ref": "#/definitions/nonNegativeIntegerDefault0"}, 89 "uniqueItems": { 90 "type": "boolean", 91 "default": false 92 }, 93 "contains": {"$ref": "#"}, 94 "maxProperties": {"$ref": "#/definitions/nonNegativeInteger"}, 95 "minProperties": {"$ref": "#/definitions/nonNegativeIntegerDefault0"}, 96 "required": {"$ref": "#/definitions/stringArray"}, 97 "additionalProperties": {"$ref": "#"}, 98 "definitions": { 99 "type": "object", 100 "additionalProperties": {"$ref": "#"}, 101 "default": {} 102 }, 103 "properties": { 104 "type": "object", 105 "additionalProperties": {"$ref": "#"}, 106 "default": {} 107 }, 108 "patternProperties": { 109 "type": "object", 110 "additionalProperties": {"$ref": "#"}, 111 "propertyNames": {"format": "regex"}, 112 "default": {} 113 }, 114 "dependencies": { 115 "type": "object", 116 "additionalProperties": { 117 "anyOf": [{"$ref": "#"}, {"$ref": "#/definitions/stringArray"}] 118 } 119 }, 120 "propertyNames": {"$ref": "#"}, 121 "const": true, 122 "enum": { 123 "type": "array", 124 "items": true, 125 "minItems": 1, 126 "uniqueItems": true 127 }, 128 "type": { 129 "anyOf": [ 130 {"$ref": "#/definitions/simpleTypes"}, 131 { 132 "type": "array", 133 "items": {"$ref": "#/definitions/simpleTypes"}, 134 "minItems": 1, 135 "uniqueItems": true 136 } 137 ] 138 }, 139 "format": {"type": "string"}, 140 "contentMediaType": {"type": "string"}, 141 "contentEncoding": {"type": "string"}, 142 "if": {"$ref": "#"}, 143 "then": {"$ref": "#"}, 144 "else": {"$ref": "#"}, 145 "allOf": {"$ref": "#/definitions/schemaArray"}, 146 "anyOf": {"$ref": "#/definitions/schemaArray"}, 147 "oneOf": {"$ref": "#/definitions/schemaArray"}, 148 "not": {"$ref": "#"} 149 }, 150 "default": true 151 }