From bc0dc4fddfb9a9a9736220f7088c333a535c6e46 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Wed, 4 Nov 2026 21:07:25 +0000 Subject: [PATCH 1/2] ## Python SDK Changes: * `open_router.byok.list()`: * `request.provider` **Changed** * `response.data[].provider.enum(primalabs)` **Added** * `open_router.byok.create()`: * `request.provider.enum(primalabs)` **Added** * `response.data.provider.enum(primalabs)` **Added** * `open_router.byok.get()`: `response.data.provider.enum(primalabs)` **Added** * `open_router.byok.update()`: `response.data.provider.enum(primalabs)` **Added** --- .speakeasy/gen.lock | 59 +++++++++---------- .speakeasy/gen.yaml | 2 +- .speakeasy/out.openapi.yaml | 4 +- .speakeasy/workflow.lock | 10 ++-- RELEASES.md | 12 +++- docs/components/byokproviderslug.mdx | 1 + docs/operations/createkeysrequestbody.mdx | 2 +- docs/operations/provider.mdx | 1 + docs/sdks/apikeys/README.mdx | 2 +- pyproject.toml | 2 +- src/openrouter/_version.py | 4 +- src/openrouter/api_keys.py | 4 +- src/openrouter/components/byokproviderslug.py | 1 + src/openrouter/operations/createkeys.py | 4 +- src/openrouter/operations/listbyokkeys.py | 1 + uv.lock | 2 +- 16 files changed, 61 insertions(+), 50 deletions(-) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index e71da49f..35a27e1a 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: c96eb05f8fa38a969d8b8e37bf2b7f92 + docChecksum: 0958a10a31711b816dc9cd02bd337f8a docVersion: 1.0.0 speakeasyVersion: 1.803.2 generationVersion: 2.950.13 - releaseVersion: 1.3.119 - configChecksum: 58bcf45d3e1e0911fd269902962fd390 + releaseVersion: 1.3.120 + configChecksum: 9b868e697244b0dbed98fd7fba98ba84 repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: 03f5c8f4-ae2c-47ce-b913-65f8c0eae22a - pristine_commit_hash: 10867ef33c8902a0b1285bd03ad547d511fdeed2 - pristine_tree_hash: 6c29fbc47d447931827314914f6d087540652cf7 + generation_id: e8826673-e29c-4471-a306-ed3ef483d323 + pristine_commit_hash: 18fb4ad13cbafb3c9ce582e43cc3572e788f2358 + pristine_tree_hash: 147076f8bc197cc5b303c3f7fd9abb4c510bf3b2 features: python: acceptHeaders: 3.0.0 @@ -1804,8 +1804,8 @@ trackedFiles: pristine_git_object: a00676abb210aeb3747aa6d6a0dfbe3e3ad42f76 docs/components/byokproviderslug.mdx: id: 6ea70819f6d8 - last_write_checksum: sha1:78aa7d07fbba570280aacadb3c64e956568bd5be - pristine_git_object: fa1124ca02f357b62a99c9e5c6b0511f54254d50 + last_write_checksum: sha1:0a3990a2b43748a10ab598e28dd5c69801d3b6ca + pristine_git_object: 5af0c44dad9920f68d6f09ee5bd3c3ea92a103d4 docs/components/capabilitydescriptor.mdx: id: 34ac0e581d79 last_write_checksum: sha1:62ee9ccab6cec4572383cef654997ab4106d4676 @@ -9248,8 +9248,8 @@ trackedFiles: pristine_git_object: 62eedd2321693acb84070b67518bcf8746e71d25 docs/operations/createkeysrequestbody.mdx: id: 77bb49febf62 - last_write_checksum: sha1:a4d813bf0eb6fbff50e00b9733e85253e14249f5 - pristine_git_object: 3f35133302ca574bb5599060b040ff9829026ec8 + last_write_checksum: sha1:1144e92d57f67a5938dc2b37042aceee2b38efaa + pristine_git_object: 4525da98524a940d330f1d0402efb404c2ec0690 docs/operations/createkeysresponse.mdx: id: 08e825fab080 last_write_checksum: sha1:ad171dae3c841d8f21b63a8266c79f22b2d5310c @@ -10496,8 +10496,8 @@ trackedFiles: pristine_git_object: edbbce3632fff19ba4cbd2677b6766805eaca140 docs/operations/provider.mdx: id: c75b3bbeeaa0 - last_write_checksum: sha1:e6b9021e6ddbaf6d65a1396dd64bb8a6f42b3b5f - pristine_git_object: 7562f3a82c17f1910d7a661350e288b870c1bcec + last_write_checksum: sha1:23c74f451a5803e8c29725a6bc8f8b4f60801d72 + pristine_git_object: 17ead5cd65fa9481f3ebc79f5ee3318cb8807237 docs/operations/queryanalyticsdata1.mdx: id: 0e41beea77d0 last_write_checksum: sha1:f9a349b4fee07f786180e94b45f92002bfae0e56 @@ -10764,8 +10764,8 @@ trackedFiles: pristine_git_object: 2cfd14c40ab962877968c79c6c958ea432a4f083 docs/sdks/apikeys/README.mdx: id: 27fcaae1c346 - last_write_checksum: sha1:84590ae50035abe2b53b292186cf494408af4030 - pristine_git_object: 21c449e89a2a1c61383688877f836cb10d2efd2e + last_write_checksum: sha1:80273bedf61e6131728eaafbdea8c2a9e7d8e7e7 + pristine_git_object: c2e930c8fceb2d22431d2a2be01ceb227df72937 docs/sdks/batch/README.mdx: id: e367aa4f4295 last_write_checksum: sha1:e5084fc19c2bfc9aa28e90a86d4accb5c9153130 @@ -10916,8 +10916,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:536c24162fd1ef11307a17eadef620e9dc30d5c5 - pristine_git_object: 46dcc28ae56f5b08c61b875d1221dc854bf3c6e2 + last_write_checksum: sha1:629840b0b324d2f93eb70a09282c7ac9b0478507 + pristine_git_object: 84ee3e926c0ef1dd5ab0895bb8c0fa5f8dab8e86 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -10944,8 +10944,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:5383a50dd6d41003a2b5c8fc0a0d4804af596a47 - pristine_git_object: 3dd25ead883100f11b3e84e1072b97146e3be81a + last_write_checksum: sha1:d3a49dfd86d4466470276eec760afe57ea499d99 + pristine_git_object: 1f79214623c560cc1a2841fa7f0496cdd8738ddf src/openrouter/alpha.py: id: 306c4d93308d last_write_checksum: sha1:80cc0f39649445431cc2247ed0e0765438467766 @@ -10956,8 +10956,8 @@ trackedFiles: pristine_git_object: 0e567f3a37cc6aeb45a2551d0d500412e4b7796d src/openrouter/api_keys.py: id: 876fac88fff6 - last_write_checksum: sha1:78bf0fcf8a3d194494c8f8d0c2f3f29c893c65b1 - pristine_git_object: 837cbce7fcb6e2d62545b46c09a11cb291171a60 + last_write_checksum: sha1:3a2893899424d7129a75bf66fd877c83d54af502 + pristine_git_object: 28616aac95dc38d48923169945f49cf2bceeeaf2 src/openrouter/basesdk.py: id: c5733c5a1e12 last_write_checksum: sha1:65769ff2cb5473f85b364c6213a0ddc8c68644ea @@ -11724,8 +11724,8 @@ trackedFiles: pristine_git_object: 1b3f14e8e93ced25f87ee3ca73c01e2f32f42988 src/openrouter/components/byokproviderslug.py: id: 6738a8516caf - last_write_checksum: sha1:4351aca8d7ae2964f8d048f11cc6c557475bd9c1 - pristine_git_object: d527e9f97567abf82acf91589816851c79eea50b + last_write_checksum: sha1:dfc921a293020695b4f34809074110377e7f4223 + pristine_git_object: 719477b8c8cdfd1e516886458e7011a84d04d3ed src/openrouter/components/capabilitydescriptor.py: id: 368790a86f10 last_write_checksum: sha1:a167551924ee82b4b5876a0ab698a45fe8c87a95 @@ -14856,8 +14856,8 @@ trackedFiles: pristine_git_object: 8216a656ec1412a034878e257bd9de9e94fa8da1 src/openrouter/operations/createkeys.py: id: 64ad31fdaa6c - last_write_checksum: sha1:0f87b3e97a21a01c1c9b9da5f81c97677026d6e6 - pristine_git_object: 778f557b94a841ad99c9326ddd8bcd98ed87029e + last_write_checksum: sha1:97eab4df5a91777912ce61592c107ec2220bd1b7 + pristine_git_object: 4b4164ca132bd16341c7d6f7fcb6106a30b24788 src/openrouter/operations/createoauthtoken.py: id: 02e1c061780d last_write_checksum: sha1:006884cfeeecfede1434f194460b7189cae89de1 @@ -15124,8 +15124,8 @@ trackedFiles: pristine_git_object: 1dfdcafa35e010924f76a24ed007796e8ad40254 src/openrouter/operations/listbyokkeys.py: id: b6dd42b3e05f - last_write_checksum: sha1:c47a34884313b394b949719512cb61ba1ccf123c - pristine_git_object: 1b25dfa9444abf490819a711e99a3c471823bf15 + last_write_checksum: sha1:e94980f4b9e3d114e8c21360232f23b0cd50e662 + pristine_git_object: 1f66e34523d69609a858a6e2acb6307f30de8846 src/openrouter/operations/listcontainerfiles.py: id: 7a30b9291c76 last_write_checksum: sha1:937c9fb30fd651d28793340285b3389518b26d96 @@ -20076,9 +20076,4 @@ examples: "500": application/json: {"error": {"code": 500, "message": "Internal Server Error"}} examplesVersion: 1.0.2 -releaseNotes: | - ## Python SDK Changes: - * `open_router.alpha.decisions.create()`: `response` **Changed** - * `open_router.tts.create_speech()`: `request.provider` **Changed** - * `open_router.stt.create_transcription()`: `request.provider` **Changed** - * `open_router.system_one.create()`: `response` **Changed** +releaseNotes: "## Python SDK Changes:\n* `open_router.byok.list()`: \n * `request.provider` **Changed**\n * `response.data[].provider.enum(primalabs)` **Added**\n* `open_router.byok.create()`: \n * `request.provider.enum(primalabs)` **Added**\n * `response.data.provider.enum(primalabs)` **Added**\n* `open_router.byok.get()`: `response.data.provider.enum(primalabs)` **Added**\n* `open_router.byok.update()`: `response.data.provider.enum(primalabs)` **Added**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index ce8b83c5..8ee12675 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -37,7 +37,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.3.119 + version: 1.3.120 additionalDependencies: dev: pytest: '>=8.3' diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 370124c6..6e6de715 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -7118,6 +7118,7 @@ components: - 'perplexity' - 'phala' - 'poolside' + - 'primalabs' - 'primeintellect' - 'quiver' - 'recraft' @@ -39319,6 +39320,7 @@ paths: - 'perplexity' - 'phala' - 'poolside' + - 'primalabs' - 'primeintellect' - 'quiver' - 'recraft' @@ -45745,7 +45747,7 @@ paths: name: 'My New API Key' properties: creator_user_id: - description: 'Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key.' + description: 'Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. A workspace-scoped management key may only name a member of its own workspace.' example: 'user_2dHFtVWx2n56w6HkM0000000000' minLength: 1 type: diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 25731d0a..fc06225c 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:263bfe509d827a14df7d6fd4751900eaac8a6862d1c19fe8b51ec447e4a61d34 - sourceBlobDigest: sha256:e52279af6226c0914fb502f1843badb6c37eed9d359af170c5de580a14d7ab1c + sourceRevisionDigest: sha256:52436923d0a6723ff9b4fa9bf9302fbe04561046793ec97d59d0dc5941a3d6ef + sourceBlobDigest: sha256:5ce8c1c0436ba33eec92da10f762c92ab4a3e9d160a28bcf266c4e3e5f33ba5d tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:263bfe509d827a14df7d6fd4751900eaac8a6862d1c19fe8b51ec447e4a61d34 - sourceBlobDigest: sha256:e52279af6226c0914fb502f1843badb6c37eed9d359af170c5de580a14d7ab1c + sourceRevisionDigest: sha256:52436923d0a6723ff9b4fa9bf9302fbe04561046793ec97d59d0dc5941a3d6ef + sourceBlobDigest: sha256:5ce8c1c0436ba33eec92da10f762c92ab4a3e9d160a28bcf266c4e3e5f33ba5d codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:54631d79160710b2a2a6917f6a32aaf2231d8f815e622559df9945381e9e47c1 + codeSamplesRevisionDigest: sha256:58f5a62e1535e7ffc644cdf4ac679438040334cc78fa660922f3c22cc1f3ba69 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.803.2 diff --git a/RELEASES.md b/RELEASES.md index 66c3323b..5bc63cb9 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -3959,4 +3959,14 @@ Based on: ### Generated - [python v1.3.119] . ### Releases -- [PyPI v1.3.119] https://pypi.org/project/openrouter/1.3.119 - . \ No newline at end of file +- [PyPI v1.3.119] https://pypi.org/project/openrouter/1.3.119 - . + +## 2026-11-04 21:04:27 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.803.2 (2.950.13) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.3.120] . +### Releases +- [PyPI v1.3.120] https://pypi.org/project/openrouter/1.3.120 - . \ No newline at end of file diff --git a/docs/components/byokproviderslug.mdx b/docs/components/byokproviderslug.mdx index fa1124ca..5af0c44d 100644 --- a/docs/components/byokproviderslug.mdx +++ b/docs/components/byokproviderslug.mdx @@ -106,6 +106,7 @@ This is an open enum. Unrecognized values will not fail type checks. - `"perplexity"` - `"phala"` - `"poolside"` +- `"primalabs"` - `"primeintellect"` - `"quiver"` - `"recraft"` diff --git a/docs/operations/createkeysrequestbody.mdx b/docs/operations/createkeysrequestbody.mdx index 3f351333..4525da98 100644 --- a/docs/operations/createkeysrequestbody.mdx +++ b/docs/operations/createkeysrequestbody.mdx @@ -6,7 +6,7 @@ title: "CreateKeysRequestBody" | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `creator_user_id` | *OptionalNullable[str]* | ➖ | Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. | user_2dHFtVWx2n56w6HkM0000000000 | +| `creator_user_id` | *OptionalNullable[str]* | ➖ | Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. A workspace-scoped management key may only name a member of its own workspace. | user_2dHFtVWx2n56w6HkM0000000000 | | `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | ➖ | Optional ISO 8601 UTC expiration timestamp. Must include seconds (YYYY-MM-DDTHH:MM:SSZ; fractional seconds allowed); minute-precision timestamps are rejected. | 2027-12-31T23:59:59Z | | `external` | [Optional[operations.External]](../operations/external.mdx) | ➖ | Optional partner-defined identity associated with the created API key. | | | `include_byok_in_limit` | *Optional[bool]* | ➖ | Whether to include BYOK usage in the limit | true | diff --git a/docs/operations/provider.mdx b/docs/operations/provider.mdx index 7562f3a8..17ead5cd 100644 --- a/docs/operations/provider.mdx +++ b/docs/operations/provider.mdx @@ -106,6 +106,7 @@ This is an open enum. Unrecognized values will not fail type checks. - `"perplexity"` - `"phala"` - `"poolside"` +- `"primalabs"` - `"primeintellect"` - `"quiver"` - `"recraft"` diff --git a/docs/sdks/apikeys/README.mdx b/docs/sdks/apikeys/README.mdx index 21c449e8..c2e930c8 100644 --- a/docs/sdks/apikeys/README.mdx +++ b/docs/sdks/apikeys/README.mdx @@ -150,7 +150,7 @@ with OpenRouter( | `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.
| | -| `creator_user_id` | *OptionalNullable[str]* | ➖ | Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. | user_2dHFtVWx2n56w6HkM0000000000 | +| `creator_user_id` | *OptionalNullable[str]* | ➖ | Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. A workspace-scoped management key may only name a member of its own workspace. | user_2dHFtVWx2n56w6HkM0000000000 | | `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | ➖ | Optional ISO 8601 UTC expiration timestamp. Must include seconds (YYYY-MM-DDTHH:MM:SSZ; fractional seconds allowed); minute-precision timestamps are rejected. | 2027-12-31T23:59:59Z | | `external` | [Optional[operations.External]](../../operations/external.mdx) | ➖ | Optional partner-defined identity associated with the created API key. | | | `include_byok_in_limit` | *Optional[bool]* | ➖ | Whether to include BYOK usage in the limit | true | diff --git a/pyproject.toml b/pyproject.toml index 46dcc28a..84ee3e92 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.3.119" +version = "1.3.120" 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 3dd25ead..1f792146 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.119" +__version__: str = "1.3.120" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.950.13" -__user_agent__: str = "speakeasy-sdk/python 1.3.119 2.950.13 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.3.120 2.950.13 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 837cbce7..28616aac 100644 --- a/src/openrouter/api_keys.py +++ b/src/openrouter/api_keys.py @@ -590,7 +590,7 @@ def create( :param x_open_router_categories: Comma-separated list of app categories (e.g. \"cli-agent,cloud-agent\"). Used for marketplace rankings. - :param creator_user_id: Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. + :param creator_user_id: Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. A workspace-scoped management key may only name a member of its own workspace. :param expires_at: Optional ISO 8601 UTC expiration timestamp. Must include seconds (YYYY-MM-DDTHH:MM:SSZ; fractional seconds allowed); minute-precision timestamps are rejected. :param external: Optional partner-defined identity associated with the created API key. :param include_byok_in_limit: Whether to include BYOK usage in the limit @@ -762,7 +762,7 @@ async def create_async( :param x_open_router_categories: Comma-separated list of app categories (e.g. \"cli-agent,cloud-agent\"). Used for marketplace rankings. - :param creator_user_id: Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. + :param creator_user_id: Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. A workspace-scoped management key may only name a member of its own workspace. :param expires_at: Optional ISO 8601 UTC expiration timestamp. Must include seconds (YYYY-MM-DDTHH:MM:SSZ; fractional seconds allowed); minute-precision timestamps are rejected. :param external: Optional partner-defined identity associated with the created API key. :param include_byok_in_limit: Whether to include BYOK usage in the limit diff --git a/src/openrouter/components/byokproviderslug.py b/src/openrouter/components/byokproviderslug.py index d527e9f9..719477b8 100644 --- a/src/openrouter/components/byokproviderslug.py +++ b/src/openrouter/components/byokproviderslug.py @@ -95,6 +95,7 @@ "perplexity", "phala", "poolside", + "primalabs", "primeintellect", "quiver", "recraft", diff --git a/src/openrouter/operations/createkeys.py b/src/openrouter/operations/createkeys.py index 778f557b..4b4164ca 100644 --- a/src/openrouter/operations/createkeys.py +++ b/src/openrouter/operations/createkeys.py @@ -131,7 +131,7 @@ class CreateKeysRequestBodyTypedDict(TypedDict): name: str r"""Name for the new API key""" creator_user_id: NotRequired[Nullable[str]] - r"""Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key.""" + r"""Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. A workspace-scoped management key may only name a member of its own workspace.""" expires_at: NotRequired[Nullable[datetime]] r"""Optional ISO 8601 UTC expiration timestamp. Must include seconds (YYYY-MM-DDTHH:MM:SSZ; fractional seconds allowed); minute-precision timestamps are rejected.""" external: NotRequired[ExternalTypedDict] @@ -151,7 +151,7 @@ class CreateKeysRequestBody(BaseModel): r"""Name for the new API key""" creator_user_id: OptionalNullable[str] = UNSET - r"""Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key.""" + r"""Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. A workspace-scoped management key may only name a member of its own workspace.""" expires_at: OptionalNullable[datetime] = UNSET r"""Optional ISO 8601 UTC expiration timestamp. Must include seconds (YYYY-MM-DDTHH:MM:SSZ; fractional seconds allowed); minute-precision timestamps are rejected.""" diff --git a/src/openrouter/operations/listbyokkeys.py b/src/openrouter/operations/listbyokkeys.py index 1b25dfa9..1f66e345 100644 --- a/src/openrouter/operations/listbyokkeys.py +++ b/src/openrouter/operations/listbyokkeys.py @@ -172,6 +172,7 @@ def serialize_model(self, handler): "perplexity", "phala", "poolside", + "primalabs", "primeintellect", "quiver", "recraft", diff --git a/uv.lock b/uv.lock index c9776201..e5674114 100644 --- a/uv.lock +++ b/uv.lock @@ -231,7 +231,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.3.119" +version = "1.3.120" source = { editable = "." } dependencies = [ { name = "httpcore" }, From 718c0d59a0d32c7ce877e8eaea219e348ccdd9d0 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Wed, 4 Nov 2026 21:07:34 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow