{ "$id": "inputParams", "title": "Input object for an Params", "description": "An object document for a Params", "type": "object", "schema": { "type": "object", "description": "Params", "patternProperties": { "[a-zA-Z]+": { "anyOf": [ { "type": "number" }, { "type": "string" }, { "type": "boolean" }, { "$ref": "#/definitions/randomObject" }, { "$ref": "#/definitions/randomList" } ] } } }, "definitions": { "randomObject": { "type": "object", "description": "JSON Object", "patternProperties": { "[a-zA-Z]+": { "type": "string" } }, "minProperties": 5 }, "randomList": { "type": "array", "description": "JSON Array", "items": [ { "patternProperties": { "[a-zA-Z]+": { "anyOf": [ { "$ref": "#/definitions/randomObject" } ] } } } ] } } }