diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 9d72dd95..37c9a799 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: 0563d6db7704a27f3b7a3beff8e602b3 + docChecksum: b8ef8e6acc081583a4b4b5280d5bc66a docVersion: 1.0.0 speakeasyVersion: 1.787.0 generationVersion: 2.914.0 - releaseVersion: 1.2.6 - configChecksum: 05ae5cc8c6d5b877a33c4e2e32c287e9 + releaseVersion: 1.2.7 + configChecksum: aa1b9118eec5df8f4c5665a1e53972cd repoURL: https://github.com/OpenRouterTeam/python-sdk.git installationURL: https://github.com/OpenRouterTeam/python-sdk.git published: true persistentEdits: - generation_id: cd46820e-de2a-481a-8817-f7dc33080f11 - pristine_commit_hash: 5355199f997528a92ceb1f3f42c4397c90c9c430 - pristine_tree_hash: 88a204ba1ded098bf077de095915e0893d2a3a08 + generation_id: bca11b04-b80d-49be-a6bd-00fc34f50538 + pristine_commit_hash: c713a8d5543ed7cc25eb572945a4a4c5ea574510 + pristine_tree_hash: ec331e7667fa75e32ef857f3c3ad74172c54ce23 features: python: acceptHeaders: 3.0.0 @@ -8163,8 +8163,8 @@ trackedFiles: pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:7d46ef8090d156637d78acb4572fce19c2dfca3a - pristine_git_object: 3a5ee39e26552427fbfee31d044fa1a2403e9bb9 + last_write_checksum: sha1:b9b202e55e8f133fe617f5a90f83911d10664e1e + pristine_git_object: 11ae0f2796eb8bb374a0e12ab2cbcb284f6a1c34 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54 @@ -8191,8 +8191,8 @@ trackedFiles: pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137 src/openrouter/_version.py: id: d8d15ad6c586 - last_write_checksum: sha1:3ab3cae82bacc5b29e795e4ae0476e3a305fa10f - pristine_git_object: 5c8bfcc8c2dba49f06b2d7e2c5cb57787224c2f1 + last_write_checksum: sha1:f80f256266c26716757ffd8846abb566c67c9557 + pristine_git_object: 9e7f35935b8f44c86d1f2c350d6179a3b5bdfe58 src/openrouter/alpha.py: id: 306c4d93308d last_write_checksum: sha1:0c25a52ed5fb688ec1e923e4e82bcfc9cae49465 @@ -14955,4 +14955,3 @@ examples: "502": application/json: {"error": {"code": 409, "message": "That question is no longer waiting for an answer."}} examplesVersion: 1.0.2 -releaseNotes: "## Python SDK Changes:\n* `open_router.byok.update()`: `error.status[403]` **Added**\n* `open_router.interns.list_interns()`: \n * `request.starting_after` **Added**\n * `response.next_cursor` **Added**\n" diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index edbd8d3f..11d453a8 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -36,7 +36,7 @@ generation: documentation: mintlify preApplyUnionDiscriminators: true python: - version: 1.2.6 + version: 1.2.7 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/out.openapi.yaml b/.speakeasy/out.openapi.yaml index 0e9b8157..b0202321 100644 --- a/.speakeasy/out.openapi.yaml +++ b/.speakeasy/out.openapi.yaml @@ -43314,6 +43314,209 @@ paths: - $ref: "#/components/parameters/AppIdentifier" - $ref: "#/components/parameters/AppDisplayName" - $ref: "#/components/parameters/AppCategories" + /systemone: + post: + description: 'TypeSafe SDK compatible alias for `POST /api/alpha/decisions`. Accepts the same request body and returns the same response. Bare TypeSafe model IDs such as `jev-1.13` and `jev-latest` are mapped onto the `typesafe/` namespace.' + operationId: 'createSystemone' + requestBody: + content: + application/json: + example: + model: 'typesafe/jev-1.13' + questions: + is_bug: + criteria: + 'false': 'The customer is asking a question or requesting a feature.' + 'true': 'The customer describes broken or unexpected product behavior.' + instructions: 'Is the customer reporting a software defect?' + type: 'noul' + team: + criteria: + account: 'Login, permissions, or profile issues.' + frontend: 'Rendering, layout, or browser compatibility issues.' + payments: 'Checkout, billing, or payment processing issues.' + instructions: 'Which team should own this ticket?' + type: 'choice' + urgency: + criteria: + - 'Can wait for the next release' + - 'Should be fixed this week' + - 'Blocking revenue right now' + instructions: 'How urgent is this ticket?' + type: 'score' + state: + customer_tier: 'enterprise' + ticket: 'My checkout page shows a blank screen after I click Pay. I have tried two browsers.' + schema: + $ref: '#/components/schemas/DecisionsRequest' + required: true + responses: + '200': + content: + application/json: + example: + answers: + is_bug: + noul: 0.96 + type: 'noul' + team: + choice: 'payments' + confidence: 0.75 + probabilities: + account: 0 + frontend: 0.16 + payments: 0.84 + type: 'choice' + urgency: + confidence: 0.99 + legend: + '0': 'Can wait for the next release' + '1': 'Should be fixed this week' + '2': 'Blocking revenue right now' + probabilities: + '0': 0 + '1': 0.01 + '2': 0.99 + score: 1.99 + type: 'score' + id: 'gen-dec-1789738314-X5e5eKGQdvR9rblyX250' + model: 'typesafe/jev-1.13-20260917' + provider: 'TypeSafe' + usage: + cost: 0.000019992 + input_tokens: 476 + output_tokens: 70 + schema: + $ref: '#/components/schemas/DecisionsResponse' + description: 'Decisions response' + '400': + content: + application/json: + example: + error: + code: 400 + message: 'Invalid request parameters' + schema: + $ref: '#/components/schemas/BadRequestResponse' + description: 'Bad Request - Invalid request parameters or malformed input' + '401': + content: + application/json: + example: + error: + code: 401 + message: 'Missing Authentication header' + schema: + $ref: '#/components/schemas/UnauthorizedResponse' + description: 'Unauthorized - Authentication required or invalid credentials' + '402': + content: + application/json: + example: + error: + code: 402 + message: 'Insufficient credits. Add more using https://openrouter.ai/credits' + schema: + $ref: '#/components/schemas/PaymentRequiredResponse' + description: 'Payment Required - Insufficient credits or quota to complete request' + '403': + content: + application/json: + example: + error: + code: 403 + message: 'Only management keys can perform this operation' + schema: + $ref: '#/components/schemas/ForbiddenResponse' + description: 'Forbidden - Authentication successful but insufficient permissions' + '404': + content: + application/json: + example: + error: + code: 404 + message: 'Resource not found' + schema: + $ref: '#/components/schemas/NotFoundResponse' + description: 'Not Found - Resource does not exist' + '413': + content: + application/json: + example: + error: + code: 413 + message: 'Request payload too large' + schema: + $ref: '#/components/schemas/PayloadTooLargeResponse' + description: 'Payload Too Large - Request payload exceeds size limits' + '429': + content: + application/json: + example: + error: + code: 429 + message: 'Rate limit exceeded' + schema: + $ref: '#/components/schemas/TooManyRequestsResponse' + description: 'Too Many Requests - Rate limit exceeded' + '500': + content: + application/json: + example: + error: + code: 500 + message: 'Internal Server Error' + schema: + $ref: '#/components/schemas/InternalServerResponse' + description: 'Internal Server Error - Unexpected server error' + '502': + content: + application/json: + example: + error: + code: 502 + message: 'Provider returned error' + schema: + $ref: '#/components/schemas/BadGatewayResponse' + description: 'Bad Gateway - Provider/upstream API failure' + '503': + content: + application/json: + example: + error: + code: 503 + message: 'Service temporarily unavailable' + schema: + $ref: '#/components/schemas/ServiceUnavailableResponse' + description: 'Service Unavailable - Service temporarily unavailable' + '524': + content: + application/json: + example: + error: + code: 524 + message: 'Request timed out. Please try again later.' + schema: + $ref: '#/components/schemas/EdgeNetworkTimeoutResponse' + description: 'Infrastructure Timeout - Provider request timed out at edge network' + '529': + content: + application/json: + example: + error: + code: 529 + message: 'Provider returned error' + schema: + $ref: '#/components/schemas/ProviderOverloadedResponse' + description: 'Provider Overloaded - Provider is temporarily overloaded' + summary: 'Submit a System One request (TypeSafe SDK compatible alias)' + tags: + - 'alpha.decisions' + x-speakeasy-ignore: true + parameters: + - $ref: "#/components/parameters/AppIdentifier" + - $ref: "#/components/parameters/AppDisplayName" + - $ref: "#/components/parameters/AppCategories" /vault/interns/{internId}/secrets: get: description: 'Lists secret metadata stored for one intern. Responses contain names, bound hosts, fingerprints and creation times, never secret values. Results are ordered by name and paginated with `limit` and `offset`. The scope is selected by the API key: workspace routes act on the key''s active workspace and intern routes act on one intern inside that workspace. There is no default workspace and no fallback to another scope. Every vault route, including reads, requires access to the Intern API programme and returns 404 outside it. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.' diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 30639281..9dccc52a 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:c66839243c891c6f582939dd68bc390fd56629095966346707bd300524c73e39 - sourceBlobDigest: sha256:0b66f3175e7b0f14ae3b22216c39295715cfd827ce73f569c2d4b012c4b91418 + sourceRevisionDigest: sha256:a6fb2582d267b7a3ea83cae1439a32e175a0f65079851685be4ad94d684f4689 + sourceBlobDigest: sha256:b48edb241b574a295970dc9757ce399f317bdb84a4932b017a60cbe5969a6801 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: open-router: source: OpenRouter API sourceNamespace: open-router-chat-completions-api - sourceRevisionDigest: sha256:c66839243c891c6f582939dd68bc390fd56629095966346707bd300524c73e39 - sourceBlobDigest: sha256:0b66f3175e7b0f14ae3b22216c39295715cfd827ce73f569c2d4b012c4b91418 + sourceRevisionDigest: sha256:a6fb2582d267b7a3ea83cae1439a32e175a0f65079851685be4ad94d684f4689 + sourceBlobDigest: sha256:b48edb241b574a295970dc9757ce399f317bdb84a4932b017a60cbe5969a6801 codeSamplesNamespace: open-router-python-code-samples - codeSamplesRevisionDigest: sha256:aa75ffe5aa1ebe652c8f1cf14a4813b6794989325e6798be7517cfcbdb81693f + codeSamplesRevisionDigest: sha256:5ec445fcf3f7f6272d47694eeb88a4f2b90932843ec515d063c28b56df1c5ef9 workflow: workflowVersion: 1.0.0 speakeasyVersion: 1.787.0 diff --git a/RELEASES.md b/RELEASES.md index d8da5301..087109bb 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -2469,4 +2469,14 @@ Based on: ### Generated - [python v1.2.6] . ### Releases -- [PyPI v1.2.6] https://pypi.org/project/openrouter/1.2.6 - . \ No newline at end of file +- [PyPI v1.2.6] https://pypi.org/project/openrouter/1.2.6 - . + +## 2026-09-20 03:30:36 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.2.7] . +### Releases +- [PyPI v1.2.7] https://pypi.org/project/openrouter/1.2.7 - . \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 3a5ee39e..11ae0f27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "openrouter" -version = "1.2.6" +version = "1.2.7" 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 5c8bfcc8..9e7f3593 100644 --- a/src/openrouter/_version.py +++ b/src/openrouter/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "openrouter" -__version__: str = "1.2.6" +__version__: str = "1.2.7" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.914.0" -__user_agent__: str = "speakeasy-sdk/python 1.2.6 2.914.0 1.0.0 openrouter" +__user_agent__: str = "speakeasy-sdk/python 1.2.7 2.914.0 1.0.0 openrouter" try: if __package__ is not None: diff --git a/uv.lock b/uv.lock index 83bda36c..aeb95892 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "openrouter" -version = "1.2.6" +version = "1.2.7" source = { editable = "." } dependencies = [ { name = "httpcore" },