- Schema inference
- The process of analyzing data and deriving a structural description (schema) from it. The output describes the shape of the data but not its semantic constraints.
- Required vs optional
- In JSON Schema, properties listed under 'required' must be present. Properties under 'properties' but not in 'required' are optional. Inference marks fields present in all samples as required.
- Draft-07
- A widely adopted JSON Schema specification version. Most tooling (Ajv, AsyncAPI 2.x, OpenAPI 3.0) supports it natively.
- Draft-2020-12
- The current JSON Schema specification. Adds prefixItems, refined $ref behavior, and unevaluatedProperties. Recommended for new projects when tooling supports it.
- additionalProperties
- Schema keyword that controls whether objects may contain unknown properties. Set to false for strict contracts; set to a schema to validate unknown properties.
- Type coercion
- JSON Schema does not coerce types. The inferred type from sample '5' (string) will be 'string', not 'number'. Refine manually if the runtime should treat it as numeric.
- Format keyword
- Annotates strings with semantic types (email, uri, date-time, uuid). Inferred from common value patterns; validation may be assertive or informational.
- Heterogeneous array
- An array containing items of different types. Inferred as anyOf or a union type, since each item must satisfy at least one schema option.