{ "$schema": "http://json-schema.org/draft-07/schema#", "description": "Schema for CMake file API query.json files", "type": "object", "required": [ "requests" ], "properties": { "requests": { "type": "array", "items": { "type": "object", "required": [ "kind", "version" ], "properties": { "kind": { "type": "string", "description": "Specifies one of the Object Kinds to be included in the reply" }, "version": { "description": "Version(s) of the object kind that the client understands", "oneOf": [ { "$ref": "#/definitions/versionMajorOnly" }, { "$ref": "#/definitions/versionObject" }, { "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/versionMajorOnly" }, { "$ref": "#/definitions/versionObject" } ] } } ] }, "client": { "description": "Optional member reserved for use by the client. This value is preserved in the reply." } } } }, "client": { "description": "Optional member reserved for use by the client. This value is preserved in the reply." } }, "$comment": "Other top level properties are reserved for future use. If present, they are ignored for forward compatibility.", "additionalProperties": true, "definitions": { "versionMajorOnly": { "type": "integer", "description": "A non-negative major version number", "minimum": 0 }, "versionObject": { "type": "object", "required": [ "major" ], "properties": { "major": { "type": "integer", "description": "The major version number", "minimum": 0 }, "minor": { "type": "integer", "description": "The minor version number", "minimum": 0 } }, "additionalProperties": false } } }