What changed
Producer-side tools call this non-breaking. For a consumer it is a null dereference on an unknown future date.
Affects action on WebSearchToolCall reachable from 10 operations. Nothing fails at the call; it fails wherever the value is finally used, which is usually somewhere else entirely.
no longer guaranteed present
Who is affected
Code that reads OpenAI's WebSearchToolCall objects, used by 10 OpenAI operations.
Before and after
| Where | Before | After |
|---|---|---|
| WebSearchToolCall.action | always present | may be missing |
| BetaWebSearchToolCall.action | always present | may be missing |
Code that breaks
// response.action may now be absent or null const action = response.action ?? fallback;
Based on OpenAI’s published API specification. How severity is decided.