Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 19 additions & 15 deletions .speakeasy/gen.lock
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
lockVersion: 2.0.0
id: c48cf606-fb42-4a45-9c23-8f0555307828
management:
docChecksum: 6690c5e4056ba9157a21c7b63f3b75be
docChecksum: 0339725e33577ba5dda2b1a3dd2a4178
docVersion: 1.0.0
speakeasyVersion: 1.803.2
generationVersion: 2.950.13
releaseVersion: 1.3.146
configChecksum: 99c4be4baae50bfee64dfbb81b0761f9
releaseVersion: 1.3.147
configChecksum: 2c2dbced52857c6b47b66ca5c3c6c1a0
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true
persistentEdits:
generation_id: e1eb6ff3-32c3-4af7-812d-5efa0d14c98a
pristine_commit_hash: fd56fd103b44ef129d685b2c70911ea91c4ecbc5
pristine_tree_hash: 03fe43c339dfc26da730cef242298fb63e56b90b
generation_id: 487a13b0-4500-4c73-b4d5-d39079308282
pristine_commit_hash: bcf674cee9ed7ff479b8b3058ebe805d3978a721
pristine_tree_hash: 0a8e5279cc4d5375ddc19c861de5083eb925ab28
features:
python:
acceptHeaders: 3.0.0
Expand Down Expand Up @@ -11516,8 +11516,8 @@ trackedFiles:
pristine_git_object: 24fda0f8e544cca9d93d6a83f0917927842041aa
docs/sdks/oauth/README.mdx:
id: 42b5079343d2
last_write_checksum: sha1:4a2d77d0749b9430de95a6a1d323367cf5c27151
pristine_git_object: 00315e0d13e02e7ed2e00a1170fc7a8b60dc4b19
last_write_checksum: sha1:c498029e7b36782afeeff53d390f48fe44bd26d5
pristine_git_object: ccd01ea3052fba9ab4f07c91b0fc20fe96687715
docs/sdks/observability/README.mdx:
id: 75811527e651
last_write_checksum: sha1:2eaa330485331f17aea43c0841e7c712ee7b6d1c
Expand Down Expand Up @@ -11588,8 +11588,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml:
id: 5d07e7d72637
last_write_checksum: sha1:66ed447cad17473f1f997e19cfc20e17b9141515
pristine_git_object: 9b19c601aff3d43346f91e3178448c47005f77cf
last_write_checksum: sha1:0d3c5de90e8a1c6d93eaac9d2cb2d2f80b1be723
pristine_git_object: 86ea998bbf21a766bed00acc75b901a8f9256e39
scripts/prepare_readme.py:
id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
Expand All @@ -11616,8 +11616,8 @@ trackedFiles:
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
src/openrouter/_version.py:
id: d8d15ad6c586
last_write_checksum: sha1:3a0268fd1a6d68fe9d67aa61f3e80f85ebefd902
pristine_git_object: 663c95c93aa58f3cf179eb89bff71f3e675c9933
last_write_checksum: sha1:64d92b84ee5d26fc768eb32caf32ffc3a74d23b1
pristine_git_object: 66dca2e10eec2437ae159c2bc111d44e67bd5941
src/openrouter/alpha.py:
id: 306c4d93308d
last_write_checksum: sha1:80cc0f39649445431cc2247ed0e0765438467766
Expand Down Expand Up @@ -15656,8 +15656,8 @@ trackedFiles:
pristine_git_object: 4cea7bb4be88f162bd3783c7bdc32a035ed1f411
src/openrouter/oauth.py:
id: 1948ce27255b
last_write_checksum: sha1:d6470de6325431db64b08ff4468fb2d8ea781c6f
pristine_git_object: 0df1c3e42dd5af1a7071a6be34253477695edb4b
last_write_checksum: sha1:8173753ca74f6b449d6de21e3fc7f560c71e98c2
pristine_git_object: 6f9385e6aa6f990eaad1ec72e4d8ddc793c1f42e
src/openrouter/observability.py:
id: 6a17f32d3f33
last_write_checksum: sha1:a602b94936d973cb63a158dc94014889342a5ae5
Expand Down Expand Up @@ -17194,6 +17194,8 @@ examples:
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
"403":
application/json: {"error": {"code": 403, "message": "Only management keys can perform this operation"}}
"503":
application/json: {"error": {"code": 503, "message": "Service temporarily unavailable"}}
listOrganizationMembers:
speakeasy-default-list-organization-members:
parameters:
Expand Down Expand Up @@ -21571,4 +21573,6 @@ examples:
"500":
application/json: {"error": {"code": 500, "message": "Internal Server Error"}}
examplesVersion: 1.0.2
releaseNotes: "## Python SDK Changes:\n* `open_router.presets.delete()`: **Added**\n* `open_router.presets.restore()`: **Added**\n* `open_router.presets.list()`: \n * `request.workspace_id` **Added**\n * `error.status[404]` **Added**\n* `open_router.presets.get()`: `request.workspace_id` **Added**\n* `open_router.presets.list_versions()`: `request.workspace_id` **Added**\n* `open_router.presets.get_version()`: `request.workspace_id` **Added**\n"
releaseNotes: |
## Python SDK Changes:
* `open_router.o_auth.create_auth_code()`: `error.status[503]` **Added**
2 changes: 1 addition & 1 deletion .speakeasy/gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
python:
version: 1.3.146
version: 1.3.147
additionalDependencies:
dev:
pytest: '>=8.3'
Expand Down
10 changes: 10 additions & 0 deletions .speakeasy/out.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40828,6 +40828,16 @@ paths:
schema:
$ref: '#/components/schemas/InternalServerResponse'
description: 'Internal Server Error - Unexpected server error'
'503':
content:
application/json:
example:
error:
code: 503
message: 'Service temporarily unavailable'
schema:
$ref: '#/components/schemas/ServiceUnavailableResponse'
description: 'Service Unavailable - Service temporarily unavailable'
summary: 'Create authorization code'
tags:
- 'OAuth'
Expand Down
10 changes: 5 additions & 5 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ speakeasyVersion: 1.803.2
sources:
OpenRouter API:
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:fb2c69a9f7cae96fdc498fada1f06f4be6648f6cb27129f54495319a8e374e88
sourceBlobDigest: sha256:81d40dba10925d897266e61041a9918f25d02f5d31becfaf3774840b9288fe25
sourceRevisionDigest: sha256:f056f5433e4e2c2f8714fa931873e4ce4f5939ab31127837779c634a0e0b06b5
sourceBlobDigest: sha256:5f9da02b3302611755c0a6fbce04ecb311710a9d3bed85963140baefd11a181f
tags:
- latest
- 1.0.0
targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:fb2c69a9f7cae96fdc498fada1f06f4be6648f6cb27129f54495319a8e374e88
sourceBlobDigest: sha256:81d40dba10925d897266e61041a9918f25d02f5d31becfaf3774840b9288fe25
sourceRevisionDigest: sha256:f056f5433e4e2c2f8714fa931873e4ce4f5939ab31127837779c634a0e0b06b5
sourceBlobDigest: sha256:5f9da02b3302611755c0a6fbce04ecb311710a9d3bed85963140baefd11a181f
codeSamplesNamespace: open-router-python-code-samples
codeSamplesRevisionDigest: sha256:96f8594f33b6f3884491a4fed5484fc1593c23b8ee968a9e09a9e295c25f9221
codeSamplesRevisionDigest: sha256:301a42c3b95d1001fdfe168603d0c3521b3fe1d72d7a82c55fc79e7a1fd8fea9
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.803.2
Expand Down
12 changes: 11 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -4229,4 +4229,14 @@ Based on:
### Generated
- [python v1.3.146] .
### Releases
- [PyPI v1.3.146] https://pypi.org/project/openrouter/1.3.146 - .
- [PyPI v1.3.146] https://pypi.org/project/openrouter/1.3.146 - .

