{"slug": "additive-openai-4-new-response-fields", "title": "[Additive] OpenAI: 4 new response fields", "summary": "OpenAI's API changelog lists 4 new response fields, all variants of input_tokens_details.cache_write_tokens_details across ResponseUsage, BetaResponseUsage, BetaResponse.usage and Response.usage, alongside 2 breaking changes: prompt_cache_options is no longer accepted in CreateModelResponseProperties and BetaCreateModelResponseProperties and is now silently ignored rather than rejected, and a value can now return \"max_output_tokens\", which breaks exhaustive switches, strict parsers and generated client enums. The silent-ignore change matters most because affected calls still succeed while behaving differently.", "body_md": "[OpenAI](https://driftwatch.et/apis/openai)2 breaking4 additive\n\n- Breakingdirection flip: their tools call this safe[prompt_cache_options is no longer accepted](https://driftwatch.et/changes/openai-2026-11-03-7094f95d)Usually ignored rather than rejected, so the call succeeds and does something subtly different. 2 places: CreateModelResponseProperties.prompt_cache_options, BetaCreateModelResponseProperties.prompt_cache_options## Code that breaks\n\n```\nawait client.post(\"/…\", {\n  // prompt_cache_options is now ignored, not rejected\n  prompt_cache_options: value,\n});\n```\n\n- Breakingdirection flip: their tools call this safe[value can now return \"max_output_tokens\"](https://driftwatch.et/changes/openai-2026-11-03-2cc3309f)Producer-side tools call this additive. It breaks exhaustive switches, strict parsers and generated client enums. SessionTurnErrorCodeResource · reachable from 6 operations## Code that breaks\n\n```\nswitch (response) {\n  // existing branches …\n  // no branch for \"max_output_tokens\"\n  default:\n    throw new Error(\"unexpected value\");\n}\n```\n\n## 4 new response fields\n\n- ResponseUsage.input_tokens_details.cache_write_tokens_details\n- BetaResponseUsage.input_tokens_details.cache_write_tokens_details\n- BetaResponse.usage.input_tokens_details.cache_write_tokens_details\n- Response.usage.input_tokens_details.cache_write_tokens_details", "url": "https://wpnews.pro/news/additive-openai-4-new-response-fields", "canonical_source": "https://driftwatch.et/apis/openai#cmw1bkbvm000k0dwsk2ve9el7-fields", "published_at": "2026-11-03 22:29:31+00:00", "updated_at": "2026-11-04 00:20:29.117044+00:00", "lang": "en", "topics": ["ai-products", "developer-tools", "large-language-models"], "entities": ["OpenAI", "ResponseUsage", "BetaResponseUsage", "CreateModelResponseProperties", "BetaCreateModelResponseProperties", "SessionTurnErrorCodeResource"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/additive-openai-4-new-response-fields", "markdown": "https://wpnews.pro/news/additive-openai-4-new-response-fields.md", "text": "https://wpnews.pro/news/additive-openai-4-new-response-fields.txt", "jsonld": "https://wpnews.pro/news/additive-openai-4-new-response-fields.jsonld"}}