diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock
index 1dad95ef..1453ce9b 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: e9079210b57b76d5adc98a5fbfee3e26
+ docChecksum: 8ce9a95a066e4f07396577ec2532aaef
docVersion: 1.0.0
speakeasyVersion: 1.787.0
generationVersion: 2.914.0
- releaseVersion: 1.1.160
- configChecksum: 294352f6dd2d72d42a5cbac1970b1738
+ releaseVersion: 1.1.161
+ configChecksum: 195a60f46e6e86213e3c0fd8f41a712b
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true
persistentEdits:
- generation_id: a334c67c-ff14-46d1-955a-fdbb92136262
- pristine_commit_hash: 1b2cae9732a135f60fbbde8b0f6d151194ec3632
- pristine_tree_hash: 3ec98bd39ffcc42f451dcfb8290d213d737108f4
+ generation_id: 6aa3782e-b11c-47c8-8533-24934159a2b5
+ pristine_commit_hash: 515f6c5485838e35415c7cc053b02b6d3f535869
+ pristine_tree_hash: 445945c8dd3b7a39ac7f58d062d196632c8c4c7f
features:
python:
acceptHeaders: 3.0.0
@@ -6166,8 +6166,8 @@ trackedFiles:
pristine_git_object: cd3d46d3af459e7b95090a8e74e22eed448b3fdd
docs/components/vaultsecret.mdx:
id: f83900f9f59b
- last_write_checksum: sha1:b1fa371ebf1c4013e68eee3d829c2806fcdf6cd9
- pristine_git_object: f7e952ab909d88c4460040a50f71256ace063efc
+ last_write_checksum: sha1:9098b56d682969f3eb8fdf1b2a02174cc69ae75b
+ pristine_git_object: 912186ec233643a66d0d5c1c1f9c980b3df9f765
docs/components/vaultsecretcopyrequest.mdx:
id: 31f8edda3085
last_write_checksum: sha1:7986ca6048fab04668b24b844f5756f33948eef6
@@ -6182,8 +6182,8 @@ trackedFiles:
pristine_git_object: 0b17bf589ee1d32b61748a62deb3e71562497f03
docs/components/vaultsecretresponse.mdx:
id: 933fa3914687
- last_write_checksum: sha1:43511297d34b0775fd672907f3044d6e02f99afd
- pristine_git_object: 9286dbb18a96ef2539d72f107f64ab62c3f98604
+ last_write_checksum: sha1:cba8d21eb9e988bc6b1b5799792d98ba14695616
+ pristine_git_object: db67f3cfa5cb9541b65a45d66fc7c7de5fa31e2b
docs/components/vaultsecretwriterequest.mdx:
id: 8d1688364ae0
last_write_checksum: sha1:dd7b982e9f3f02beb523d311abfe5c1a05ee8b57
@@ -8158,8 +8158,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml:
id: 5d07e7d72637
- last_write_checksum: sha1:34ee2a7313a11b1fd8b2ee964ebd3f022e3f4b91
- pristine_git_object: 787fe930bc59ade28290f768170b6c2f8cca8725
+ last_write_checksum: sha1:d8c7b7943a6026b790c064e2fff1760876efb401
+ pristine_git_object: 00fdf59c324d872273d041c2b9026b100c4575eb
scripts/prepare_readme.py:
id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
@@ -8186,8 +8186,8 @@ trackedFiles:
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
src/openrouter/_version.py:
id: d8d15ad6c586
- last_write_checksum: sha1:5c1a29319dbaeec6f3940b892ececa9a973e8c77
- pristine_git_object: a910b9c2d043f46fc7afe564dfdb2f9841a7d047
+ last_write_checksum: sha1:54e799a27c847f61441376935485ee3bc2b17a71
+ pristine_git_object: 61ea41dc67e48bdd01707aa6de9eb2dc08ecd4a4
src/openrouter/alpha.py:
id: 306c4d93308d
last_write_checksum: sha1:0c25a52ed5fb688ec1e923e4e82bcfc9cae49465
@@ -10842,8 +10842,8 @@ trackedFiles:
pristine_git_object: a0491cc8fd3bd9986146cb1176e27d5b9c9beb60
src/openrouter/components/vaultsecret.py:
id: 9fcf1780b21c
- last_write_checksum: sha1:8f9d67ffe7ccc6e136436956c62cfc474239367b
- pristine_git_object: 001689417bffff3be2613e2f9180e325caeeaef9
+ last_write_checksum: sha1:8b04cf06d4dac935e5e4d6a7fe690167a6a56ca6
+ pristine_git_object: aba4e19501d9a4ea0a4b40db2d27186c32769ee3
src/openrouter/components/vaultsecretcopyrequest.py:
id: d76c25d3f759
last_write_checksum: sha1:0606f04ef3007d140e4d87e516f65263540ccb1e
@@ -10858,8 +10858,8 @@ trackedFiles:
pristine_git_object: 5d2afe2de22d48b4553cd60e4a11eea5b7b417ed
src/openrouter/components/vaultsecretresponse.py:
id: 13721b687525
- last_write_checksum: sha1:a8b37f58c39f59a73d7693b105699256320c3c5e
- pristine_git_object: a245014a7b07b95ac665357f587e1340cff8dc85
+ last_write_checksum: sha1:211d5fc20db2ee00ea3476ffaab178121ea811a4
+ pristine_git_object: ec329629236dfe3490753b322124d1b2321a2ebf
src/openrouter/components/vaultsecretwriterequest.py:
id: cbb498111508
last_write_checksum: sha1:72526fd27fea161dd2701080c2674dc96e046462
@@ -14940,9 +14940,3 @@ examples:
"502":
application/json: {"error": {"code": 409, "message": "That question is no longer waiting for an answer."}}
examplesVersion: 1.0.2
-releaseNotes: |
- ## Python SDK Changes:
- * `open_router.interns.list_interns()`: `response.data[]` **Changed** (Breaking ⚠️)
- * `open_router.interns.create_intern()`: `response` **Changed** (Breaking ⚠️)
- * `open_router.interns.get_intern()`: `response` **Changed** (Breaking ⚠️)
- * `open_router.interns.update_intern()`: `response` **Changed** (Breaking ⚠️)
diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml
index ffbe6f28..29531f9b 100644
--- a/.speakeasy/gen.yaml
+++ b/.speakeasy/gen.yaml
@@ -36,7 +36,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
python:
- version: 1.1.160
+ version: 1.1.161
additionalDependencies:
dev: {}
main: {}
diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml
index 7279a811..5ab1a755 100644
--- a/.speakeasy/out.openapi.yaml
+++ b/.speakeasy/out.openapi.yaml
@@ -28352,7 +28352,7 @@ components:
total_tokens: 35
VaultSecret:
additionalProperties: false
- description: 'Metadata for one stored secret. The secret value is never returned. `fingerprint` is a keyed SHA-256 digest of the value: equal fingerprints within one scope mean equal values, but a workspace secret and its intern copy carry different fingerprints. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts.'
+ description: 'Metadata for one stored secret. The secret value is never returned. `fingerprint` is an HMAC-SHA-256 of the value keyed with that vault''s own data key, so it is comparable only within one vault: equal fingerprints in one vault mean equal values, and rewriting the same value keeps its fingerprint. The same value stored in two vaults (for example a workspace secret and its intern copy) carries different fingerprints, so comparing fingerprints across vaults cannot show that a copy matches or that a rotation propagated. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts.'
example:
created_at: '2026-09-15T17:44:00.000Z'
fingerprint: 'sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08'
diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock
index 1646892e..f541b86a 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:dbd0751bae97a0979b9f0ed90c6332927dfb4fe9546485e7be8713f5c0366177
- sourceBlobDigest: sha256:410a5f0f13ede27ebda174e0116c8250d178163253e06da602168a679a04cc28
+ sourceRevisionDigest: sha256:89887eeda1fce53f98d010ac6f9ec7b0c703bf14f29a2a1d0aad4c0313080ccb
+ sourceBlobDigest: sha256:41a064f3c9f87b01e24e363168d3dba4b9dde6bd1393a91e2ef32714b14d4a36
tags:
- latest
- 1.0.0
@@ -11,10 +11,10 @@ targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
- sourceRevisionDigest: sha256:dbd0751bae97a0979b9f0ed90c6332927dfb4fe9546485e7be8713f5c0366177
- sourceBlobDigest: sha256:410a5f0f13ede27ebda174e0116c8250d178163253e06da602168a679a04cc28
+ sourceRevisionDigest: sha256:89887eeda1fce53f98d010ac6f9ec7b0c703bf14f29a2a1d0aad4c0313080ccb
+ sourceBlobDigest: sha256:41a064f3c9f87b01e24e363168d3dba4b9dde6bd1393a91e2ef32714b14d4a36
codeSamplesNamespace: open-router-python-code-samples
- codeSamplesRevisionDigest: sha256:21d6920e7e31e65c7cb948152823092fbda06c2732362f516dc04c991d9fca24
+ codeSamplesRevisionDigest: sha256:fab5ea9559611a771e17a3c501cd9188002e6985242a6e77f36d5c67f551163f
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
diff --git a/RELEASES.md b/RELEASES.md
index 65cd3ecd..9170ff97 100644
--- a/RELEASES.md
+++ b/RELEASES.md
@@ -2389,4 +2389,14 @@ Based on:
### Generated
- [python v1.1.160] .
### Releases
-- [PyPI v1.1.160] https://pypi.org/project/openrouter/1.1.160 - .
\ No newline at end of file
+- [PyPI v1.1.160] https://pypi.org/project/openrouter/1.1.160 - .
+
+## 2026-09-18 23:26:52
+### Changes
+Based on:
+- OpenAPI Doc
+- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
+### Generated
+- [python v1.1.161] .
+### Releases
+- [PyPI v1.1.161] https://pypi.org/project/openrouter/1.1.161 - .
\ No newline at end of file
diff --git a/docs/components/vaultsecret.mdx b/docs/components/vaultsecret.mdx
index f7e952ab..912186ec 100644
--- a/docs/components/vaultsecret.mdx
+++ b/docs/components/vaultsecret.mdx
@@ -2,7 +2,7 @@
title: "VaultSecret"
---
-Metadata for one stored secret. The secret value is never returned. `fingerprint` is a keyed SHA-256 digest of the value: equal fingerprints within one scope mean equal values, but a workspace secret and its intern copy carry different fingerprints. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts.
+Metadata for one stored secret. The secret value is never returned. `fingerprint` is an HMAC-SHA-256 of the value keyed with that vault's own data key, so it is comparable only within one vault: equal fingerprints in one vault mean equal values, and rewriting the same value keeps its fingerprint. The same value stored in two vaults (for example a workspace secret and its intern copy) carries different fingerprints, so comparing fingerprints across vaults cannot show that a copy matches or that a rotation propagated. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts.
## Fields
diff --git a/docs/components/vaultsecretresponse.mdx b/docs/components/vaultsecretresponse.mdx
index 9286dbb1..db67f3cf 100644
--- a/docs/components/vaultsecretresponse.mdx
+++ b/docs/components/vaultsecretresponse.mdx
@@ -7,6 +7,6 @@ Metadata for the stored secret.
## Fields
-| Field | Type | Required | Description | Example |
-| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.VaultSecret](../components/vaultsecret.mdx) | :heavy_check_mark: | Metadata for one stored secret. The secret value is never returned. `fingerprint` is a keyed SHA-256 digest of the value: equal fingerprints within one scope mean equal values, but a workspace secret and its intern copy carry different fingerprints. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts. | \{
"created_at": "2026-09-15T17:44:00.000Z",
"fingerprint": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"hosts": [
"api.github.com"
],
"name": "github_token"
} |
\ No newline at end of file
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `data` | [components.VaultSecret](../components/vaultsecret.mdx) | :heavy_check_mark: | Metadata for one stored secret. The secret value is never returned. `fingerprint` is an HMAC-SHA-256 of the value keyed with that vault's own data key, so it is comparable only within one vault: equal fingerprints in one vault mean equal values, and rewriting the same value keeps its fingerprint. The same value stored in two vaults (for example a workspace secret and its intern copy) carries different fingerprints, so comparing fingerprints across vaults cannot show that a copy matches or that a rotation propagated. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts. | \{
"created_at": "2026-09-15T17:44:00.000Z",
"fingerprint": "sha256:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"hosts": [
"api.github.com"
],
"name": "github_token"
} |
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
index 787fe930..00fdf59c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "openrouter"
-version = "1.1.160"
+version = "1.1.161"
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 a910b9c2..61ea41dc 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.160"
+__version__: str = "1.1.161"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.914.0"
-__user_agent__: str = "speakeasy-sdk/python 1.1.160 2.914.0 1.0.0 openrouter"
+__user_agent__: str = "speakeasy-sdk/python 1.1.161 2.914.0 1.0.0 openrouter"
try:
if __package__ is not None:
diff --git a/src/openrouter/components/vaultsecret.py b/src/openrouter/components/vaultsecret.py
index 00168941..aba4e195 100644
--- a/src/openrouter/components/vaultsecret.py
+++ b/src/openrouter/components/vaultsecret.py
@@ -9,7 +9,7 @@
class VaultSecretTypedDict(TypedDict):
- r"""Metadata for one stored secret. The secret value is never returned. `fingerprint` is a keyed SHA-256 digest of the value: equal fingerprints within one scope mean equal values, but a workspace secret and its intern copy carry different fingerprints. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts."""
+ r"""Metadata for one stored secret. The secret value is never returned. `fingerprint` is an HMAC-SHA-256 of the value keyed with that vault's own data key, so it is comparable only within one vault: equal fingerprints in one vault mean equal values, and rewriting the same value keeps its fingerprint. The same value stored in two vaults (for example a workspace secret and its intern copy) carries different fingerprints, so comparing fingerprints across vaults cannot show that a copy matches or that a rotation propagated. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts."""
created_at: datetime
fingerprint: Nullable[str]
@@ -18,7 +18,7 @@ class VaultSecretTypedDict(TypedDict):
class VaultSecret(BaseModel):
- r"""Metadata for one stored secret. The secret value is never returned. `fingerprint` is a keyed SHA-256 digest of the value: equal fingerprints within one scope mean equal values, but a workspace secret and its intern copy carry different fingerprints. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts."""
+ r"""Metadata for one stored secret. The secret value is never returned. `fingerprint` is an HMAC-SHA-256 of the value keyed with that vault's own data key, so it is comparable only within one vault: equal fingerprints in one vault mean equal values, and rewriting the same value keeps its fingerprint. The same value stored in two vaults (for example a workspace secret and its intern copy) carries different fingerprints, so comparing fingerprints across vaults cannot show that a copy matches or that a rotation propagated. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts."""
created_at: datetime
diff --git a/src/openrouter/components/vaultsecretresponse.py b/src/openrouter/components/vaultsecretresponse.py
index a245014a..ec329629 100644
--- a/src/openrouter/components/vaultsecretresponse.py
+++ b/src/openrouter/components/vaultsecretresponse.py
@@ -10,11 +10,11 @@ class VaultSecretResponseTypedDict(TypedDict):
r"""Metadata for the stored secret."""
data: VaultSecretTypedDict
- r"""Metadata for one stored secret. The secret value is never returned. `fingerprint` is a keyed SHA-256 digest of the value: equal fingerprints within one scope mean equal values, but a workspace secret and its intern copy carry different fingerprints. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts."""
+ r"""Metadata for one stored secret. The secret value is never returned. `fingerprint` is an HMAC-SHA-256 of the value keyed with that vault's own data key, so it is comparable only within one vault: equal fingerprints in one vault mean equal values, and rewriting the same value keeps its fingerprint. The same value stored in two vaults (for example a workspace secret and its intern copy) carries different fingerprints, so comparing fingerprints across vaults cannot show that a copy matches or that a rotation propagated. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts."""
class VaultSecretResponse(BaseModel):
r"""Metadata for the stored secret."""
data: VaultSecret
- r"""Metadata for one stored secret. The secret value is never returned. `fingerprint` is a keyed SHA-256 digest of the value: equal fingerprints within one scope mean equal values, but a workspace secret and its intern copy carry different fingerprints. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts."""
+ r"""Metadata for one stored secret. The secret value is never returned. `fingerprint` is an HMAC-SHA-256 of the value keyed with that vault's own data key, so it is comparable only within one vault: equal fingerprints in one vault mean equal values, and rewriting the same value keeps its fingerprint. The same value stored in two vaults (for example a workspace secret and its intern copy) carries different fingerprints, so comparing fingerprints across vaults cannot show that a copy matches or that a rotation propagated. `hosts` and `fingerprint` are `null` only for legacy rows written before host binding was required; storing the secret again assigns hosts."""
diff --git a/uv.lock b/uv.lock
index 269ddd27..401b326c 100644
--- a/uv.lock
+++ b/uv.lock
@@ -213,7 +213,7 @@ wheels = [
[[package]]
name = "openrouter"
-version = "1.1.160"
+version = "1.1.161"
source = { editable = "." }
dependencies = [
{ name = "httpcore" },