Skip to content

feat(api): align beta pagination limits and non-null parameters - #4057

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

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

Conversation

@jbeckwith-oai

Copy link
Copy Markdown
Contributor

Summary

Aligns beta agent pagination with the API’s shared validation rules.

Changes

Beta agent pagination now follows shared API validation: page sizes must be 1–100 (default 20). Session, vault, and vault-credential listings reject out-of-range limits with HTTP 400 instead of clamping them. Omit optional pagination arguments to use defaults. List parameter annotations no longer include None for the five list limits or the artifact after cursor. Prefer omitting these arguments; existing Python None serialization still omits them.

Affected beta resources: agents, sessions, session artifacts, vaults, and vault credentials (beta.agents). The corresponding HTTP paths are /agents, /agents/sessions, /agents/sessions/{session_id}/artifacts, /vaults, and /vaults/{vault_id}/credentials.

Compatibility and migration

This follows the beta API’s move to shared pagination validation. Omit limit to use 20, or supply an integer from 1 through 100. Omit after to start at the first page. Artifact listing already enforced the numeric range; the newly rejected out-of-range requests identified here are session, vault, and vault-credential listings.

The change remains within the beta surface and does not use a major-version marker.

Castiron-Internal-PR: openai/openai-python-internal#231
Castiron-Source-SHA: 69f35cf3436842b1718d99772aa0e1d768953cff
Castiron-Public-Base-SHA: b7a1990
@jbeckwith-oai
jbeckwith-oai marked this pull request as ready for review October 11, 2026 16:55
@jbeckwith-oai
jbeckwith-oai requested a review from a team as a code owner October 11, 2026 16:55
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 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-11T16:57:17.200648Z 6277799 Draft marked ready
🔒 Security Review ✅ Completed 2026-10-11T16:58:19.331607Z 6277799 Draft marked ready
ℹ️ 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.

@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

Castiron custom code

Evaluated main: b7a1990353baec896ee5e04b40b9f2dc2925a4f5.

✅ No new custom-code files detected.

50 mixed files remain; 0 existing customizations changed; 2 generated baselines changed.

Compared b7a1990353ba → 627779945e02. Generated baselines verified.

File Result Current custom patch
src/openai/resources/beta/agents/sessions/artifacts.py Generated baseline changed +10 / −0
src/openai/resources/beta/agents/sessions/sessions.py Generated baseline changed +113 / −11
48 existing customizations unchanged
  • api.md
  • scripts/castiron/custom_code_budget.py
  • scripts/castiron/test_custom_code_github.py
  • scripts/castiron/test_custom_code_publication.py
  • scripts/castiron/test_custom_code_report.py
  • src/openai/init.py
  • src/openai/_client.py
  • src/openai/resources/audio/transcriptions.py
  • src/openai/resources/audio/translations.py
  • src/openai/resources/beta/agents/environments/files.py
  • src/openai/resources/beta/beta.py
  • src/openai/resources/beta/responses/responses.py
  • src/openai/resources/beta/threads/runs/runs.py
  • src/openai/resources/beta/threads/threads.py
  • src/openai/resources/chat/completions/completions.py
  • src/openai/resources/embeddings.py
  • src/openai/resources/files.py
  • src/openai/resources/live/forks.py
  • src/openai/resources/live/live.py
  • src/openai/resources/live/sideband.py
  • src/openai/resources/realtime/api.md
  • src/openai/resources/realtime/realtime.py
  • src/openai/resources/responses/responses.py
  • src/openai/resources/uploads/uploads.py
  • src/openai/resources/vector_stores/file_batches.py
  • src/openai/resources/vector_stores/files.py
  • src/openai/resources/videos.py
  • src/openai/resources/webhooks/init.py
  • src/openai/resources/webhooks/webhooks.py
  • src/openai/types/beta/agent_session_message.py
  • src/openai/types/chat/init.py
  • src/openai/types/chat/chat_completion_message_tool_call.py
  • src/openai/types/fine_tuning/fine_tuning_job_integration.py
  • src/openai/types/realtime/conversation_item_input_audio_transcription_delta_event.py
  • src/openai/types/realtime/realtime_error_event.py
  • src/openai/types/responses/init.py
  • src/openai/types/responses/response.py
  • src/openai/types/responses/response_function_web_search.py
  • src/openai/types/responses/response_function_web_search_param.py
  • src/openai/types/responses/responses_client_event.py

8 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 38157514252 --repo openai/openai-python \
  --name castiron-custom-code-38157514252-1 --dir /tmp/castiron-custom-code-38157514252-1
git apply --stat /tmp/castiron-custom-code-38157514252-1/custom-code.patch
cat /tmp/castiron-custom-code-38157514252-1/custom-code.patch

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

git fetch --no-tags origin b7a1990353baec896ee5e04b40b9f2dc2925a4f5 627779945e023617a9193082845e9f3bc3a72ea7
python3 scripts/castiron/custom_code_report.py report \
  --base b7a1990353baec896ee5e04b40b9f2dc2925a4f5 \
  --head 627779945e023617a9193082845e9f3bc3a72ea7 --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-627779945e02
cat /tmp/castiron-custom-code-627779945e02/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

@openai-sdks

openai-sdks Bot commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

OkTest Summary

✅ 236/236 SDK tests passed in 9.699s for Python SDK PR #4057.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 328ms
tests/chat-completions-create.test.ts ✅ Passed 219ms
tests/chat-completions-stream.test.ts ✅ Passed 296ms
tests/files-content-binary.test.ts ✅ Passed 209ms
tests/files-create-multipart.test.ts ✅ Passed 205ms
tests/files-list-pagination.test.ts ✅ Passed 259ms
tests/initialize-config.test.ts ✅ Passed 173ms
tests/instance-isolation.test.ts ✅ Passed 206ms
tests/models-list.test.ts ✅ Passed 297ms
tests/responses-background-lifecycle.test.ts ✅ Passed 188ms
tests/responses-body-method-errors.test.ts ✅ Passed 259ms
tests/responses-cancel-timeout.test.ts ✅ Passed 274ms
tests/responses-cancel.test.ts ✅ Passed 193ms
tests/responses-compact-retries.test.ts ✅ Passed 348ms
tests/responses-compact.test.ts ✅ Passed 208ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 163ms
tests/responses-create-advanced.test.ts ✅ Passed 310ms
tests/responses-create-disconnect.test.ts ✅ Passed 1.204s
tests/responses-create-errors.test.ts ✅ Passed 203ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 214ms
tests/responses-create-retries.test.ts ✅ Passed 256ms
tests/responses-create-stream-failures.test.ts ✅ Passed 832ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 242ms
tests/responses-create-stream-wire.test.ts ✅ Passed 2.144s
tests/responses-create-stream.test.ts ✅ Passed 258ms
tests/responses-create-terminal-states.test.ts ✅ Passed 280ms
tests/responses-create-timeout.test.ts ✅ Passed 266ms
tests/responses-create.test.ts ✅ Passed 602ms
tests/responses-delete.test.ts ✅ Passed 207ms
tests/responses-input-items-errors.test.ts ✅ Passed 412ms
tests/responses-input-items-list.test.ts ✅ Passed 327ms
tests/responses-input-items-options.test.ts ✅ Passed 288ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 264ms
tests/responses-input-tokens-count.test.ts ✅ Passed 246ms
tests/responses-malformed-inputs.test.ts ✅ Passed 1.161s
tests/responses-not-found-errors.test.ts ✅ Passed 261ms
tests/responses-parse.test.ts ✅ Passed 300ms
tests/responses-retrieve-retries.test.ts ✅ Passed 230ms
tests/responses-retrieve.test.ts ✅ Passed 201ms
tests/responses-stored-method-errors.test.ts ✅ Passed 487ms
tests/retry-behavior.test.ts ✅ Passed 3.189s
tests/sdk-error-shape.test.ts ✅ Passed 275ms

View OkTest run #38157491101

SDK merge (651d8482344a) · head (627779945e02) · base (b7a1990353ba) · OkTest (75346921306c)

@jbeckwith-oai
jbeckwith-oai added this pull request to the merge queue Oct 11, 2026
Merged via the queue into main with commit 800899e Oct 11, 2026
28 checks passed
@jbeckwith-oai
jbeckwith-oai deleted the castiron/promotions/pr-231 branch October 11, 2026 17:14
@openai-sdks openai-sdks Bot mentioned this pull request Oct 11, 2026
opensource-fork-sync Bot pushed a commit to cla7aye15I4nd/opensource-openai__openai-python that referenced this pull request Oct 11, 2026
Automated Release PR
---


##
[3.29.0](openai/openai-python@v3.28.0...v3.29.0)
(2026-10-11)


### Features

* **api:** add billing_not_active session error code
([openai#4052](openai#4052))
([c88b320](openai@c88b320))
* **api:** add shida to named Live voices
([openai#4053](openai#4053))
([7352cf5](openai@7352cf5))
* **api:** add vault updates and metadata filters
([openai#4047](openai#4047))
([e72f493](openai@e72f493))
* **api:** align beta pagination limits and non-null parameters
([openai#4057](openai#4057))
([800899e](openai@800899e))


### Chores

* **api:** clarify decision creation documentation
([openai#4054](openai#4054))
([16d3d3b](openai@16d3d3b))
* **api:** clarify Decisions question and answer descriptions
([openai#4051](openai#4051))
([895d617](openai@895d617))
* **api:** document 128-character safety identifiers
([openai#4050](openai#4050))
([2c1ae52](openai@2c1ae52))
* **api:** document decision choice constraints
([openai#4055](openai#4055))
([b7a1990](openai@b7a1990))
* **api:** document Files API rate-limit responses
([openai#4049](openai#4049))
([f6a3459](openai@f6a3459))

---
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.

2 participants