{ "$schema": "http://json-schema.org/schema#", "title": "Validator for misp-taxonomies", "id": "https://www.github.com/MISP/misp-taxonomies/schema.json", "defs": { "non-empty-string": { "type": "string", "minLength": 1 }, "entry": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "additionalProperties": false, "properties": { "numerical_value": { "type": "number" }, "expanded": { "$ref": "#/defs/non-empty-string" }, "description": { "$ref": "#/defs/non-empty-string" }, "colour": { "$ref": "#/defs/non-empty-string" }, "value": { "$ref": "#/defs/non-empty-string" }, "required": [ "value" ] } } }, "values": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "additionalProperties": false, "properties": { "entry": { "$ref": "#/defs/entry" }, "predicate": { "$ref": "#/defs/non-empty-string" } }, "required": [ "predicate" ] } }, "predicates": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "object", "additionalProperties": false, "properties": { "numerical_value": { "type": "number" }, "colour": { "$ref": "#/defs/non-empty-string" }, "description": { "$ref": "#/defs/non-empty-string" }, "expanded": { "$ref": "#/defs/non-empty-string" }, "value": { "$ref": "#/defs/non-empty-string" }, "exclusive": { "type": "boolean" }, "required": [ "value" ] } } } }, "type": "object", "additionalProperties": false, "properties": { "version": { "type": "integer" }, "description": { "$ref": "#/defs/non-empty-string" }, "expanded": { "$ref": "#/defs/non-empty-string" }, "namespace": { "$ref": "#/defs/non-empty-string" }, "exclusive": { "type": "boolean" }, "type": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "enum": [ "org", "user", "attribute", "event" ] } }, "refs": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "$ref": "#/defs/non-empty-string" } }, "predicates": { "$ref": "#/defs/predicates" }, "values": { "$ref": "#/defs/values" } }, "required": [ "namespace", "description", "version", "predicates" ] }