diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index ad13bf1c..91149e88 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: 21e8adea9952d07dfc25702561587e65
+ docChecksum: 5c4e6162ecadfd23a304f79168bf5745
docVersion: 1.0.0
speakeasyVersion: 1.787.0
generationVersion: 2.914.0
- releaseVersion: 1.1.56
- configChecksum: 907b5890a3111bfa86b1edd267d0d9ce
+ releaseVersion: 1.1.57
+ configChecksum: 8cd5a4ccae451615a6e3107cd1f59206
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true
persistentEdits:
- generation_id: c5ac023e-995b-4d8a-8433-1ee9a719e2ae
- pristine_commit_hash: e6d3394868625ce6696d0c62c4f8d7051d8cd4f2
- pristine_tree_hash: bb588f0a562fcfa2684ebd60857a051578bfc325
+ generation_id: 171237ab-3370-4c91-8681-0ddc1b0379d0
+ pristine_commit_hash: 765968d6eb632e90fd1813d28f4c631768f58028
+ pristine_tree_hash: 333a857f00454f26585046314ff3747a708584ee
features:
python:
acceptHeaders: 3.0.0
@@ -3826,8 +3826,8 @@ trackedFiles:
pristine_git_object: 700af387aa2f0f827ef4775f69fbb3900b075899
docs/components/outputfusionservertoolitem.mdx:
id: bc7c73cc3100
- last_write_checksum: sha1:a6ad8e70dd97599df99e90d833489ac6bb14efbc
- pristine_git_object: 22cd86c9d3fe2ad250a9afbbfcbd1559b42aeafc
+ last_write_checksum: sha1:f5d2d410c6684611ca06578f1ee6f60d7db209d9
+ pristine_git_object: 0d66d4e053416b08402e08f11c7dcde2b2b9497c
docs/components/outputfusionservertoolitemtype.mdx:
id: d5337e29a21f
last_write_checksum: sha1:133446222202e08ffceaa5944185842c21078830
@@ -7234,8 +7234,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml:
id: 5d07e7d72637
- last_write_checksum: sha1:332bdd3efe84c6694fb6e365e206890fcfa995d2
- pristine_git_object: 35d7afa91192f7938b13065e76b136a9911e73e7
+ last_write_checksum: sha1:7ddbc53a16bf917bfcb5a572cdb40b50a52f078a
+ pristine_git_object: 36963934f7624aa899400c4d9fabb15952d04c16
scripts/prepare_readme.py:
id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -7262,8 +7262,8 @@ trackedFiles:
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
src/openrouter/_version.py:
id: d8d15ad6c586
- last_write_checksum: sha1:0d985a04bb75da62da250509184540d4a7c07065
- pristine_git_object: be20ae870d967a9d73f72a888ac117105a9faeb7
+ last_write_checksum: sha1:b671af22de2bea9808c948466ff1b74adc909090
+ pristine_git_object: 80371bc54bade0bc2eda19a35d1e3a39796e6fc0
src/openrouter/analytics.py:
id: cb406b5aaabb
last_write_checksum: sha1:3ea0f1c73fb9c101b7bc5719da4dd7bf62ff469a
@@ -8910,8 +8910,8 @@ trackedFiles:
pristine_git_object: 13dc4afc3516bdb0590427677835c1d1590c9d9d
src/openrouter/components/outputfusionservertoolitem.py:
id: 1d798a2bb7ae
- last_write_checksum: sha1:cb729a32bc6df2b60107a4bbd468fd40171d5e50
- pristine_git_object: d7f2389fe88a3bb43a266d42279bd04ca55327cb
+ last_write_checksum: sha1:dba77052202fb6602b18083e7c6fff1e6f2e46c7
+ pristine_git_object: 38f428f37e6ffbc7c5e39b831c4d77e2090b50a9
src/openrouter/components/outputimagegenerationcallitem.py:
id: 48d20dc00e1c
last_write_checksum: sha1:339b1256fd865d8ddb8b3be54a4203ccb6498c3f
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index 5a082ed9..d83c3851 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -36,7 +36,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
python:
- version: 1.1.56
+ version: 1.1.57
additionalDependencies:
dev: {}
main: {}
diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml
index 27e4fe20..620c0b62 100644
--- a/.speakeasy/out.openapi.yaml
+++ b/.speakeasy/out.openapi.yaml
@@ -18590,7 +18590,7 @@ components:
type: 'object'
type: 'array'
failure_reason:
- description: 'Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching.'
+ description: 'Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching. The consumer-cancellation code is `cancelled`.'
type: 'string'
id:
type: 'string'
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 3a103fad..3a150cdc 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:167e6ed9e4e56a3e81cbe1a331322c41ca0b5c5b8c87f623800f019ecb7e29d2
- sourceBlobDigest: sha256:e022d5da26759503d7b669cfebe69f95e67f0bdd84de6430ed60862c676b5be8
+ sourceRevisionDigest: sha256:582c987e6b1cc22aad969439bb0ff2a4d999c12456fa18a502cd08e584ee26d2
+ sourceBlobDigest: sha256:b44ab70ecfca9448c749ed7d244f1daca04a45b958d08eeb0a495cf2bfce1341
tags:
- latest
- 1.0.0
@@ -11,10 +11,10 @@ targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:167e6ed9e4e56a3e81cbe1a331322c41ca0b5c5b8c87f623800f019ecb7e29d2
- sourceBlobDigest: sha256:e022d5da26759503d7b669cfebe69f95e67f0bdd84de6430ed60862c676b5be8
+ sourceRevisionDigest: sha256:582c987e6b1cc22aad969439bb0ff2a4d999c12456fa18a502cd08e584ee26d2
+ sourceBlobDigest: sha256:b44ab70ecfca9448c749ed7d244f1daca04a45b958d08eeb0a495cf2bfce1341
codeSamplesNamespace: open-router-python-code-samples
- codeSamplesRevisionDigest: sha256:91f9f4ddd1e39c73a7c4e0b613750800e654526bdae43637f02b43f1c7724669
+ codeSamplesRevisionDigest: sha256:9365218da5db2b6f14b517d4033b5197b0659a4b13737f131ff21e73e8774b4b
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
diff --git a/RELEASES.md b/RELEASES.md
index 0edba1ca..60c11c15 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -1349,4 +1349,14 @@ Based on:
### Generated
- [python v1.1.56] .
### Releases
-- [PyPI v1.1.56] https://pypi.org/project/openrouter/1.1.56 - .
\ No newline at end of file
+- [PyPI v1.1.56] https://pypi.org/project/openrouter/1.1.56 - .
+
+## 2026-08-14 21:24:00
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v1.1.57] .
+### Releases
+- [PyPI v1.1.57] https://pypi.org/project/openrouter/1.1.57 - .
\ No newline at end of file
diff --git a/docs/components/outputfusionservertoolitem.mdx b/docs/components/outputfusionservertoolitem.mdx
index 22cd86c9..0d66d4e0 100644
--- a/docs/components/outputfusionservertoolitem.mdx
+++ b/docs/components/outputfusionservertoolitem.mdx
@@ -12,7 +12,7 @@ An openrouter:fusion server tool output item
| `analysis` | [Optional[components.FusionAnalysisResult]](../components/fusionanalysisresult.mdx) | :heavy_minus_sign: | Structured analysis produced by the fusion analyst model. | \{
"blind_spots": [
"No model considered the impact on existing API consumers."
],
"consensus": [
"All panel models agree the request is asking for a concise summary."
],
"contradictions": [
\{
"stances": [
\{
"model": "openai/gpt-5",
"stance": "Favors an incremental rollout."
},
\{
"model": "anthropic/claude-sonnet-4.5",
"stance": "Favors a single coordinated migration."
}
],
"topic": "Recommended approach"
}
],
"partial_coverage": [
\{
"models": [
"openai/gpt-5"
],
"point": "Only one model addressed the rollback strategy."
}
],
"unique_insights": [
\{
"insight": "Highlighted a backwards-compatibility risk the other models missed.",
"model": "anthropic/claude-sonnet-4.5"
}
]
} |
| `error` | *Optional[str]* | :heavy_minus_sign: | Error message when the fusion run did not produce an analysis result. | |
| `failed_models` | List[[components.FailedModel](../components/failedmodel.mdx)] | :heavy_minus_sign: | Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel. | |
-| `failure_reason` | *Optional[str]* | :heavy_minus_sign: | Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching. | |
+| `failure_reason` | *Optional[str]* | :heavy_minus_sign: | Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching. The consumer-cancellation code is `cancelled`. | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `responses` | List[[components.Response](../components/response.mdx)] | :heavy_minus_sign: | Analysis models that produced a response in this fusion run, with each model's full panel content. | |
| `sources` | List[[components.FusionSource](../components/fusionsource.mdx)] | :heavy_minus_sign: | Web pages the analysis panels and analyst retrieved via web search during this fusion run, deduplicated by URL across the whole run. Present when at least one model cited a source. | |
diff --git a/pyproject.toml b/pyproject.toml
index 35d7afa9..36963934 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "openrouter"
-version = "1.1.56"
+version = "1.1.57"
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 be20ae87..80371bc5 100644
--- a/src/openrouter/_version.py
+++ b/src/openrouter/_version.py
@@ -3,10 +3,10 @@
import importlib.metadata
__title__: str = "openrouter"
-__version__: str = "1.1.56"
+__version__: str = "1.1.57"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.914.0"
-__user_agent__: str = "speakeasy-sdk/python 1.1.56 2.914.0 1.0.0 openrouter"
+__user_agent__: str = "speakeasy-sdk/python 1.1.57 2.914.0 1.0.0 openrouter"
try:
if __package__ is not None:
diff --git a/src/openrouter/components/outputfusionservertoolitem.py b/src/openrouter/components/outputfusionservertoolitem.py
index d7f2389f..38f428f3 100644
--- a/src/openrouter/components/outputfusionservertoolitem.py
+++ b/src/openrouter/components/outputfusionservertoolitem.py
@@ -88,7 +88,7 @@ class OutputFusionServerToolItemTypedDict(TypedDict):
failed_models: NotRequired[List[FailedModelTypedDict]]
r"""Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel."""
failure_reason: NotRequired[str]
- r"""Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching."""
+ r"""Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching. The consumer-cancellation code is `cancelled`."""
id: NotRequired[str]
responses: NotRequired[List[ResponseTypedDict]]
r"""Analysis models that produced a response in this fusion run, with each model's full panel content."""
@@ -113,7 +113,7 @@ class OutputFusionServerToolItem(BaseModel):
r"""Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel."""
failure_reason: Optional[str] = None
- r"""Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching."""
+ r"""Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, invalid_model, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching. The consumer-cancellation code is `cancelled`."""
id: Optional[str] = None
diff --git a/uv.lock b/uv.lock
index 72602c58..768b8f9a 100644
--- a/uv.lock
+++ b/uv.lock
@@ -213,7 +213,7 @@ wheels = [
[[package]]
name = "openrouter"
-version = "1.1.56"
+version = "1.1.57"
source = { editable = "." }
dependencies = [
{ name = "httpcore" },