Skip to content

chore(api): clarify project API key update requirements - #1244

Merged
jbeckwith-oai merged 1 commit into
mainfrom
castiron/promotions/pr-295
Oct 20, 2026
Merged

jbeckwith-oai merged 1 commit into
mainfrom
castiron/promotions/pr-295

Conversation

@jbeckwith-oai

@jbeckwith-oai jbeckwith-oai commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Record that project API-key updates require scopes, an expiration, or both using required-only anyOf.

The diff updates the transformed OpenAPI schema, generation metadata, and shared Castiron reporting helpers, and constructs a WebSocket test fixture before its timed concurrency scenario. Published Java runtime and source/binary compatibility are preserved.

Validation: generated ownership verification and the trusted public-main custom-code budget check pass (2,025 / 3,000 lines). Two independent review rounds are clean. Internal current-head CI and the separate OkTest run passed; that candidate was approved. Public CI is running.

@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Castiron custom code

Evaluated main: 199cf8169a49dc72bcf7fd869817917383e5ca77.

Trusted main policy: 199cf8169a49dc72bcf7fd869817917383e5ca77.

✅ No new custom-code files detected.

97 mixed files remain; 0 existing customizations changed.

Compared 199cf8169a49 → 78a81f9fc3bf. Generated baselines verified.

97 existing customizations unchanged
  • openai-java-core/src/main/kotlin/com/openai/client/OpenAIClientAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/client/OpenAIClientImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/models/admin/organization/projects/apikeys/ApiKeyUpdateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/audio/AudioResponseFormat.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/environments/EnvironmentCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/vaults/credentials/CredentialAuth.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/vaults/credentials/CredentialAuthCreateParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/vaults/credentials/CredentialAuthRotateParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponse.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseError.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseInjectEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseInjectFailedEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseStreamEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseToolSearchOutputItemParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponsesServerEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionMessageFunctionToolCall.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionToolMessageParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/conversations/ConversationCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/conversations/items/ItemCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/embeddings/Embedding.kt
  • openai-java-core/src/main/kotlin/com/openai/models/embeddings/EmbeddingCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/live/ResponseItemCreateEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/realtime/RealtimeResponseStatus.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/Response.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseError.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionToolCall.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionWebSearch.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseInputItem.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseStreamEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseTextConfig.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseToolSearchOutputItemParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponsesServerEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/vectorstores/filebatches/VectorStoreFileBatch.kt
  • openai-java-core/src/main/kotlin/com/openai/models/videos/Video.kt
  • openai-java-core/src/main/kotlin/com/openai/models/videos/VideoCreateError.kt
  • openai-java-core/src/main/kotlin/com/openai/models/webhooks/UnwrapWebhookEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/webhooks/WebhookEndpointWithSecret.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/BetaServiceAsync.kt

57 more in the full report.

A changed generated baseline means this report cannot reliably identify which handwritten lines changed.

Inspect the custom-code diff

Download the exact patch produced by this run (requires repository access):

gh run download 39480740277 --repo openai/openai-java \
  --name castiron-custom-code-39480740277-1 --dir /tmp/castiron-custom-code-39480740277-1
git apply --stat /tmp/castiron-custom-code-39480740277-1/custom-code.patch
cat /tmp/castiron-custom-code-39480740277-1/custom-code.patch

Or reproduce it from an SDK checkout containing the vendored reporter:

git fetch --no-tags origin 199cf8169a49dc72bcf7fd869817917383e5ca77 78a81f9fc3bf81c19d81db88cec95080e0bbbe7e
python3 scripts/castiron/custom_code_report.py report \
  --base 199cf8169a49dc72bcf7fd869817917383e5ca77 \
  --head 78a81f9fc3bf81c19d81db88cec95080e0bbbe7e --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-78a81f9fc3bf
cat /tmp/castiron-custom-code-78a81f9fc3bf/custom-code.patch

This is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR.

Full report and patch

@markstuart-oai markstuart-oai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed c0fe004. No blocking findings.

The schema requires scopes, an expiry, or both without changing existing value constraints. The reporter annotation and bound test callback preserve behavior. The WebSocket test builds its fixture before the timed cleanup scenario and retains its deadlines and assertions. Published runtime code is unchanged.

All current hosted checks are successful or skipped. I reviewed source and hosted CI; I did not run tests or builds locally.

@jbeckwith-oai
jbeckwith-oai marked this pull request as ready for review October 20, 2026 15:42
@jbeckwith-oai
jbeckwith-oai requested a review from a team as a code owner October 20, 2026 15:42
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-20T19:09:15.690124Z 78a81f9 New commits
🔒 Security Review ✅ Completed 2026-10-20T19:09:37.272561Z 78a81f9 New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@openai-sdks

