{ "$schema": "http://json-schema.org/draft-07/schema#", "$ref": "#/definitions/Feature", "definitions": { "Feature": { "additionalProperties": false, "type": "object", "properties": { "description": { "type": "string" }, "exposureDescription": { "oneOf": [ {"type": "string"}, {"type": "boolean"} ] }, "isEarlyStartup": { "type": "boolean", "description": "If the feature values should be cached in prefs for fast early startup." }, "variables": { "additionalProperties": false, "type": "object", "patternProperties": { "[a-zA-Z0-9_]+": { "type": "object", "properties": { "type": { "type": "string", "enum": ["json", "boolean", "int", "string"] }, "fallbackPref": { "type": "string" }, "enum": { "description": "Validate feature value using a list of possible options (for string only values)." }, "description": { "type": "string", "description": "Explain how this value is being used" } }, "required": ["type", "description"], "additionalProperties": false } } } }, "required": ["description", "exposureDescription"] } } }