{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "MyStruct", "type": "object", "required": [ "my_bool", "my_int", "my_nullable_enum" ], "properties": { "my_bool": { "type": "boolean" }, "my_int": { "type": "integer", "format": "int32", "maximum": 10.0, "minimum": 1.0 }, "my_nullable_enum": { "oneOf": [ { "type": "object", "required": [ "StringNewType" ], "properties": { "StringNewType": { "type": "string", "format": "phone" } }, "additionalProperties": false }, { "type": "object", "required": [ "StructVariant" ], "properties": { "StructVariant": { "type": "object", "required": [ "floats" ], "properties": { "floats": { "type": "array", "items": { "type": "number", "format": "float" }, "maxItems": 100, "minItems": 1 } } } }, "additionalProperties": false } ] } } }