feat(api): make function call output call IDs optional - #3738
Conversation
Castiron-Internal-PR: openai/openai-python-internal#65 Castiron-Source-SHA: 9851924c140ffcd02e06379a63488c6ce1cbb869 Castiron-Public-Base-SHA: a64dd8f
Castiron custom code✅ No new custom-code files detected. 34 mixed files remain; 0 existing customizations changed; 1 generated baselines changed. Compared
33 existing customizations unchanged
A changed generated baseline means this report cannot reliably identify which handwritten lines changed. Inspect the custom-code diffDownload the exact patch produced by this run (requires repository access): gh run download 33023523404 --repo openai/openai-python \
--name castiron-custom-code-33023523404-1 --dir /tmp/castiron-custom-code-33023523404-1
git apply --stat /tmp/castiron-custom-code-33023523404-1/custom-code.patch
cat /tmp/castiron-custom-code-33023523404-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin a64dd8ffc78a5892ff612a48dc88c99b27478135 ad57609d20e96916092d7dae7a64acc7edc720cc
python3 scripts/castiron/custom_code_report.py report \
--base a64dd8ffc78a5892ff612a48dc88c99b27478135 \
--head ad57609d20e96916092d7dae7a64acc7edc720cc --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-ad57609d20e9
cat /tmp/castiron-custom-code-ad57609d20e9/custom-code.patchThis is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
jbeckwith-oai
left a comment
There was a problem hiding this comment.
The required Agents SDK integration check is failing on this exact head because the new optional call_id flows into an unchanged Chat Completions tool message that still requires a non-null string. This is a demonstrated coordinated-release regression, not an unrelated preexisting failure; update/coordinate the dependent Agents converter and restore the required check before releasing.
jbeckwith-oai
left a comment
There was a problem hiding this comment.
Approved with the explicitly documented rollout exception: the Agents SDK type-check failure is expected for this coordinated optional-call-ID release and will be fixed forward after the Python SDK ships. Generated stable/beta input and output optionality otherwise matches the canonical API contract.
Automated Release PR --- ## [3.5.0](openai/openai-python@v3.4.0...v3.5.0) (2026-08-27) ### Features * **api:** make function call output call IDs optional ([openai#3738](openai#3738)) ([c74501d](openai@c74501d)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: openai-sdks[bot] <284451331+openai-sdks[bot]@users.noreply.github.com>
Summary
Align function call output types with the API schema:
call_idis optional in stable and beta input and response types, and input types also acceptnull.Agents SDK change is expected / will need to be fixed after this PR merges.