From 1a390d20a053637564c4fea7d59ac5523fe0a3b5 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 12 Nov 2026 00:26:57 +0000 Subject: [PATCH 1/2] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.803.2 --- .speakeasy/gen.lock | 61 +++++++++---------- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 10 +-- .speakeasy/workflow.lock | 10 +-- RELEASES.md | 12 +++- .../bulkaddworkspacemembersrequest.mdx | 6 +- .../bulkaddworkspacemembersresponse.mdx | 2 +- docs/components/createworkspacerequest.mdx | 2 +- docs/components/updateworkspacerequest.mdx | 2 +- docs/sdks/workspaces/README.mdx | 22 +++---- pyproject.toml | 2 +- src/openrouter/_version.py | 4 +- .../bulkaddworkspacemembersrequest.py | 4 +- .../bulkaddworkspacemembersresponse.py | 4 +- .../components/createworkspacerequest.py | 4 +- .../components/updateworkspacerequest.py | 4 +- src/openrouter/workspaces.py | 16 ++--- uv.lock | 2 +- 18 files changed, 89 insertions(+), 80 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index d1730bffa..b9ba14522 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: f222167ea1741b94fa09abf2fdcfc21e + docChecksum: 15ec258ef271a97cb724ed5943a62604 docVersion: 1.0.0 speakeasyVersion: 1.803.2 generationVersion: 2.950.13 - releaseVersion: 1.3.165 - configChecksum: 0daa315b2ea3b683b78a6419e4d12afd + releaseVersion: 1.3.166 + configChecksum: e7bd48e5b35be67e8115c656972562fc repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: c98d4ad5-9f2a-487f-a5cd-969aec31f4d1 - pristine_commit_hash: 50305a324f8f6c7805373f404842c59776793b94 - pristine_tree_hash: a6da0c3336ec0d2203dbbb08abf9925a63e3d1e9 + generation_id: f00bffdd-6094-499a-870f-28558d53422b + pristine_commit_hash: cee92fd533b231c5aba258a7d107a12101c47842 + pristine_tree_hash: f6453306c43265f360ce16d2e835a5f7119ef988 features: python: acceptHeaders: 3.0.0 @@ -1828,12 +1828,12 @@ trackedFiles: pristine_git_object: 52cff38bcabc729a6e546449961340e0299d9937 docs/components/bulkaddworkspacemembersrequest.mdx: id: 92f44877345a - last_write_checksum: sha1:352c607c34608b824f6ade55a63f380c1bca8305 - pristine_git_object: 093d26687123e0ca5cad5211a74195f071958f0d + last_write_checksum: sha1:8c244bcf86d1907834ea6b8ba93f0b84c86ec5b3 + pristine_git_object: 21e77291993ab73629d892c313907668a378720c docs/components/bulkaddworkspacemembersresponse.mdx: id: 025552ef9ad5 - last_write_checksum: sha1:db92b2468d2b39c8bee04330d8fdf6aab6d45090 - pristine_git_object: fe307e862ad9209e487b46ed89183aca67fef164 + last_write_checksum: sha1:482c09b5bc9a9f8a49a34fabd9b591e4e1bebec1 + pristine_git_object: 2dc2bff5535cb45e0e1087ff1f24c5d0df984858 docs/components/bulkassignkeysrequest.mdx: id: 7a23fc6e5c6c last_write_checksum: sha1:9e83c0e0a450576a330ecf936f4dcfccb0c0f31f @@ -2876,8 +2876,8 @@ trackedFiles: pristine_git_object: 560595f84a8136a4605af8cc09ae21f9f616512a docs/components/createworkspacerequest.mdx: id: ea85d6684017 - last_write_checksum: sha1:3bd8f07f476898d7fa20a89501f6057c769971f9 - pristine_git_object: a31679a43de9312cae538062519c8d1eab25dde0 + last_write_checksum: sha1:205142f845afe202be22f4950e2044dbc2bb983b + pristine_git_object: de336461692eb191c98e0d2283de2ce7cffc7211 docs/components/createworkspacerequestdisabledservertool.mdx: id: 19a533b200f9 last_write_checksum: sha1:0480179ef9ed1e1a8a3cfe744d479129be225e50 @@ -9008,8 +9008,8 @@ trackedFiles: pristine_git_object: cb179a3f96b2cb7d07d094a1503b97e87bbf4aa1 docs/components/updateworkspacerequest.mdx: id: 9870d016bf28 - last_write_checksum: sha1:a72c47e6301400f116c473dd306ea48f310762c7 - pristine_git_object: d7ddcb804b52e47950730ce94e7202336bfe8b64 + last_write_checksum: sha1:05f4113c5bdb7b9b0d2c2efb956103742d909a35 + pristine_git_object: ca9883c31b38178f8072b251c59433d1d1d06bb8 docs/components/updateworkspacerequestdisabledservertool.mdx: id: 47cabb4adf1a last_write_checksum: sha1:6e1590e629a17f91e9a91844a8e54ea5deec5da1 @@ -11612,16 +11612,16 @@ trackedFiles: pristine_git_object: cc656447f123c27432f52b08a244348033479481 docs/sdks/workspaces/README.mdx: id: 0c75d023ef6b - last_write_checksum: sha1:308d7b7981ce09372279d81af532e52c7d3f56dc - pristine_git_object: 274649e67e7dd05640e9458b8b935cd6166b20a8 + last_write_checksum: sha1:9d42934e7e99f371d3f0bbff2d2af8c4b9061b50 + pristine_git_object: 2a9dd00413ea096b8740ddf6316bcb806c297af7 py.typed: id: 258c3ed47ae4 last_write_checksum: sha1:8efc425ffe830805ffcc0f3055871bdcdc542c60 pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:1e9e16d9c9f52cd4abee9b324aa837c5081615d2 - pristine_git_object: 011e09cdba79353a9e6dcb89967803a3f7c31c3b + last_write_checksum: sha1:d2f64c244c07df2045098ac91eacb829dbe2b555 + pristine_git_object: 53ab93ff9a221b933458f3f689bd5a76a773241c scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -11648,8 +11648,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:62a07b676d07f7010d1ee398af6930a0a3b4180b - pristine_git_object: f7739434513906a1842da676937cf0b2432de219 + last_write_checksum: sha1:7473355f87874fa01800e69fa6bf7095e82eda03 + pristine_git_object: af69252cbad2050a6373bd48d1391a72328906e3 src/openrouter/alpha.py: id: 306c4d93308d last_write_checksum: sha1:80cc0f39649445431cc2247ed0e0765438467766 @@ -12416,12 +12416,12 @@ trackedFiles: pristine_git_object: c6867d59086428b6b7e1c90c87ce5b370834e4cd src/openrouter/components/bulkaddworkspacemembersrequest.py: id: c042d4bce938 - last_write_checksum: sha1:dd5b69cce65985231a77351be04aadeecc85c46c - pristine_git_object: c7927258bba10e237972eb9ba2fdefc51c255c78 + last_write_checksum: sha1:4712e17243d5488bae7faf45660406cd29e8161f + pristine_git_object: 4c8681354d4caa2a5b853e9592d875d5b1fa8660 src/openrouter/components/bulkaddworkspacemembersresponse.py: id: 2b00519587ec - last_write_checksum: sha1:0a06047ed1719ecae11bd563513eb1f4b7527c19 - pristine_git_object: f46030f3a99672a57495047392e286d48cd1d4ad + last_write_checksum: sha1:7e16209b73b746530bfaf18f89cc884f73243001 + pristine_git_object: bd5201e1db1d21e10e31bb47d5503d56b1f97f33 src/openrouter/components/bulkassignkeysrequest.py: id: f801d53f55d5 last_write_checksum: sha1:20f64607c61683eb2438b5b7411643e1340b2db6 @@ -12920,8 +12920,8 @@ trackedFiles: pristine_git_object: 3a03248b4aa36f469420c5602df4f5d21a36dd68 src/openrouter/components/createworkspacerequest.py: id: 3785d9b207c2 - last_write_checksum: sha1:b6e2f73b6c68abf33128bb583f4187832467d192 - pristine_git_object: c4493d9edb70d200ab16c489ddcf9fb27f2e120d + last_write_checksum: sha1:bece1b1b48561fe5c8f5f67cfe8b0fe62f159db6 + pristine_git_object: f4bccf4ce5035b60d0b99dc9d44ce4702c0f0594 src/openrouter/components/createworkspaceresponse.py: id: 986d9ff993c1 last_write_checksum: sha1:7e9028b437a9e33a7541ba222cf01e6629f5c74d @@ -15320,8 +15320,8 @@ trackedFiles: pristine_git_object: 2f110211bb0a6889bb6455a7a3901e0be260b170 src/openrouter/components/updateworkspacerequest.py: id: 78d86b3b0a63 - last_write_checksum: sha1:1e8315238c5f37db8142479e832d782b969ec767 - pristine_git_object: 5049dc7ec907a7948b75c9141d3351608753e4b3 + last_write_checksum: sha1:05668f8c41f24a2a92fc7b7ad4ab1344efc2ed75 + pristine_git_object: 3a9f3e0d6411c617bbdd689616a270d15bd197ac src/openrouter/components/updateworkspaceresponse.py: id: 46253fa9690a last_write_checksum: sha1:4708e7e4cbfddc34ffc9ed4808a88bb5b4a61ebf @@ -16528,8 +16528,8 @@ trackedFiles: pristine_git_object: 0e38feef7d65512bdbdc1ecbec4ebcf8821ee1ca src/openrouter/workspaces.py: id: cd6c533b1802 - last_write_checksum: sha1:68af669c94b28b0a42648c30e72ebf55802a5da6 - pristine_git_object: 64c2c9d42bd115cc5087bfb75c3178028888fb98 + last_write_checksum: sha1:8f0231785c533c9076eb9520bb7574620d18136c + pristine_git_object: cbb3c4a401346312a035f35305f1007b5eec9eff examples: createResponses: speakeasy-default-create-responses: @@ -21609,4 +21609,3 @@ examples: "500": application/json: {"error": {"code": 500, "message": "Internal Server Error"}} examplesVersion: 1.0.2 -releaseNotes: "## Python SDK Changes:\n* `open_router.batch.create_batches()`: `response.results[].response.body.union(class (3)).data[].document_index` **Added**\n* `open_router.batch.get_batches()`: `response.results[].response.body.union(class (3)).data[].document_index` **Added**\n* `open_router.embeddings.generate()`: \n * `request.input.union(Array>)` **Added**\n * `response.data[].document_index` **Added**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 2fa94b64f..fdc94875c 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -37,7 +37,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.3.165 + version: 1.3.166 additionalDependencies: dev: pytest: '>=8.3' diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index a15745aa9..ace04b731 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -7197,7 +7197,7 @@ components: - 'user_def456' properties: user_ids: - description: 'List of user IDs to add to the workspace. Members are assigned the same role they hold in the organization.' + description: 'List of user IDs to add to the workspace. New members are assigned the workspace role that matches their organization role; users already in the workspace keep their current role.' example: - 'user_abc123' - 'user_def456' @@ -7220,7 +7220,7 @@ components: workspace_id: '550e8400-e29b-41d4-a716-446655440000' properties: added_count: - description: 'Number of workspace memberships created or updated' + description: 'Number of workspace memberships created' example: 2 type: 'integer' data: @@ -11451,7 +11451,7 @@ components: format: 'double' type: 'number' is_data_discount_logging_enabled: - description: 'Whether data discount logging is enabled' + description: 'Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403.' example: true type: 'boolean' is_observability_broadcast_enabled: @@ -37387,7 +37387,7 @@ components: format: 'double' type: 'number' is_data_discount_logging_enabled: - description: 'Whether data discount logging is enabled' + description: 'Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403.' example: true type: 'boolean' is_observability_broadcast_enabled: @@ -61824,7 +61824,7 @@ paths: - $ref: "#/components/parameters/AppCategories" /workspaces/{id}/members/add: post: - description: 'Add multiple organization members to a workspace. Members are assigned the same role they hold in the organization. [Management key](/docs/guides/overview/auth/management-api-keys) required.' + description: 'Add multiple organization members to a workspace. New members are assigned the workspace role that matches their organization role. Users who are already members of the workspace keep their current role and are not included in the response. [Management key](/docs/guides/overview/auth/management-api-keys) required.' operationId: 'bulkAddWorkspaceMembers' parameters: - description: 'The workspace ID (UUID) or slug' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index bfcb9626d..f841cc712 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:535d9a7476c560df30f2f6e3503b0933212d5b613ea696d67a45ff8023b7ddba - sourceBlobDigest: sha256:72e1a7e0e1cf5209c61f3d75ffe2fa4f69eb74b026703e1fa8fe46e473aa1ed1 + sourceRevisionDigest: sha256:706a0d0dcd17f56d39627aed08c307d08ccbd3e8d0d62ad3b97edcfc700ed535 + sourceBlobDigest: sha256:34a70575a45a7e8fde508049e1f43a9d304993d033fb5d5d3dd06a71552c0c34 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:535d9a7476c560df30f2f6e3503b0933212d5b613ea696d67a45ff8023b7ddba - sourceBlobDigest: sha256:72e1a7e0e1cf5209c61f3d75ffe2fa4f69eb74b026703e1fa8fe46e473aa1ed1 + sourceRevisionDigest: sha256:706a0d0dcd17f56d39627aed08c307d08ccbd3e8d0d62ad3b97edcfc700ed535 + sourceBlobDigest: sha256:34a70575a45a7e8fde508049e1f43a9d304993d033fb5d5d3dd06a71552c0c34 codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:fc4e277f20fea75d4a54b1fd66eeea24274542c5aa4075f48aff55fe9ab10f40 + codeSamplesRevisionDigest: sha256:7c3d0717ac950056274d148e7b297e04596417071ea81ab27865a97a6117e860 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.803.2 diff --git a/RELEASES.md b/RELEASES.md index 95566fcc3..fa83cdaa8 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -4419,4 +4419,14 @@ Based on: ### Generated - [python v1.3.165] . ### Releases -- [PyPI v1.3.165] https://pypi.org/project/openrouter/1.3.165 - . \ No newline at end of file +- [PyPI v1.3.165] https://pypi.org/project/openrouter/1.3.165 - . + +## 2026-11-12 00:23:45 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.803.2 (2.950.13) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.3.166] . +### Releases +- [PyPI v1.3.166] https://pypi.org/project/openrouter/1.3.166 - . \ No newline at end of file diff --git a/docs/components/bulkaddworkspacemembersrequest.mdx b/docs/components/bulkaddworkspacemembersrequest.mdx index 093d26687..21e772919 100644 --- a/docs/components/bulkaddworkspacemembersrequest.mdx +++ b/docs/components/bulkaddworkspacemembersrequest.mdx @@ -4,6 +4,6 @@ title: "BulkAddWorkspaceMembersRequest" ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| `user_ids` | List[*str*] | ✔️ | List of user IDs to add to the workspace. Members are assigned the same role they hold in the organization. | [
"user_abc123",
"user_def456"
] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `user_ids` | List[*str*] | ✔️ | List of user IDs to add to the workspace. New members are assigned the workspace role that matches their organization role; users already in the workspace keep their current role. | [
"user_abc123",
"user_def456"
] | \ No newline at end of file diff --git a/docs/components/bulkaddworkspacemembersresponse.mdx b/docs/components/bulkaddworkspacemembersresponse.mdx index fe307e862..2dc2bff55 100644 --- a/docs/components/bulkaddworkspacemembersresponse.mdx +++ b/docs/components/bulkaddworkspacemembersresponse.mdx @@ -6,5 +6,5 @@ title: "BulkAddWorkspaceMembersResponse" | Field | Type | Required | Description | Example | | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `added_count` | *int* | ✔️ | Number of workspace memberships created or updated | 2 | +| `added_count` | *int* | ✔️ | Number of workspace memberships created | 2 | | `data` | List[[components.WorkspaceMember](../components/workspacemember.mdx)] | ✔️ | List of added workspace memberships | | \ No newline at end of file diff --git a/docs/components/createworkspacerequest.mdx b/docs/components/createworkspacerequest.mdx index a31679a43..de3364616 100644 --- a/docs/components/createworkspacerequest.mdx +++ b/docs/components/createworkspacerequest.mdx @@ -13,7 +13,7 @@ title: "CreateWorkspaceRequest" | `disabled_server_tools` | List[[components.CreateWorkspaceRequestDisabledServerTool](../components/createworkspacerequestdisabledservertool.mdx)] | ➖ | OpenRouter server tools that requests in this workspace may not invoke. Requests naming a disabled tool are rejected with 403. An empty array or null clears the list. | [
"openrouter:web_search",
"openrouter:bash"
] | | `io_logging_api_key_ids` | List[*int*] | ➖ | Optional array of API key IDs to filter I/O logging | null | | `io_logging_sampling_rate` | *Optional[float]* | ➖ | Sampling rate for I/O logging (0.0001-1) | 1 | -| `is_data_discount_logging_enabled` | *Optional[bool]* | ➖ | Whether data discount logging is enabled | true | +| `is_data_discount_logging_enabled` | *Optional[bool]* | ➖ | Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403. | true | | `is_observability_broadcast_enabled` | *Optional[bool]* | ➖ | Whether broadcast is enabled | false | | `is_observability_io_logging_enabled` | *Optional[bool]* | ➖ | Whether private logging is enabled | false | | `name` | *str* | ✔️ | Name for the new workspace | Production | diff --git a/docs/components/updateworkspacerequest.mdx b/docs/components/updateworkspacerequest.mdx index d7ddcb804..ca9883c31 100644 --- a/docs/components/updateworkspacerequest.mdx +++ b/docs/components/updateworkspacerequest.mdx @@ -13,7 +13,7 @@ title: "UpdateWorkspaceRequest" | `disabled_server_tools` | List[[components.UpdateWorkspaceRequestDisabledServerTool](../components/updateworkspacerequestdisabledservertool.mdx)] | ➖ | OpenRouter server tools that requests in this workspace may not invoke. Requests naming a disabled tool are rejected with 403. An empty array or null clears the list. | [
"openrouter:web_search",
"openrouter:bash"
] | | `io_logging_api_key_ids` | List[*int*] | ➖ | Optional array of API key IDs to filter I/O logging | null | | `io_logging_sampling_rate` | *Optional[float]* | ➖ | Sampling rate for I/O logging (0.0001-1) | 1 | -| `is_data_discount_logging_enabled` | *Optional[bool]* | ➖ | Whether data discount logging is enabled | true | +| `is_data_discount_logging_enabled` | *Optional[bool]* | ➖ | Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403. | true | | `is_observability_broadcast_enabled` | *Optional[bool]* | ➖ | Whether broadcast is enabled | false | | `is_observability_io_logging_enabled` | *Optional[bool]* | ➖ | Whether private logging is enabled | false | | `name` | *Optional[str]* | ➖ | New name for the workspace | Updated Workspace | diff --git a/docs/sdks/workspaces/README.mdx b/docs/sdks/workspaces/README.mdx index 274649e67..2a9dd0041 100644 --- a/docs/sdks/workspaces/README.mdx +++ b/docs/sdks/workspaces/README.mdx @@ -114,7 +114,7 @@ with OpenRouter( | `disabled_server_tools` | List[[components.CreateWorkspaceRequestDisabledServerTool](../../components/createworkspacerequestdisabledservertool.mdx)] | ➖ | OpenRouter server tools that requests in this workspace may not invoke. Requests naming a disabled tool are rejected with 403. An empty array or null clears the list. | [
"openrouter:web_search",
"openrouter:bash"
] | | `io_logging_api_key_ids` | List[*int*] | ➖ | Optional array of API key IDs to filter I/O logging | null | | `io_logging_sampling_rate` | *Optional[float]* | ➖ | Sampling rate for I/O logging (0.0001-1) | 1 | -| `is_data_discount_logging_enabled` | *Optional[bool]* | ➖ | Whether data discount logging is enabled | true | +| `is_data_discount_logging_enabled` | *Optional[bool]* | ➖ | Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403. | true | | `is_observability_broadcast_enabled` | *Optional[bool]* | ➖ | Whether broadcast is enabled | false | | `is_observability_io_logging_enabled` | *Optional[bool]* | ➖ | Whether private logging is enabled | false | | `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | ➖ | Configuration to override the default retry behavior of the client. | | @@ -273,7 +273,7 @@ with OpenRouter( | `disabled_server_tools` | List[[components.UpdateWorkspaceRequestDisabledServerTool](../../components/updateworkspacerequestdisabledservertool.mdx)] | ➖ | OpenRouter server tools that requests in this workspace may not invoke. Requests naming a disabled tool are rejected with 403. An empty array or null clears the list. | [
"openrouter:web_search",
"openrouter:bash"
] | | `io_logging_api_key_ids` | List[*int*] | ➖ | Optional array of API key IDs to filter I/O logging | null | | `io_logging_sampling_rate` | *Optional[float]* | ➖ | Sampling rate for I/O logging (0.0001-1) | 1 | -| `is_data_discount_logging_enabled` | *Optional[bool]* | ➖ | Whether data discount logging is enabled | true | +| `is_data_discount_logging_enabled` | *Optional[bool]* | ➖ | Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403. | true | | `is_observability_broadcast_enabled` | *Optional[bool]* | ➖ | Whether broadcast is enabled | false | | `is_observability_io_logging_enabled` | *Optional[bool]* | ➖ | Whether private logging is enabled | false | | `name` | *Optional[str]* | ➖ | New name for the workspace | Updated Workspace | @@ -350,7 +350,7 @@ with OpenRouter( ## bulk_add_members -Add multiple organization members to a workspace. Members are assigned the same role they hold in the organization. [Management key](/docs/guides/overview/auth/management-api-keys) required. +Add multiple organization members to a workspace. New members are assigned the workspace role that matches their organization role. Users who are already members of the workspace keep their current role and are not included in the response. [Management key](/docs/guides/overview/auth/management-api-keys) required. ### Example Usage @@ -378,14 +378,14 @@ with OpenRouter( ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *str* | ✔️ | The workspace ID (UUID) or slug | production | -| `user_ids` | List[*str*] | ✔️ | List of user IDs to add to the workspace. Members are assigned the same role they hold in the organization. | [
"user_abc123",
"user_def456"
] | -| `http_referer` | *Optional[str]* | ➖ | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | -| `x_open_router_title` | *Optional[str]* | ➖ | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | -| `x_open_router_categories` | *Optional[str]* | ➖ | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | ➖ | Configuration to override the default retry behavior of the client. | | +| Parameter | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *str* | ✔️ | The workspace ID (UUID) or slug | production | +| `user_ids` | List[*str*] | ✔️ | List of user IDs to add to the workspace. New members are assigned the workspace role that matches their organization role; users already in the workspace keep their current role. | [
"user_abc123",
"user_def456"
] | +| `http_referer` | *Optional[str]* | ➖ | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| | +| `x_open_router_title` | *Optional[str]* | ➖ | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| | +| `x_open_router_categories` | *Optional[str]* | ➖ | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | ➖ | Configuration to override the default retry behavior of the client. | | ### Response diff --git a/pyproject.toml b/pyproject.toml index 011e09cdb..53ab93ff9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.3.165" +version = "1.3.166" 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 f77394345..af69252cb 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.165" +__version__: str = "1.3.166" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.950.13" -__user_agent__: str = "speakeasy-sdk/python 1.3.165 2.950.13 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.3.166 2.950.13 1.0.0 openrouter" try: if __package__ is not None: diff --git a/src/openrouter/components/bulkaddworkspacemembersrequest.py b/src/openrouter/components/bulkaddworkspacemembersrequest.py index c7927258b..4c8681354 100644 --- a/src/openrouter/components/bulkaddworkspacemembersrequest.py +++ b/src/openrouter/components/bulkaddworkspacemembersrequest.py @@ -8,9 +8,9 @@ class BulkAddWorkspaceMembersRequestTypedDict(TypedDict): user_ids: List[str] - r"""List of user IDs to add to the workspace. Members are assigned the same role they hold in the organization.""" + r"""List of user IDs to add to the workspace. New members are assigned the workspace role that matches their organization role; users already in the workspace keep their current role.""" class BulkAddWorkspaceMembersRequest(BaseModel): user_ids: List[str] - r"""List of user IDs to add to the workspace. Members are assigned the same role they hold in the organization.""" + r"""List of user IDs to add to the workspace. New members are assigned the workspace role that matches their organization role; users already in the workspace keep their current role.""" diff --git a/src/openrouter/components/bulkaddworkspacemembersresponse.py b/src/openrouter/components/bulkaddworkspacemembersresponse.py index f46030f3a..bd5201e1d 100644 --- a/src/openrouter/components/bulkaddworkspacemembersresponse.py +++ b/src/openrouter/components/bulkaddworkspacemembersresponse.py @@ -9,14 +9,14 @@ class BulkAddWorkspaceMembersResponseTypedDict(TypedDict): added_count: int - r"""Number of workspace memberships created or updated""" + r"""Number of workspace memberships created""" data: List[WorkspaceMemberTypedDict] r"""List of added workspace memberships""" class BulkAddWorkspaceMembersResponse(BaseModel): added_count: int - r"""Number of workspace memberships created or updated""" + r"""Number of workspace memberships created""" data: List[WorkspaceMember] r"""List of added workspace memberships""" diff --git a/src/openrouter/components/createworkspacerequest.py b/src/openrouter/components/createworkspacerequest.py index c4493d9ed..f4bccf4ce 100644 --- a/src/openrouter/components/createworkspacerequest.py +++ b/src/openrouter/components/createworkspacerequest.py @@ -56,7 +56,7 @@ class CreateWorkspaceRequestTypedDict(TypedDict): io_logging_sampling_rate: NotRequired[float] r"""Sampling rate for I/O logging (0.0001-1)""" is_data_discount_logging_enabled: NotRequired[bool] - r"""Whether data discount logging is enabled""" + r"""Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403.""" is_observability_broadcast_enabled: NotRequired[bool] r"""Whether broadcast is enabled""" is_observability_io_logging_enabled: NotRequired[bool] @@ -94,7 +94,7 @@ class CreateWorkspaceRequest(BaseModel): r"""Sampling rate for I/O logging (0.0001-1)""" is_data_discount_logging_enabled: Optional[bool] = None - r"""Whether data discount logging is enabled""" + r"""Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403.""" is_observability_broadcast_enabled: Optional[bool] = None r"""Whether broadcast is enabled""" diff --git a/src/openrouter/components/updateworkspacerequest.py b/src/openrouter/components/updateworkspacerequest.py index 5049dc7ec..3a9f3e0d6 100644 --- a/src/openrouter/components/updateworkspacerequest.py +++ b/src/openrouter/components/updateworkspacerequest.py @@ -52,7 +52,7 @@ class UpdateWorkspaceRequestTypedDict(TypedDict): io_logging_sampling_rate: NotRequired[float] r"""Sampling rate for I/O logging (0.0001-1)""" is_data_discount_logging_enabled: NotRequired[bool] - r"""Whether data discount logging is enabled""" + r"""Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403.""" is_observability_broadcast_enabled: NotRequired[bool] r"""Whether broadcast is enabled""" is_observability_io_logging_enabled: NotRequired[bool] @@ -88,7 +88,7 @@ class UpdateWorkspaceRequest(BaseModel): r"""Sampling rate for I/O logging (0.0001-1)""" is_data_discount_logging_enabled: Optional[bool] = None - r"""Whether data discount logging is enabled""" + r"""Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403.""" is_observability_broadcast_enabled: Optional[bool] = None r"""Whether broadcast is enabled""" diff --git a/src/openrouter/workspaces.py b/src/openrouter/workspaces.py index 64c2c9d42..cbb3c4a40 100644 --- a/src/openrouter/workspaces.py +++ b/src/openrouter/workspaces.py @@ -387,7 +387,7 @@ def create( :param disabled_server_tools: OpenRouter server tools that requests in this workspace may not invoke. Requests naming a disabled tool are rejected with 403. An empty array or null clears the list. :param io_logging_api_key_ids: Optional array of API key IDs to filter I/O logging :param io_logging_sampling_rate: Sampling rate for I/O logging (0.0001-1) - :param is_data_discount_logging_enabled: Whether data discount logging is enabled + :param is_data_discount_logging_enabled: Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403. :param is_observability_broadcast_enabled: Whether broadcast is enabled :param is_observability_io_logging_enabled: Whether private logging is enabled :param retries: Override the default retry configuration for this method @@ -571,7 +571,7 @@ async def create_async( :param disabled_server_tools: OpenRouter server tools that requests in this workspace may not invoke. Requests naming a disabled tool are rejected with 403. An empty array or null clears the list. :param io_logging_api_key_ids: Optional array of API key IDs to filter I/O logging :param io_logging_sampling_rate: Sampling rate for I/O logging (0.0001-1) - :param is_data_discount_logging_enabled: Whether data discount logging is enabled + :param is_data_discount_logging_enabled: Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403. :param is_observability_broadcast_enabled: Whether broadcast is enabled :param is_observability_io_logging_enabled: Whether private logging is enabled :param retries: Override the default retry configuration for this method @@ -1303,7 +1303,7 @@ def update( :param disabled_server_tools: OpenRouter server tools that requests in this workspace may not invoke. Requests naming a disabled tool are rejected with 403. An empty array or null clears the list. :param io_logging_api_key_ids: Optional array of API key IDs to filter I/O logging :param io_logging_sampling_rate: Sampling rate for I/O logging (0.0001-1) - :param is_data_discount_logging_enabled: Whether data discount logging is enabled + :param is_data_discount_logging_enabled: Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403. :param is_observability_broadcast_enabled: Whether broadcast is enabled :param is_observability_io_logging_enabled: Whether private logging is enabled :param name: New name for the workspace @@ -1495,7 +1495,7 @@ async def update_async( :param disabled_server_tools: OpenRouter server tools that requests in this workspace may not invoke. Requests naming a disabled tool are rejected with 403. An empty array or null clears the list. :param io_logging_api_key_ids: Optional array of API key IDs to filter I/O logging :param io_logging_sampling_rate: Sampling rate for I/O logging (0.0001-1) - :param is_data_discount_logging_enabled: Whether data discount logging is enabled + :param is_data_discount_logging_enabled: Whether data discount logging is enabled. Enabling it requires the account to allow workspace data-discount logging; otherwise the request returns 403. :param is_observability_broadcast_enabled: Whether broadcast is enabled :param is_observability_io_logging_enabled: Whether private logging is enabled :param name: New name for the workspace @@ -2004,10 +2004,10 @@ def bulk_add_members( ) -> components.BulkAddWorkspaceMembersResponse: r"""Bulk add members to a workspace - Add multiple organization members to a workspace. Members are assigned the same role they hold in the organization. [Management key](/docs/guides/overview/auth/management-api-keys) required. + Add multiple organization members to a workspace. New members are assigned the workspace role that matches their organization role. Users who are already members of the workspace keep their current role and are not included in the response. [Management key](/docs/guides/overview/auth/management-api-keys) required. :param id: The workspace ID (UUID) or slug - :param user_ids: List of user IDs to add to the workspace. Members are assigned the same role they hold in the organization. + :param user_ids: List of user IDs to add to the workspace. New members are assigned the workspace role that matches their organization role; users already in the workspace keep their current role. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. @@ -2156,10 +2156,10 @@ async def bulk_add_members_async( ) -> components.BulkAddWorkspaceMembersResponse: r"""Bulk add members to a workspace - Add multiple organization members to a workspace. Members are assigned the same role they hold in the organization. [Management key](/docs/guides/overview/auth/management-api-keys) required. + Add multiple organization members to a workspace. New members are assigned the workspace role that matches their organization role. Users who are already members of the workspace keep their current role and are not included in the response. [Management key](/docs/guides/overview/auth/management-api-keys) required. :param id: The workspace ID (UUID) or slug - :param user_ids: List of user IDs to add to the workspace. Members are assigned the same role they hold in the organization. + :param user_ids: List of user IDs to add to the workspace. New members are assigned the workspace role that matches their organization role; users already in the workspace keep their current role. :param http_referer: The app identifier should be your app's URL and is used as the primary identifier for rankings. This is used to track API usage per application. diff --git a/uv.lock b/uv.lock index 1e56dead6..42f5545ab 100644 --- a/uv.lock +++ b/uv.lock @@ -231,7 +231,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.3.165" +version = "1.3.166" source = { editable = "." } dependencies = [ { name = "httpcore" }, From 382daf4f2857435bcbe9a769114ededa13b268a3 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Thu, 12 Nov 2026 00:27:05 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow