322 lines
7.1 KiB
JSON
322 lines
7.1 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://json-schema.org/draft/2020-12/schema",
|
|
"$vocabulary": {
|
|
"https://json-schema.org/draft/2020-12/vocab/core": true,
|
|
"https://json-schema.org/draft/2020-12/vocab/applicator": true,
|
|
"https://json-schema.org/draft/2020-12/vocab/unevaluated": true,
|
|
"https://json-schema.org/draft/2020-12/vocab/validation": true,
|
|
"https://json-schema.org/draft/2020-12/vocab/meta-data": true,
|
|
"https://json-schema.org/draft/2020-12/vocab/format-annotation": true,
|
|
"https://json-schema.org/draft/2020-12/vocab/content": true
|
|
},
|
|
"$dynamicAnchor": "meta",
|
|
"title": "Core and Validation specifications meta-schema",
|
|
"$comment": "This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",
|
|
"type": [
|
|
"object",
|
|
"boolean"
|
|
],
|
|
"$defs": {
|
|
"anchorString": {
|
|
"type": "string",
|
|
"pattern": "^[A-Za-z_][-A-Za-z0-9._]*$"
|
|
},
|
|
"uriString": {
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
"uriReferenceString": {
|
|
"type": "string",
|
|
"format": "uri-reference"
|
|
},
|
|
"schemaArray": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"$dynamicRef": "#meta"
|
|
}
|
|
},
|
|
"nonNegativeInteger": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"nonNegativeIntegerDefault0": {
|
|
"$ref": "#/$defs/nonNegativeInteger",
|
|
"default": 0
|
|
},
|
|
"simpleTypes": {
|
|
"enum": [
|
|
"array",
|
|
"boolean",
|
|
"integer",
|
|
"null",
|
|
"number",
|
|
"object",
|
|
"string"
|
|
]
|
|
},
|
|
"stringArray": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"uniqueItems": true,
|
|
"default": []
|
|
}
|
|
},
|
|
"properties": {
|
|
"definitions": {
|
|
"$comment": "\"definitions\" has been replaced by \"$defs\".",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"deprecated": true,
|
|
"default": {}
|
|
},
|
|
"dependencies": {
|
|
"$comment": "\"dependencies\" has been split and replaced by \"dependentSchemas\" and \"dependentRequired\" in order to serve their differing semantics.",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"anyOf": [
|
|
{
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
{
|
|
"$ref": "#/$defs/stringArray"
|
|
}
|
|
]
|
|
},
|
|
"deprecated": true,
|
|
"default": {}
|
|
},
|
|
"$recursiveAnchor": {
|
|
"$comment": "\"$recursiveAnchor\" has been replaced by \"$dynamicAnchor\".",
|
|
"$ref": "#/$defs/anchorString",
|
|
"deprecated": true
|
|
},
|
|
"$recursiveRef": {
|
|
"$comment": "\"$recursiveRef\" has been replaced by \"$dynamicRef\".",
|
|
"$ref": "#/$defs/uriReferenceString",
|
|
"deprecated": true
|
|
},
|
|
"$id": {
|
|
"$ref": "#/$defs/uriReferenceString",
|
|
"$comment": "Non-empty fragments not allowed.",
|
|
"pattern": "^[^#]*#?$"
|
|
},
|
|
"$schema": {
|
|
"$ref": "#/$defs/uriString"
|
|
},
|
|
"$ref": {
|
|
"$ref": "#/$defs/uriReferenceString"
|
|
},
|
|
"$anchor": {
|
|
"$ref": "#/$defs/anchorString"
|
|
},
|
|
"$dynamicRef": {
|
|
"$ref": "#/$defs/uriReferenceString"
|
|
},
|
|
"$dynamicAnchor": {
|
|
"$ref": "#/$defs/anchorString"
|
|
},
|
|
"$vocabulary": {
|
|
"type": "object",
|
|
"propertyNames": {
|
|
"$ref": "#/$defs/uriString"
|
|
},
|
|
"additionalProperties": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"$comment": {
|
|
"type": "string"
|
|
},
|
|
"$defs": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$dynamicRef": "#meta"
|
|
}
|
|
},
|
|
"prefixItems": {
|
|
"$ref": "#/$defs/schemaArray"
|
|
},
|
|
"items": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"contains": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"additionalProperties": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"default": {}
|
|
},
|
|
"patternProperties": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"propertyNames": {
|
|
"format": "regex"
|
|
},
|
|
"default": {}
|
|
},
|
|
"dependentSchemas": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"default": {}
|
|
},
|
|
"propertyNames": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"if": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"then": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"else": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"allOf": {
|
|
"$ref": "#/$defs/schemaArray"
|
|
},
|
|
"anyOf": {
|
|
"$ref": "#/$defs/schemaArray"
|
|
},
|
|
"oneOf": {
|
|
"$ref": "#/$defs/schemaArray"
|
|
},
|
|
"not": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"unevaluatedItems": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"unevaluatedProperties": {
|
|
"$dynamicRef": "#meta"
|
|
},
|
|
"type": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/$defs/simpleTypes"
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/$defs/simpleTypes"
|
|
},
|
|
"minItems": 1,
|
|
"uniqueItems": true
|
|
}
|
|
]
|
|
},
|
|
"const": true,
|
|
"enum": {
|
|
"type": "array",
|
|
"items": true
|
|
},
|
|
"multipleOf": {
|
|
"type": "number",
|
|
"exclusiveMinimum": 0
|
|
},
|
|
"maximum": {
|
|
"type": "number"
|
|
},
|
|
"exclusiveMaximum": {
|
|
"type": "number"
|
|
},
|
|
"minimum": {
|
|
"type": "number"
|
|
},
|
|
"exclusiveMinimum": {
|
|
"type": "number"
|
|
},
|
|
"maxLength": {
|
|
"$ref": "#/$defs/nonNegativeInteger"
|
|
},
|
|
"minLength": {
|
|
"$ref": "#/$defs/nonNegativeIntegerDefault0"
|
|
},
|
|
"pattern": {
|
|
"type": "string",
|
|
"format": "regex"
|
|
},
|
|
"maxItems": {
|
|
"$ref": "#/$defs/nonNegativeInteger"
|
|
},
|
|
"minItems": {
|
|
"$ref": "#/$defs/nonNegativeIntegerDefault0"
|
|
},
|
|
"uniqueItems": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"maxContains": {
|
|
"$ref": "#/$defs/nonNegativeInteger"
|
|
},
|
|
"minContains": {
|
|
"$ref": "#/$defs/nonNegativeInteger",
|
|
"default": 1
|
|
},
|
|
"maxProperties": {
|
|
"$ref": "#/$defs/nonNegativeInteger"
|
|
},
|
|
"minProperties": {
|
|
"$ref": "#/$defs/nonNegativeIntegerDefault0"
|
|
},
|
|
"required": {
|
|
"$ref": "#/$defs/stringArray"
|
|
},
|
|
"dependentRequired": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/stringArray"
|
|
}
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"default": true,
|
|
"deprecated": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"readOnly": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"writeOnly": {
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"examples": {
|
|
"type": "array",
|
|
"items": true
|
|
},
|
|
"format": {
|
|
"type": "string"
|
|
},
|
|
"contentEncoding": {
|
|
"type": "string"
|
|
},
|
|
"contentMediaType": {
|
|
"type": "string"
|
|
},
|
|
"contentSchema": {
|
|
"$dynamicRef": "#meta"
|
|
}
|
|
}
|
|
} |