diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 2b29a829..8938f20d 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: ecb5eca3ef6a267213db0ded757b55e3 + docChecksum: 0179bb9f000dd9887c78c1c305aa3c09 docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.3.40 - configChecksum: ee9a5a783a8eacb732f771decfd8b7db + releaseVersion: 1.3.41 + configChecksum: a47a564b83deda5460c2c3358b2a9fb1 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 71c9c96b-57d8-43db-a7fd-358f31fd9922 - pristine_commit_hash: 56313cab4b918fcdba448e161f1d1440024301e6 - pristine_tree_hash: 6a298d935c5177a5636b85c8c413ee28b7dcbe89 + generation_id: 93d9e7ce-6bd2-4046-b914-2bcdf2df2226 + pristine_commit_hash: 178564bd46765c30aafa4e5c1c753a0acf0fbd5b + pristine_tree_hash: e5e5b80ca334684c59e45790c8ff42fe7231a126 features: python: acceptHeaders: 3.0.0 @@ -9920,8 +9920,8 @@ trackedFiles: pristine_git_object: c1634706646332455817340f5891b4b5c9c6d16c docs/sdks/apikeys/README.mdx: id: 27fcaae1c346 - last_write_checksum: sha1:d904a5734d4cf752acf932c54fa8cb714034e38c - pristine_git_object: 558caa92f560fd87cb7ed6bb6d1989b7a5001c81 + last_write_checksum: sha1:5e9a35bb929762c140632d3f0da67192a4e26466 + pristine_git_object: 959c9469aa98c0c0b579b80af7fa111ba49819b7 docs/sdks/batch/README.mdx: id: e367aa4f4295 last_write_checksum: sha1:03ef59395c1bc1a4ffa14dd68ca2a77a72601080 @@ -10068,8 +10068,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:13e86e0bb1241458142202f2f8f09b882ed9eaef - pristine_git_object: 58dec50a7d7a3657ca82dc463ebe5868b50a680c + last_write_checksum: sha1:455ee39e81e4af64d2edc1072e99817e989064f7 + pristine_git_object: 622315487ab25cbede5b6eb224b4c18ed49f9f2e scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -10096,8 +10096,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:c6901839a49042fdd00a20f0200548c0cd92d0a0 - pristine_git_object: b42d7fe103d72102be9150bae1c462b64e09d461 + last_write_checksum: sha1:451c64bb1e608d833e512e2f5bc99dcf41928dbc + pristine_git_object: ba6631215ca6bef6baa930750391aba363f0641f src/openrouter/alpha.py: id: 306c4d93308d last_write_checksum: sha1:30f55a360f41376ab194b9ea725fe4e001a5ae1a @@ -10108,8 +10108,8 @@ trackedFiles: pristine_git_object: 9587309db4d5e25a00131a48788456139c25e4c0 src/openrouter/api_keys.py: id: 876fac88fff6 - last_write_checksum: sha1:be6e31bd6aa3b8cacec826ba4b249739b4510b79 - pristine_git_object: 3c95e38bd085b026382bace5eab99a7cc91af00a + last_write_checksum: sha1:c5c79ba8375116a350daab2f687a449777eeb34e + pristine_git_object: 88c89e7eb0d8b8d5b4ae9118558207f8fa5c27b9 src/openrouter/basesdk.py: id: c5733c5a1e12 last_write_checksum: sha1:65769ff2cb5473f85b364c6213a0ddc8c68644ea @@ -18436,4 +18436,3 @@ examples: "500": application/json: {"error": {"code": 404, "message": "Intern not found"}} examplesVersion: 1.0.2 -releaseNotes: "## Python SDK Changes:\n* `open_router.api_keys.update()`: \n * `request.workspace_id` **Added**\n * `error` **Changed**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index c2d663d1..ddb1310c 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.3.40 + version: 1.3.41 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index d32e9c3e..2006d1a9 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -40020,7 +40020,7 @@ paths: message: 'Only management keys can perform this operation' schema: $ref: '#/components/schemas/ForbiddenResponse' - description: 'The workspace is not owned by this account, or the guardrail would give a HIPAA-enabled workspace a person-name or address sensitive-info filter, which is not available there.' + description: 'The workspace is not owned by this account, or the workspace does not allow a person-name or address sensitive-info filter.' '500': content: application/json: @@ -40251,7 +40251,7 @@ paths: message: 'Only management keys can perform this operation' schema: $ref: '#/components/schemas/ForbiddenResponse' - description: 'The update would give a HIPAA-enabled workspace a person-name or address sensitive-info filter, which is not available there.' + description: 'The update would add a person-name or address sensitive-info filter to a workspace that does not allow it.' '404': content: application/json: @@ -40450,7 +40450,7 @@ paths: message: 'Only management keys can perform this operation' schema: $ref: '#/components/schemas/ForbiddenResponse' - description: 'The guardrail has no workspace and carries a person-name or address sensitive-info filter, and at least one target key belongs to a HIPAA-enabled workspace, where that filter is not available.' + description: 'The guardrail has no workspace and carries a person-name or address sensitive-info filter, and at least one target key belongs to a workspace that does not allow that filter.' '404': content: application/json: @@ -41538,7 +41538,7 @@ paths: retryable: false schema: $ref: '#/components/schemas/InternLifecycleError' - description: 'The key acts as an organization and has no member who can own the intern, the workspace does not allow interns (a HIPAA workspace), or regional access is refused.' + description: 'The key acts as an organization and has no member who can own the intern, the workspace does not allow interns, or regional access is refused.' '404': content: application/json: @@ -44741,7 +44741,7 @@ paths: - 'API Keys' x-speakeasy-name-override: 'get' patch: - description: "Update an existing API key. Authenticate with a [management key](/docs/guides/overview/auth/management-api-keys).\n\nSet `workspace_id` to move the key to another workspace. The key keeps its value, and any other fields in the same request are applied atomically with the move. Guardrail selections move with the key; other workspace-scoped settings (presets, BYOK keys, broadcast destinations, routing rules) do not. A move into or out of a HIPAA workspace is refused with `403`. In an organization, if the key's creator is not a member of a non-default target workspace, the request fails with `409`; add them to the workspace first.\n\n\nThe request body accepts only the fields listed below, and unrecognized fields are ignored. If the body contains none of the accepted fields, the request fails with `400` and the message `No update fields provided`.\n" + description: "Update an existing API key. Authenticate with a [management key](/docs/guides/overview/auth/management-api-keys).\n\nSet `workspace_id` to move the key to another workspace.\n\n\nThe request body accepts only the fields listed below, and unrecognized fields are ignored. If the body contains none of the accepted fields, the request fails with `400` and the message `No update fields provided`.\n" operationId: 'updateKeys' parameters: - description: 'The hash identifier of the API key to update' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index ac8a9ac0..d47e009d 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:c597251b8315aeabdac8771a04fa223bbd27a7ee37c50e7865f78a63b009cd05 - sourceBlobDigest: sha256:63d088f642ae5691d24c0fa0dcd9028d0cd2860692265db7a882af65fa3785aa + sourceRevisionDigest: sha256:d39992720f0137eacb9103b4cdbf4841dd8d071fab7a468a1e76e14d66776ed2 + sourceBlobDigest: sha256:57ae88e9838f77eeadf30f4def89b0c1bd7180cc4e57fe97f27c9157d1ebdd13 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:c597251b8315aeabdac8771a04fa223bbd27a7ee37c50e7865f78a63b009cd05 - sourceBlobDigest: sha256:63d088f642ae5691d24c0fa0dcd9028d0cd2860692265db7a882af65fa3785aa + sourceRevisionDigest: sha256:d39992720f0137eacb9103b4cdbf4841dd8d071fab7a468a1e76e14d66776ed2 + sourceBlobDigest: sha256:57ae88e9838f77eeadf30f4def89b0c1bd7180cc4e57fe97f27c9157d1ebdd13 codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:a730ae87d313ee35964df1065a504ce678766c22dbc3b1692054285f0d381138 + codeSamplesRevisionDigest: sha256:0bb81f8068479c43445eabefc27e68ce7199390a5829673ac0ff7ad3d7d8622b workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index 8d0bde99..8cf2b431 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -3169,4 +3169,14 @@ Based on: ### Generated - [python v1.3.40] . ### Releases -- [PyPI v1.3.40] https://pypi.org/project/openrouter/1.3.40 - . \ No newline at end of file +- [PyPI v1.3.40] https://pypi.org/project/openrouter/1.3.40 - . + +## 2026-10-09 19:04:29 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.3.41] . +### Releases +- [PyPI v1.3.41] https://pypi.org/project/openrouter/1.3.41 - . \ No newline at end of file diff --git a/docs/sdks/apikeys/README.mdx b/docs/sdks/apikeys/README.mdx index fb9a4aa0..6cdaed22 100644 --- a/docs/sdks/apikeys/README.mdx +++ b/docs/sdks/apikeys/README.mdx @@ -274,7 +274,7 @@ with OpenRouter( Update an existing API key. Authenticate with a [management key](/docs/guides/overview/auth/management-api-keys). -Set `workspace_id` to move the key to another workspace. The key keeps its value, and any other fields in the same request are applied atomically with the move. Guardrail selections move with the key; other workspace-scoped settings (presets, BYOK keys, broadcast destinations, routing rules) do not. A move into or out of a HIPAA workspace is refused with `403`. In an organization, if the key's creator is not a member of a non-default target workspace, the request fails with `409`; add them to the workspace first. +Set `workspace_id` to move the key to another workspace. \ The request body accepts only the fields listed below, and unrecognized fields are ignored. If the body contains none of the accepted fields, the request fails with `400` and the message `No update fields provided`. diff --git a/pyproject.toml b/pyproject.toml index 58dec50a..62231548 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.3.40" +version = "1.3.41" 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 b42d7fe1..ba663121 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.40" +__version__: str = "1.3.41" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.3.40 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.3.41 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/api_keys.py b/src/openrouter/api_keys.py index 3c95e38b..88c89e7e 100644 --- a/src/openrouter/api_keys.py +++ b/src/openrouter/api_keys.py @@ -1435,7 +1435,7 @@ def update( Update an existing API key. Authenticate with a [management key](/docs/guides/overview/auth/management-api-keys). - Set `workspace_id` to move the key to another workspace. The key keeps its value, and any other fields in the same request are applied atomically with the move. Guardrail selections move with the key; other workspace-scoped settings (presets, BYOK keys, broadcast destinations, routing rules) do not. A move into or out of a HIPAA workspace is refused with `403`. In an organization, if the key's creator is not a member of a non-default target workspace, the request fails with `409`; add them to the workspace first. + Set `workspace_id` to move the key to another workspace. The request body accepts only the fields listed below, and unrecognized fields are ignored. If the body contains none of the accepted fields, the request fails with `400` and the message `No update fields provided`. @@ -1616,7 +1616,7 @@ async def update_async( Update an existing API key. Authenticate with a [management key](/docs/guides/overview/auth/management-api-keys). - Set `workspace_id` to move the key to another workspace. The key keeps its value, and any other fields in the same request are applied atomically with the move. Guardrail selections move with the key; other workspace-scoped settings (presets, BYOK keys, broadcast destinations, routing rules) do not. A move into or out of a HIPAA workspace is refused with `403`. In an organization, if the key's creator is not a member of a non-default target workspace, the request fails with `409`; add them to the workspace first. + Set `workspace_id` to move the key to another workspace. The request body accepts only the fields listed below, and unrecognized fields are ignored. If the body contains none of the accepted fields, the request fails with `400` and the message `No update fields provided`. diff --git a/uv.lock b/uv.lock index 0cff5aa5..f6ee98f8 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.3.40" +version = "1.3.41" source = { editable = "." } dependencies = [ { name = "httpcore" },