1{ 2 "$schema": "https://json-schema.org/draft/2020-12/schema", 3 "$id": "https://json-schema.org/draft/2020-12/meta/validation", 4 "$vocabulary": { 5 "https://json-schema.org/draft/2020-12/vocab/validation": true 6 }, 7 "$dynamicAnchor": "meta", 8 9 "title": "Validation vocabulary meta-schema", 10 "type": ["object", "boolean"], 11 "properties": { 12 "type": { 13 "anyOf": [ 14 { "$ref": "#/$defs/simpleTypes" }, 15 { 16 "type": "array", 17 "items": { "$ref": "#/$defs/simpleTypes" }, 18 "minItems": 1, 19 "uniqueItems": true 20 } 21 ] 22 }, 23 "const": true, 24 "enum": { 25 "type": "array", 26 "items": true 27 }, 28 "multipleOf": { 29 "type": "number", 30 "exclusiveMinimum": 0 31 }, 32 "maximum": { 33 "type": "number" 34 }, 35 "exclusiveMaximum": { 36 "type": "number" 37 }, 38 "minimum": { 39 "type": "number" 40 }, 41 "exclusiveMinimum": { 42 "type": "number" 43 }, 44 "maxLength": { "$ref": "#/$defs/nonNegativeInteger" }, 45 "minLength": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, 46 "pattern": { 47 "type": "string", 48 "format": "regex" 49 }, 50 "maxItems": { "$ref": "#/$defs/nonNegativeInteger" }, 51 "minItems": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, 52 "uniqueItems": { 53 "type": "boolean", 54 "default": false 55 }, 56 "maxContains": { "$ref": "#/$defs/nonNegativeInteger" }, 57 "minContains": { 58 "$ref": "#/$defs/nonNegativeInteger", 59 "default": 1 60 }, 61 "maxProperties": { "$ref": "#/$defs/nonNegativeInteger" }, 62 "minProperties": { "$ref": "#/$defs/nonNegativeIntegerDefault0" }, 63 "required": { "$ref": "#/$defs/stringArray" }, 64 "dependentRequired": { 65 "type": "object", 66 "additionalProperties": { 67 "$ref": "#/$defs/stringArray" 68 } 69 } 70 }, 71 "$defs": { 72 "nonNegativeInteger": { 73 "type": "integer", 74 "minimum": 0 75 }, 76 "nonNegativeIntegerDefault0": { 77 "$ref": "#/$defs/nonNegativeInteger", 78 "default": 0 79 }, 80 "simpleTypes": { 81 "enum": [ 82 "array", 83 "boolean", 84 "integer", 85 "null", 86 "number", 87 "object", 88 "string" 89 ] 90 }, 91 "stringArray": { 92 "type": "array", 93 "items": { "type": "string" }, 94 "uniqueItems": true, 95 "default": [] 96 } 97 } 98} 99