## 2026-11-10 05:01:48
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.803.2 (2.950.13) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v1.3.147] .
### Releases
- [PyPI v1.3.147] https://pypi.org/project/openrouter/1.3.147 - .
17 changes: 9 additions & 8 deletions docs/sdks/oauth/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -112,14 +112,15 @@ with OpenRouter(

### Errors

| Error Type | Status Code | Content Type |
| ---------------------------------- | ---------------------------------- | ---------------------------------- |
| errors.BadRequestResponseError | 400 | application/json |
| errors.UnauthorizedResponseError | 401 | application/json |
| errors.ForbiddenResponseError | 403 | application/json |
| errors.ConflictResponseError | 409 | application/json |
| errors.InternalServerResponseError | 500 | application/json |
| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* |
| Error Type | Status Code | Content Type |
| -------------------------------------- | -------------------------------------- | -------------------------------------- |
| errors.BadRequestResponseError | 400 | application/json |
| errors.UnauthorizedResponseError | 401 | application/json |
| errors.ForbiddenResponseError | 403 | application/json |
| errors.ConflictResponseError | 409 | application/json |
| errors.InternalServerResponseError | 500 | application/json |
| errors.ServiceUnavailableResponseError | 503 | application/json |
| errors.OpenRouterDefaultError | 4XX, 5XX | \*/\* |

## list_oauth_jwks

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "openrouter"
version = "1.3.146"
version = "1.3.147"
description = "Official Python Client SDK for OpenRouter."
authors = [{ name = "OpenRouter" },]
readme = "README-PYPI.md"
Expand Down
4 changes: 2 additions & 2 deletions src/openrouter/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import importlib.metadata

__title__: str = "openrouter"
__version__: str = "1.3.146"
__version__: str = "1.3.147"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.950.13"
__user_agent__: str = "speakeasy-sdk/python 1.3.146 2.950.13 1.0.0 openrouter"
__user_agent__: str = "speakeasy-sdk/python 1.3.147 2.950.13 1.0.0 openrouter"

try:
if __package__ is not None:
Expand Down
10 changes: 10 additions & 0 deletions src/openrouter/oauth.py
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,11 @@ def create_auth_code(
errors.InternalServerResponseErrorData, http_res
)
raise errors.InternalServerResponseError(response_data, http_res)
if utils.match_response(http_res, "503", "application/json"):
response_data = unmarshal_json_response(
errors.ServiceUnavailableResponseErrorData, http_res
)
raise errors.ServiceUnavailableResponseError(response_data, http_res)
if utils.match_response(http_res, "4XX", "*"):
http_res_text = utils.stream_to_text(http_res)
raise errors.OpenRouterDefaultError(
Expand Down Expand Up @@ -638,6 +643,11 @@ async def create_auth_code_async(
errors.InternalServerResponseErrorData, http_res
)
raise errors.InternalServerResponseError(response_data, http_res)
if utils.match_response(http_res, "503", "application/json"):
response_data = unmarshal_json_response(
errors.ServiceUnavailableResponseErrorData, http_res
)
raise errors.ServiceUnavailableResponseError(response_data, http_res)
if utils.match_response(http_res, "4XX", "*"):
http_res_text = await utils.stream_to_text_async(http_res)
raise errors.OpenRouterDefaultError(
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading