From b7bd9f0e948a6b27cecff719be42a299dfc9d6ff Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Tue, 10 Nov 2026 05:05:05 +0000 Subject: [PATCH 1/2] ## Python SDK Changes: * `open_router.o_auth.create_auth_code()`: `error.status[503]` **Added** --- .speakeasy/gen.lock | 34 +++++++++++++++++++--------------- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 10 ++++++++++ .speakeasy/workflow.lock | 10 +++++----- RELEASES.md | 12 +++++++++++- docs/sdks/oauth/README.mdx | 17 +++++++++-------- pyproject.toml | 2 +- src/openrouter/_version.py | 4 ++-- src/openrouter/oauth.py | 10 ++++++++++ uv.lock | 2 +- 10 files changed, 69 insertions(+), 34 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index b9e75efd..b01267c7 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: 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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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: @@ -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** diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index a8094bc5..e853d4a9 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -37,7 +37,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.3.146 + version: 1.3.147 additionalDependencies: dev: pytest: '>=8.3' diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 4453b87f..951c99ca 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -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' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 659769e5..c20591b2 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,8 +2,8 @@ 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 @@ -11,10 +11,10 @@ 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 diff --git a/RELEASES.md b/RELEASES.md index fdc03631..40f8ecfb 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -4229,4 +4229,14 @@ Based on: ### Generated - [python v1.3.146] . ### Releases -- [PyPI v1.3.146] https://pypi.org/project/openrouter/1.3.146 - . \ No newline at end of file +- [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 - . \ No newline at end of file diff --git a/docs/sdks/oauth/README.mdx b/docs/sdks/oauth/README.mdx index 00315e0d..ccd01ea3 100644 --- a/docs/sdks/oauth/README.mdx +++ b/docs/sdks/oauth/README.mdx @@ -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 diff --git a/pyproject.toml b/pyproject.toml index 9b19c601..86ea998b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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" diff --git a/src/openrouter/_version.py b/src/openrouter/_version.py index 663c95c9..66dca2e1 100644 --- a/src/openrouter/_version.py +++ b/src/openrouter/_version.py @@ -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: diff --git a/src/openrouter/oauth.py b/src/openrouter/oauth.py index 0df1c3e4..6f9385e6 100644 --- a/src/openrouter/oauth.py +++ b/src/openrouter/oauth.py @@ -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( @@ -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( diff --git a/uv.lock b/uv.lock index 8e8252d0..5e6bf4c5 100644 --- a/uv.lock +++ b/uv.lock @@ -231,7 +231,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.3.146" +version = "1.3.147" source = { editable = "." } dependencies = [ { name = "httpcore" }, From 42abcd4911461171cb80773d287554decd4378ad Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Tue, 10 Nov 2026 05:05:12 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow