diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index 7e1de1f5..7c193d8b 100644
--- a/.speakeasy/gen.lock
+++ b/.speakeasy/gen.lock
@@ -1,19 +1,19 @@
lockVersion: 2.0.0
id: c48cf606-fb42-4a45-9c23-8f0555307828
management:
- docChecksum: 77068c873b6461c3ce598e7639e7e171
+ docChecksum: 9c5151a593a4d1b7cccb1069c2c32cc6
docVersion: 1.0.0
speakeasyVersion: 1.787.0
generationVersion: 2.914.0
- releaseVersion: 1.2.15
- configChecksum: 43d078beaa84285feccc361371078355
+ releaseVersion: 1.2.16
+ configChecksum: a564b713ccaad5bfd29591346750b4ea
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true
persistentEdits:
- generation_id: d606bc86-3789-4ac8-a973-e8c317148812
- pristine_commit_hash: af6e39c114d0eef6d6d37a87a118f0c509dcc58e
- pristine_tree_hash: 5a74f690938f581187d9d3e14911a3249a1c7fe5
+ generation_id: c7b981ff-44cf-4ae7-b4f1-53563dee307f
+ pristine_commit_hash: 795e7805783c8d6232637af90632df6a3bca8761
+ pristine_tree_hash: 1cd8b0e9e6756526a5a2939b56f0c118ba68fd80
features:
python:
acceptHeaders: 3.0.0
@@ -5187,8 +5187,8 @@ trackedFiles:
pristine_git_object: c5eb0598512c67cb4dcb72b9ef93c9a027a1a989
docs/components/responsesrequest.mdx:
id: 0dbcef40a4b1
- last_write_checksum: sha1:8169a9f78f1a62b764d0d2becc9560b871bd5a15
- pristine_git_object: 75b7c6bb75c1940ad9187a1631bf172e6bc477a0
+ last_write_checksum: sha1:769a00c73703af1d080294617106dbde100ce30e
+ pristine_git_object: 61e284e3ec7cc02541b74e533300ba8072cc0e6c
docs/components/responsesrequestplugin.mdx:
id: 4d550c41c85f
last_write_checksum: sha1:486d5ac6de82e6ac569b21e3d6cfab548585e4b9
@@ -8083,8 +8083,8 @@ trackedFiles:
pristine_git_object: 5026ac2a283240480026d80d2f77d5528ae8bdc8
docs/sdks/betaresponses/README.mdx:
id: 8a1e987c9840
- last_write_checksum: sha1:da17b27cff3d9a1d9a82e6a270fe2acce62ec028
- pristine_git_object: 08ef8d73c050b6baab18ef6e246a1d074179b21f
+ last_write_checksum: sha1:c7b700db6db684be6a26ad961babefa52e52ba67
+ pristine_git_object: cf721f58bd04c9e9525e4f9c2d57ee526dd7134d
docs/sdks/byok/README.mdx:
id: 17792f3b180d
last_write_checksum: sha1:7d9373a5a1d5c41b8dc333641812c07a4837965b
@@ -8159,8 +8159,8 @@ trackedFiles:
pristine_git_object: e45eea9aea2f1a8c6ec83a496b844524f17cae00
docs/sdks/presets/README.mdx:
id: eeb505928d52
- last_write_checksum: sha1:5b980d4ab7648ff7d33f2a6177dbb0e1959f840a
- pristine_git_object: 8e9d4ff28791ae4861022833877f024168746428
+ last_write_checksum: sha1:65e7d837befd019c63cc694f18cf713b979dcc15
+ pristine_git_object: ae5b31b25dda5ce9df2a247a13217f613c68b141
docs/sdks/providers/README.mdx:
id: 5ea9af111324
last_write_checksum: sha1:570b55655ee7602d3807c3218e450741f634eed6
@@ -8171,8 +8171,8 @@ trackedFiles:
pristine_git_object: 0836d633a90c128d0062b9fb532aa8be2591927a
docs/sdks/responses/README.mdx:
id: abab319e080e
- last_write_checksum: sha1:786e6be086f66f9262e19d6bbf8e32d726bea076
- pristine_git_object: 4620eda5cda464ad878f498b92604b435021e5fe
+ last_write_checksum: sha1:2a490c42fcc07f6dac5ef0204c9bb055f3e0afa5
+ pristine_git_object: eec7232321e300a7e5c2232ec0a6754d6cac11d1
docs/sdks/scim/README.mdx:
id: fd6d8a91a053
last_write_checksum: sha1:4a44eb3431bd9590ff15e3d944309dcfbbcd551c
@@ -8207,8 +8207,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml:
id: 5d07e7d72637
- last_write_checksum: sha1:15ce6f7cff75913f1b08ceaa8749b18d9ebbf6d4
- pristine_git_object: dc0216420b8e8b2880866e9f162f81d0878cb667
+ last_write_checksum: sha1:31aa63d33f418d703916ec3f9210f5db952fd48a
+ pristine_git_object: 9797285f4483debdb38f6f18920aa5d6d353c6d8
scripts/prepare_readme.py:
id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -8235,8 +8235,8 @@ trackedFiles:
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
src/openrouter/_version.py:
id: d8d15ad6c586
- last_write_checksum: sha1:a46b9567b1482e9b54a9b56d89fe91c304c69a26
- pristine_git_object: 22d2e2ac5c13082de840aa94cf1560638b96258c
+ last_write_checksum: sha1:ad76215ad9f4d2596339941e02d144c4e0bd5d5c
+ pristine_git_object: 2483053dcf19c3252dfeb645a7df521651e0d13a
src/openrouter/alpha.py:
id: 306c4d93308d
last_write_checksum: sha1:0c25a52ed5fb688ec1e923e4e82bcfc9cae49465
@@ -8263,8 +8263,8 @@ trackedFiles:
pristine_git_object: aa95a65cf560fd7edb0c3c6f5fed707ca5015da3
src/openrouter/beta_responses.py:
id: 001eaf848bf1
- last_write_checksum: sha1:cf864ff8c66d5177ac5b73ca38ddafdd77f69755
- pristine_git_object: 412aed86e32b1fd166d27e06e562463fa2b04395
+ last_write_checksum: sha1:185af24a8f8b484bd56e2d0c9132699e7200a0fb
+ pristine_git_object: 4e287344f0570c64f5faa3be7c06fd6100fe31cc
src/openrouter/byok.py:
id: bec352462ae1
last_write_checksum: sha1:ed4d5ecf5b0bf3fd004cc8629474ec0e100c0df5
@@ -10491,8 +10491,8 @@ trackedFiles:
pristine_git_object: 1364b9bd6384600f0f59afbe181eb0e940f686eb
src/openrouter/components/responsesrequest.py:
id: 8c850080ec5d
- last_write_checksum: sha1:8715ac1040d2289c3ad9cfbc40de9cc086c50209
- pristine_git_object: dabdb773b6cdf730208cb33875c8102b4f424080
+ last_write_checksum: sha1:6216db2482638a1c93253afa720e3e1b527ce6f5
+ pristine_git_object: 6af9bae4eb5a5d113b96d7475318f7e02c96fb39
src/openrouter/components/responsesstreamingresponse.py:
id: 142379f3bd90
last_write_checksum: sha1:a48d6f3610f5d15248ef4d25a0d88a0a4a1a9db7
@@ -11711,8 +11711,8 @@ trackedFiles:
pristine_git_object: 6e0305fa49d62303a81e2dfbac78ae63449a94d6
src/openrouter/presets.py:
id: bd0c40379dcd
- last_write_checksum: sha1:012e9e46e986826ecc6921e8376545d1da68f2f9
- pristine_git_object: 1e9d65482e3c1fa99b859eb3d5411e23644b263d
+ last_write_checksum: sha1:307215f3fac400989dbdb85eb13dbf9fbbc4b038
+ pristine_git_object: 38cc2e32a7d072feef1331b24b3ec22cfb789588
src/openrouter/providers.py:
id: debc4c48f149
last_write_checksum: sha1:11dbc607825edee8dcc84b39ee8171e097c47acf
@@ -11727,8 +11727,8 @@ trackedFiles:
pristine_git_object: 9db3cc719bd343ee7be0183d0c87b50c29e5eb31
src/openrouter/responses.py:
id: f2108fb635e1
- last_write_checksum: sha1:27af78b7cedb1691bb88a71271808d1e4685c2bb
- pristine_git_object: 209f35ce4bf4054b4a7735c742eb9e4b82207f9d
+ last_write_checksum: sha1:914622b408bf676070df8314389005ac1bebd064
+ pristine_git_object: a40be38d4cbf460ecf921723841b1a414d638dee
src/openrouter/scim.py:
id: 351afd6b616e
last_write_checksum: sha1:7018e78ab1826c13e7b87bbc31890c7a4c272c44
@@ -15060,4 +15060,3 @@ examples:
"529":
application/json: {"error": {"code": 529, "message": "Provider returned error"}}
examplesVersion: 1.0.2
-releaseNotes: "## Python SDK Changes:\n* `open_router.workspaces.list()`: `response.data[].disabled_server_tools` **Added**\n* `open_router.workspaces.create()`: \n * `request.disabled_server_tools` **Added**\n * `response.data.disabled_server_tools` **Added**\n* `open_router.workspaces.get()`: `response.data.disabled_server_tools` **Added**\n* `open_router.workspaces.update()`: \n * `request.disabled_server_tools` **Added**\n * `response.data.disabled_server_tools` **Added**\n"
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 6935c0f7..39b97e54 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -36,7 +36,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
python:
- version: 1.2.15
+ version: 1.2.16
additionalDependencies:
dev: {}
main: {}
diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml
index 1f006177..8c4d27ca 100644
--- a/.speakeasy/out.openapi.yaml
+++ b/.speakeasy/out.openapi.yaml
@@ -25008,7 +25008,7 @@ components:
- 'number'
- 'null'
previous_response_id:
- description: 'Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.'
+ description: 'Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.'
prompt:
$ref: '#/components/schemas/StoredPromptTemplate'
prompt_cache_key:
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index e39b0d23..72d7c148 100644
--- a/.speakeasy/workflow.lock
+++ b/.speakeasy/workflow.lock
@@ -2,8 +2,8 @@ speakeasyVersion: 1.787.0
sources:
OpenRouter API:
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:75219678a88c6c33fb86008c9884efc70d3afa9571fb4bdcad817b0c52e38ffa
- sourceBlobDigest: sha256:dce598aa43ade42a9ea54bb0cf25914cee5596a451689784f7e6f487bcd62fae
+ sourceRevisionDigest: sha256:3c262fd45e5ef090ed0fe3361cb63f840acc29259c8cedc8f938e03626bc6c9e
+ sourceBlobDigest: sha256:caa625891df873f2db74aac30f95e31242b4c2ace91632e1a4e72feb309853a1
tags:
- latest
- 1.0.0
@@ -11,10 +11,10 @@ targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:75219678a88c6c33fb86008c9884efc70d3afa9571fb4bdcad817b0c52e38ffa
- sourceBlobDigest: sha256:dce598aa43ade42a9ea54bb0cf25914cee5596a451689784f7e6f487bcd62fae
+ sourceRevisionDigest: sha256:3c262fd45e5ef090ed0fe3361cb63f840acc29259c8cedc8f938e03626bc6c9e
+ sourceBlobDigest: sha256:caa625891df873f2db74aac30f95e31242b4c2ace91632e1a4e72feb309853a1
codeSamplesNamespace: open-router-python-code-samples
- codeSamplesRevisionDigest: sha256:577f3c5860b667fabda4136bb17d41670751abc93c7c527c872aef179228d6fe
+ codeSamplesRevisionDigest: sha256:645955dceed70064b78760e97893f80d962fd71f617067457ae7ec2f07a601f7
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
diff --git a/RELEASES.md b/RELEASES.md
index ddcc8449..d2292906 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -2559,4 +2559,14 @@ Based on:
### Generated
- [python v1.2.15] .
### Releases
-- [PyPI v1.2.15] https://pypi.org/project/openrouter/1.2.15 - .
\ No newline at end of file
+- [PyPI v1.2.15] https://pypi.org/project/openrouter/1.2.15 - .
+
+## 2026-09-22 03:06:40
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v1.2.16] .
+### Releases
+- [PyPI v1.2.16] https://pypi.org/project/openrouter/1.2.16 - .
\ No newline at end of file
diff --git a/docs/components/responsesrequest.mdx b/docs/components/responsesrequest.mdx
index 75b7c6bb..61e284e3 100644
--- a/docs/components/responsesrequest.mdx
+++ b/docs/components/responsesrequest.mdx
@@ -26,7 +26,7 @@ Request schema for Responses endpoint
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
| `plugins` | List[[components.ResponsesRequestPlugin](../components/responsesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
+| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../components/storedprompttemplate.mdx) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
diff --git a/docs/sdks/betaresponses/README.mdx b/docs/sdks/betaresponses/README.mdx
index 08ef8d73..cf721f58 100644
--- a/docs/sdks/betaresponses/README.mdx
+++ b/docs/sdks/betaresponses/README.mdx
@@ -85,7 +85,7 @@ with OpenRouter(
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
| `plugins` | List[[components.ResponsesRequestPlugin](../../components/responsesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
+| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../../components/storedprompttemplate.mdx) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
diff --git a/docs/sdks/presets/README.mdx b/docs/sdks/presets/README.mdx
index 8e9d4ff2..ae5b31b2 100644
--- a/docs/sdks/presets/README.mdx
+++ b/docs/sdks/presets/README.mdx
@@ -351,7 +351,7 @@ with OpenRouter(
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
| `plugins` | List[[components.ResponsesRequestPlugin](../../components/responsesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
+| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../../components/storedprompttemplate.mdx) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
diff --git a/docs/sdks/responses/README.mdx b/docs/sdks/responses/README.mdx
index 4620eda5..eec72323 100644
--- a/docs/sdks/responses/README.mdx
+++ b/docs/sdks/responses/README.mdx
@@ -85,7 +85,7 @@ with OpenRouter(
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
| `plugins` | List[[components.ResponsesRequestPlugin](../../components/responsesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
+| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../../components/storedprompttemplate.mdx) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
diff --git a/pyproject.toml b/pyproject.toml
index dc021642..9797285f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "openrouter"
-version = "1.2.15"
+version = "1.2.16"
description = "Official Python Client SDK for OpenRouter."
authors = [{ name = "OpenRouter" },]
readme = "README-PYPI.md"
diff --git a/src/openrouter/_version.py b/src/openrouter/_version.py
index 22d2e2ac..2483053d 100644
--- a/src/openrouter/_version.py
+++ b/src/openrouter/_version.py
@@ -3,10 +3,10 @@
import importlib.metadata
__title__: str = "openrouter"
-__version__: str = "1.2.15"
+__version__: str = "1.2.16"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.914.0"
-__user_agent__: str = "speakeasy-sdk/python 1.2.15 2.914.0 1.0.0 openrouter"
+__user_agent__: str = "speakeasy-sdk/python 1.2.16 2.914.0 1.0.0 openrouter"
try:
if __package__ is not None:
diff --git a/src/openrouter/beta_responses.py b/src/openrouter/beta_responses.py
index 412aed86..4e287344 100644
--- a/src/openrouter/beta_responses.py
+++ b/src/openrouter/beta_responses.py
@@ -153,7 +153,7 @@ def send(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -311,7 +311,7 @@ def send(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -472,7 +472,7 @@ def send(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -632,7 +632,7 @@ def send(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -1072,7 +1072,7 @@ async def send_async(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -1230,7 +1230,7 @@ async def send_async(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -1391,7 +1391,7 @@ async def send_async(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -1551,7 +1551,7 @@ async def send_async(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
diff --git a/src/openrouter/components/responsesrequest.py b/src/openrouter/components/responsesrequest.py
index dabdb773..6af9bae4 100644
--- a/src/openrouter/components/responsesrequest.py
+++ b/src/openrouter/components/responsesrequest.py
@@ -395,7 +395,7 @@ class ResponsesRequestTypedDict(TypedDict):
r"""Plugins you want to enable for this request, including their settings."""
presence_penalty: NotRequired[Nullable[float]]
previous_response_id: NotRequired[Any]
- r"""Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead."""
+ r"""Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead."""
prompt: NotRequired[Nullable[StoredPromptTemplateTypedDict]]
prompt_cache_key: NotRequired[Nullable[str]]
prompt_cache_options: NotRequired[Nullable[PromptCacheOptionsTypedDict]]
@@ -475,7 +475,7 @@ class ResponsesRequest(BaseModel):
presence_penalty: OptionalNullable[float] = UNSET
previous_response_id: Optional[Any] = None
- r"""Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead."""
+ r"""Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead."""
prompt: OptionalNullable[StoredPromptTemplate] = UNSET
diff --git a/src/openrouter/presets.py b/src/openrouter/presets.py
index 1e9d6548..38cc2e32 100644
--- a/src/openrouter/presets.py
+++ b/src/openrouter/presets.py
@@ -2126,7 +2126,7 @@ def create_presets_responses(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -2478,7 +2478,7 @@ async def create_presets_responses_async(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
diff --git a/src/openrouter/responses.py b/src/openrouter/responses.py
index 209f35ce..a40be38d 100644
--- a/src/openrouter/responses.py
+++ b/src/openrouter/responses.py
@@ -153,7 +153,7 @@ def send(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -311,7 +311,7 @@ def send(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -472,7 +472,7 @@ def send(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -632,7 +632,7 @@ def send(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -1072,7 +1072,7 @@ async def send_async(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -1230,7 +1230,7 @@ async def send_async(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -1391,7 +1391,7 @@ async def send_async(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
@@ -1551,7 +1551,7 @@ async def send_async(
:param parallel_tool_calls:
:param plugins: Plugins you want to enable for this request, including their settings.
:param presence_penalty:
- :param previous_response_id: Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
+ :param previous_response_id: Not supported on this proxy. Each response request is independent: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead.
:param prompt:
:param prompt_cache_key:
:param prompt_cache_options: Request-level prompt-cache controls. `mode: \"explicit\"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.
diff --git a/uv.lock b/uv.lock
index 980bfd46..dbc7fbf9 100644
--- a/uv.lock
+++ b/uv.lock
@@ -213,7 +213,7 @@ wheels = [
[[package]]
name = "openrouter"
-version = "1.2.15"
+version = "1.2.16"
source = { editable = "." }
dependencies = [
{ name = "httpcore" },