feat(api): Add Live API - #991
Conversation
apcha-oai
commented
Sep 10, 2026
- Add Live API endpoints.
Castiron-Internal-PR: openai/openai-java-internal#69 Castiron-Source-SHA: 8e1f45598e7d6ee25dc49a97ac4dc6d5aeb250a3 Castiron-Public-Base-SHA: 46bf1c1
Castiron custom codeMixed files: 55 → 62 7 newly customized · 0 customizations removed · 1 existing customizations changed · 2 generated baselines changed Compared
52 existing customizations unchanged
12 more in the full report. 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 34507636854 --repo openai/openai-java \
--name castiron-custom-code-34507636854-1 --dir /tmp/castiron-custom-code-34507636854-1
git apply --stat /tmp/castiron-custom-code-34507636854-1/custom-code.patch
cat /tmp/castiron-custom-code-34507636854-1/custom-code.patchOr reproduce it from an SDK checkout containing the vendored reporter: git fetch --no-tags origin 46bf1c16c3981504b1685bc3c266ec3423a83761 ee0c846b55f549920732abfbac568228874e0a26
python3 scripts/castiron/custom_code_report.py report \
--base 46bf1c16c3981504b1685bc3c266ec3423a83761 \
--head ee0c846b55f549920732abfbac568228874e0a26 --fetch --require-head-hash --public \
--out /tmp/castiron-custom-code-ee0c846b55f5
cat /tmp/castiron-custom-code-ee0c846b55f5/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. |
Automated Release PR --- ## [4.62.0](v4.61.0...v4.62.0) (2026-09-10) ### Features * **api:** Add Live API ([#991](#991)) ([b638bac](b638bac)) ### Bug Fixes * clamp negative Retry-After delays before sleeping ([#855](#855)) ([0f9fe12](0f9fe12)) ### Chores * raise custom-code budget to 3,000 lines ([#989](#989)) ([46bf1c1](46bf1c1)) --- 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>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ee0c846b55
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| .method(HttpMethod.GET) | ||
| .baseUrl(clientOptions.baseUrl()) | ||
| .addPathSegments("live", "sessions", params._pathParam(0), "content") | ||
| .putHeader("Accept", "application/binary") |
There was a problem hiding this comment.
Request the advertised WAV media type
When the recording endpoint performs standard content negotiation, this header says the client only accepts application/binary, while the added OpenAPI response advertises only audio/wav (api_reference/openapi.transformed.yml:22780-22785); a conforming server can therefore return 406 instead of the recording. The async implementation repeats the same header at SessionServiceAsyncImpl.kt:142, so update the authoritative binary-response generation mapping to emit Accept: audio/wav in both clients.
AGENTS.md reference: AGENTS.md:L5-L8
Useful? React with 👍 / 👎.
| * @throws OpenAIInvalidDataException if the JSON field has an unexpected type or is | ||
| * unexpectedly missing or null (e.g. if the server responded with an unexpected value). | ||
| */ | ||
| fun event(): Event = event.getRequired("event") |
There was a problem hiding this comment.
Reuse the typed Responses stream-event union
When a Responses-backed Live delegation emits events such as response.output_text.delta, this accessor returns an opaque ResponseEvent.Event whose only usable payload is _additionalProperties(), even though the SDK already exposes ResponseStreamEvent with typed discriminator dispatch and an unknown-event fallback. Callers otherwise have to reimplement JSON dispatch for every nested event, so define the authoritative event schema as the existing Responses stream-event union and regenerate this field and its tests.
AGENTS.md reference: AGENTS.md:L5-L8
Useful? React with 👍 / 👎.