Optional typeThe data type of the schema
Optional titleHuman-readable title for the schema
Optional descriptionDescription of what the schema represents
Optional defaultDefault value if not provided
Optional enumEnumeration of allowed values
Optional constConstant value (must be exactly this)
Optional minMinimum string length
Optional maxMaximum string length
Optional patternRegex pattern the string must match
Optional formatString format validator
Optional minimumMinimum value (inclusive)
Optional maximumMaximum value (inclusive)
Optional exclusiveMinimum value (exclusive)
Optional exclusiveMaximum value (exclusive)
Optional multipleValue must be a multiple of this number
Optional itemsSchema for array items
Optional minMinimum number of items
Optional maxMaximum number of items
Optional uniqueAll items must be unique
Optional additionalSchema for items after items tuple schemas
Optional prefixPrefix items (for tuple validation)
Optional containsSchema that must validate at least one item
Optional propertiesProperty definitions for object
Optional requiredRequired property names
Optional additionalSchema for properties not in properties
Optional patternPattern-based property schemas
Optional minMinimum number of properties
Optional maxMaximum number of properties
Optional propertyProperty names must match this schema
Optional dependentDependencies between properties
Optional dependentSchema dependencies
Optional allMust match all schemas
Optional anyMust match at least one schema
Optional oneMust match exactly one schema
Optional notMust not match this schema
Optional ifConditional schema application
Optional thenSchema if if passes
Optional elseSchema if if fails
Optional $refReference to another schema
Optional $defsSchema definitions for $ref
Optional examplesExamples of valid values
Optional readWhether this value is read-only
Optional writeWhether this value is write-only
Optional deprecatedDeprecation flag
Complete JSON Schema definition for structured outputs.
Remarks
This interface supports the commonly used JSON Schema keywords for defining structured LLM outputs. It's designed to be compatible with OpenAI's structured output API and similar implementations.