OpenAI · Structured Outputs (strict)
Every object in a strict schema needs additionalProperties: false
You sent a JSON Schema to OpenAI with strict: true (Structured Outputs) and it was rejected before the model even ran. The fix is one property — but it has to be on every object in the schema.
What the error means
In Structured Outputs strict mode, OpenAI requires additionalProperties: false on every object it can find in your schema — the root object and every nested object, including objects inside arrays. If any single object is missing it, the entire request fails with this error. Standard JSON Schema defaults additionalProperties to true, so a schema that validates fine everywhere else gets rejected here.
The one-line fix
Add "additionalProperties": false to each object. Here's a minimal before/after:
Also required
Strict mode has no optional fields either — every key in properties must be listed in required at the same level. That's a separate error; see the related fix below.
Fix it automatically
Paste your schema into the converter, pick OpenAI, and it inserts additionalProperties: false on every object and lists each change with the exact doc rule it enforces. It runs entirely in your browser — nothing is uploaded.
OpenAI Structured Outputs docs ↗