Independent API referenceField notes updated 29 Aug 2026

OpenAI schema error

Fix OpenAI strict mode’s incomplete required array

Make optional JSON Schema fields compatible with OpenAI strict function calling without losing null semantics.

Missing required keyrequired must include every keyOptional field rejectedInvalid schema for function

Reviewed Source: OpenAI function calling guide

In OpenAI strict mode, all properties must appear in required. Optionality is expressed by allowing null, not by omitting the property from required.

Read the schema and its provider wrapper as one contract. APITC distinguishes target requirements from portable JSON Schema, applies mechanical repairs only when intent is recoverable, and identifies transformations that can change meaning.

Diagnostic procedure

Repair the schema, then recompile.

  1. 01

    List every property

    Copy every key from properties into the object’s required array.

  2. 02

    Preserve optionality

    For previously optional fields, allow null with a type array or an anyOf branch.

  3. 03

    Repeat recursively

    Apply the same rule to every nested object and object inside array items.

Before
{"type":"object","properties":{"query":{"type":"string"},"limit":{"type":"integer"}},"required":["query"]}
Target-safe shape
{"type":"object","properties":{"query":{"type":"string"},"limit":{"type":["integer","null"]}},"required":["query","limit"],"additionalProperties":false}

Interactive check

Run the schema against a real target.

Paste JSON, choose a target, and inspect the compiled shape and every portability warning before copying the result.

Contract compilerlocal browser runtime
01 Source contract APITC canonical
02OpenAI strict
80compatibility
0 errors · 2 fixes · 0 warnings
fix$.inputSchemaClose this object

OpenAI strict requires additionalProperties: false on every object.

fix$.inputSchemaRequired array is incomplete

Strict mode requires every property in required. APITC will make limit nullable.

97 tokens compiled · input never leaves this tab

No account · no upload · no endpoint calledOpen the full tool schema compiler and operating notes →

FAQ

Before you ship

Does APITC upload my schema?

No. Parsing, diagnostics, and compilation run in your browser tab.

Is the compiled result guaranteed to preserve meaning?

Safe repairs are deterministic. When OpenAI cannot express a source constraint, APITC labels the transform as lossy instead of hiding it.

Protocol behavior checked against the OpenAI function calling guide. Recheck your pinned provider/API version before production deployment.