{} LLM JSON Schema View source ↗

OpenAI · Structured Outputs (strict)

Invalid schema for response_format: 'additionalProperties' is required to be supplied and to be false.

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:

# before — rejected { "type": "object", "properties": { "user": { "type": "object", "properties": { "name": { "type": "string" } } } }, "required": ["user"] } # after — accepted { "type": "object", "properties": { "user": { "type": "object", "properties": { "name": { "type": "string" } }, "additionalProperties": false, "required": ["name"] } }, "required": ["user"], "additionalProperties": false }

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.

Open the converter →
OpenAI Structured Outputs docs ↗