OpenAI made the Decisions API generally available with GPT-6 Luna on October 22, 2026. It now accepts JSON evidence through input_json and supports up to 400 questions per request, up from 200 in beta. Typed answers still need checking against their source. The small JSON object below illustrates a data handoff; use the documented Decisions request format when calling that API.
“Return JSON” is not a complete data contract. A response can look tidy yet include Markdown fences, a trailing comma or values that belong to the wrong record.
Define the expected object
For a small stock example, request {"item":"notebook","quantity":3} with quantity as a non-negative integer. Save the actual response as data, without Markdown fences, and run a JSON parser before importing it. Then validate the expected keys and types with an appropriate schema.
Schema-constrained generation can help where the chosen API and model support it. Still handle refusal or incomplete responses separately instead of assuming every request yields the normal object.
Check what the values mean
A valid object containing quantity 30 is wrong if the source says 3. Compare each field with the source and define how absent information is represented. Do not silently turn an unknown quantity into zero. Keep the original source and validation errors available until the import has been checked in the destination application.