openai-sdks Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

OkTest Summary

✅ 236/236 SDK tests passed in 12.012s for Java SDK PR #1244.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 141ms
tests/chat-completions-create.test.ts ✅ Passed 430ms
tests/chat-completions-stream.test.ts ✅ Passed 300ms
tests/files-content-binary.test.ts ✅ Passed 194ms
tests/files-create-multipart.test.ts ✅ Passed 199ms
tests/files-list-pagination.test.ts ✅ Passed 310ms
tests/initialize-config.test.ts ✅ Passed 137ms
tests/instance-isolation.test.ts ✅ Passed 106ms
tests/models-list.test.ts ✅ Passed 251ms
tests/responses-background-lifecycle.test.ts ✅ Passed 209ms
tests/responses-body-method-errors.test.ts ✅ Passed 439ms
tests/responses-cancel-timeout.test.ts ✅ Passed 209ms
tests/responses-cancel.test.ts ✅ Passed 174ms
tests/responses-compact-retries.test.ts ✅ Passed 219ms
tests/responses-compact.test.ts ✅ Passed 228ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 215ms
tests/responses-create-advanced.test.ts ✅ Passed 1.081s
tests/responses-create-disconnect.test.ts ✅ Passed 1.108s
tests/responses-create-errors.test.ts ✅ Passed 287ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 452ms
tests/responses-create-retries.test.ts ✅ Passed 177ms
tests/responses-create-stream-failures.test.ts ✅ Passed 158ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 197ms
tests/responses-create-stream-wire.test.ts ✅ Passed 4.024s
tests/responses-create-stream.test.ts ✅ Passed 326ms
tests/responses-create-terminal-states.test.ts ✅ Passed 284ms
tests/responses-create-timeout.test.ts ✅ Passed 237ms
tests/responses-create.test.ts ✅ Passed 633ms
tests/responses-delete.test.ts ✅ Passed 199ms
tests/responses-input-items-errors.test.ts ✅ Passed 213ms
tests/responses-input-items-list.test.ts ✅ Passed 231ms
tests/responses-input-items-options.test.ts ✅ Passed 124ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 214ms
tests/responses-input-tokens-count.test.ts ✅ Passed 314ms
tests/responses-malformed-inputs.test.ts ✅ Passed 3.224s
tests/responses-not-found-errors.test.ts ✅ Passed 308ms
tests/responses-parse.test.ts ✅ Passed 461ms
tests/responses-retrieve-retries.test.ts ✅ Passed 396ms
tests/responses-retrieve.test.ts ✅ Passed 265ms
tests/responses-stored-method-errors.test.ts ✅ Passed 932ms
tests/retry-behavior.test.ts ✅ Passed 3.292s
tests/sdk-error-shape.test.ts ✅ Passed 404ms

View OkTest run #39480659670

SDK merge (5fc1f7d0e607) · head (78a81f9fc3bf) · base (199cf8169a49) · OkTest (29c8150fa2c4)

Castiron-Internal-PR: openai/openai-java-internal#295
Castiron-Source-SHA: c153e0f442f3d4f69dfb80c2627fa8f51616b681
Castiron-Public-Base-SHA: 199cf81
@jbeckwith-oai
jbeckwith-oai force-pushed the castiron/promotions/pr-295 branch from c0fe004 to 78a81f9 Compare October 20, 2026 19:06
@jbeckwith-oai
jbeckwith-oai added this pull request to the merge queue Oct 20, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Oct 20, 2026
@jbeckwith-oai
jbeckwith-oai added this pull request to the merge queue Oct 20, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 20, 2026
@jbeckwith-oai
jbeckwith-oai added this pull request to the merge queue Oct 20, 2026
Merged via the queue into main with commit 1e54d93 Oct 20, 2026
17 checks passed
@openai-sdks openai-sdks Bot mentioned this pull request Oct 20, 2026
jaredosgood pushed a commit to jaredosgood/openai-java that referenced this pull request Oct 22, 2026
Automated Release PR
---


##
[4.87.1](openai/openai-java@v4.87.0...v4.87.1)
(2026-10-20)


### Bug Fixes

* **auth:** recover after synchronous refresh startup failure
([openai#1246](openai#1246))
([efe5b95](openai@efe5b95))


### Chores

* **api:** clarify project API key update requirements
([openai#1244](openai#1244))
([1e54d93](openai@1e54d93))

---
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants