Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 12 additions & 13 deletions .speakeasy/gen.lock
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
lockVersion: 2.0.0
id: c48cf606-fb42-4a45-9c23-8f0555307828
management:
docChecksum: 8c88ee1da5d109e287fc5958aebd53a4
docChecksum: 6b4a8542e991f840a99e609a9c92b16a
docVersion: 1.0.0
speakeasyVersion: 1.787.0
generationVersion: 2.914.0
releaseVersion: 1.1.157
configChecksum: 0c871c3ded730faa04195657a71aadb8
releaseVersion: 1.1.158
configChecksum: 149aa2689e4957309bb4c1b977ccd927
repoURL: https://github.com/OpenRouterTeam/python-sdk.git
installationURL: https://github.com/OpenRouterTeam/python-sdk.git
published: true
persistentEdits:
generation_id: 62dea106-fc12-4a2a-9cce-01a7fb98c0b2
pristine_commit_hash: 047d7c3e93a19c95bbc3cf9b704959631d30c4f7
pristine_tree_hash: 7f9d26a81cf9a73fb04dd06fdc1efe54b2bb08a4
generation_id: 09e2bccd-885d-413a-a5cb-fc35ac545c1a
pristine_commit_hash: 277d07755a439c31266aec30277ca519ba6e39dc
pristine_tree_hash: 80913373c42f4ea1636b8ec24826ba9608671274
features:
python:
acceptHeaders: 3.0.0
Expand Down Expand Up @@ -8062,8 +8062,8 @@ trackedFiles:
pristine_git_object: fe31c0f4f765b9f8f3cf79f6dd403e730589db80
docs/sdks/decisions/README.mdx:
id: a52a116ee1f3
last_write_checksum: sha1:0ade193e7c99d9cc1144774465bad4f65530090a
pristine_git_object: 0b2877e3e1cae0e427a749e4290c6b3017be7b6f
last_write_checksum: sha1:d5a9eb617d71e91d284a19c8f1b92e9882903e85
pristine_git_object: af32d7a22b93c6e41e3d867a83568d90889758fd
docs/sdks/embeddings/README.mdx:
id: cd71581df291
last_write_checksum: sha1:2a965ecfe30c04bc70a42846e3b81523ac2db026
Expand Down Expand Up @@ -8154,8 +8154,8 @@ trackedFiles:
pristine_git_object: 3e38f1a929f7d6b1d6de74604aa87e3d8f010544
pyproject.toml:
id: 5d07e7d72637
last_write_checksum: sha1:ab77d36f611d3a5c30d4aa64b72399005d981f80
pristine_git_object: 362e403ecbe15c78e05652edb36a4b987137451d
last_write_checksum: sha1:58ed3a2d2fa0db47040241f3a4d1c9a24e1a2fcf
pristine_git_object: 942f29aeae46ffbae048748c32bb4f9413d35662
scripts/prepare_readme.py:
id: e0c5957a6035
last_write_checksum: sha1:77f44b60b98bc126557ec27391f91dfba764bb54
Expand All @@ -8182,8 +8182,8 @@ trackedFiles:
pristine_git_object: 86713cfea633e09d33b3d4e65281071fe20e6137
src/openrouter/_version.py:
id: d8d15ad6c586
last_write_checksum: sha1:319fb8d06425241fafb92c795a5c0daf30a5384a
pristine_git_object: 54e28eba869ee18a5082005b0cb942a50a693868
last_write_checksum: sha1:cfd0e41c1049fd8a411f75f715891767592d58cc
pristine_git_object: 13c50d4098317244793f918499ecba0ba133fb85
src/openrouter/alpha.py:
id: 306c4d93308d
last_write_checksum: sha1:0c25a52ed5fb688ec1e923e4e82bcfc9cae49465
Expand Down Expand Up @@ -14936,4 +14936,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.alpha.decisions.create()`: **Added**\n* `open_router.interns.chat()`: **Added**\n* `open_router.tts.create_speech()`: \n * `request.provider.options` **Changed**\n* `open_router.stt.create_transcription()`: \n * `request.provider.options` **Changed**\n * `response` **Changed**\n* `open_router.stt.create_transcription_multipart()`: `response` **Changed**\n* `open_router.byok.list()`: \n * `request.provider` **Changed**\n * `response.data[].provider` **Changed**\n* `open_router.byok.create()`: \n * `request.provider` **Changed**\n * `response.data.provider` **Changed**\n* `open_router.byok.get()`: `response.data.provider` **Changed**\n* `open_router.byok.update()`: `response.data.provider` **Changed**\n* `open_router.chat.send()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.embeddings.generate()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.embeddings.list_models()`: `response.data[].architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.endpoints.list_zdr_endpoints()`: `response.data[].provider_name` **Changed**\n* `open_router.endpoints.list()`: `response.data` **Changed**\n* `open_router.generations.get_generation()`: `response.data` **Changed**\n* `open_router.images.generate()`: `request.provider` **Changed**\n* `open_router.images.list_models()`: `response.data[].architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.models.get()`: `response.data.architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.models.list()`: `response.data[].architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.models.list_for_user()`: `response.data[].architecture.output_modalities[].enum(decisions)` **Added**\n* `open_router.presets.create_presets_chat_completions()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.presets.create_presets_messages()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.presets.create_presets_responses()`: `request` **Changed**\n* `open_router.rerank.rerank()`: \n * `request.provider.ignore[].union(ProviderName)` **Changed**\n* `open_router.responses.send()`: \n * `request` **Changed**\n * `response` **Changed**\n* `open_router.beta.responses.send()`: \n * `request` **Changed**\n * `response` **Changed**\n* `open_router.video_generation.generate()`: `request` **Changed**\n"
2 changes: 1 addition & 1 deletion .speakeasy/gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
python:
version: 1.1.157
version: 1.1.158
additionalDependencies:
dev: {}
main: {}
Expand Down
58 changes: 58 additions & 0 deletions .speakeasy/out.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30215,13 +30215,71 @@ paths:
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'
Expand Down
10 changes: 5 additions & 5 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ speakeasyVersion: 1.787.0
sources:
OpenRouter API:
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:ce976e499121fe4f917f5bb97dc4316a7a73e51924aef93d1238299e91e7a9f0
sourceBlobDigest: sha256:33b30b3014c4ae44f119a62b8008649d9758dfac062df55da049ebe6819b33df
sourceRevisionDigest: sha256:218cfb491888dd01bb0b91626a578a8dcf476ca9bcbb60ae34999e54c236c72a
sourceBlobDigest: sha256:09cb6f35097e73250969974686759a2896ee29de88182fc04bcd06a279a3df75
tags:
- latest
- 1.0.0
targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:ce976e499121fe4f917f5bb97dc4316a7a73e51924aef93d1238299e91e7a9f0
sourceBlobDigest: sha256:33b30b3014c4ae44f119a62b8008649d9758dfac062df55da049ebe6819b33df
sourceRevisionDigest: sha256:218cfb491888dd01bb0b91626a578a8dcf476ca9bcbb60ae34999e54c236c72a
sourceBlobDigest: sha256:09cb6f35097e73250969974686759a2896ee29de88182fc04bcd06a279a3df75
codeSamplesNamespace: open-router-python-code-samples
codeSamplesRevisionDigest: sha256:6bead5fbac891d238584899f937a75f678e24c36fc4fc5a53c48f5ef07a6fd71
codeSamplesRevisionDigest: sha256:bc39f80dec774fbaf8d57e1515c9ac07feff2a94dc4ba105cd376f819adf36bf
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
Expand Down
12 changes: 11 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2359,4 +2359,14 @@ Based on:
### Generated
- [python v1.1.157] .
### Releases
- [PyPI v1.1.157] https://pypi.org/project/openrouter/1.1.157 - .
- [PyPI v1.1.157] https://pypi.org/project/openrouter/1.1.157 - .

## 2026-09-18 17:09:15
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v1.1.158] .
### Releases
- [PyPI v1.1.158] https://pypi.org/project/openrouter/1.1.158 - .
32 changes: 29 additions & 3 deletions docs/sdks/decisions/README.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,36 @@ with OpenRouter(
api_key=os.getenv("OPENROUTER_API_KEY", ""),
) as open_router:

res = open_router.alpha.decisions.create(model="Grand Cherokee", questions={

res = open_router.alpha.decisions.create(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={
"key": "Massachusetts",
"customer_tier": "enterprise",
"ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers.",
})

# Handle response
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "openrouter"
version = "1.1.157"
version = "1.1.158"
description = "Official Python Client SDK for OpenRouter."
authors = [{ name = "OpenRouter" },]
readme = "README-PYPI.md"
Expand Down
4 changes: 2 additions & 2 deletions src/openrouter/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
import importlib.metadata

__title__: str = "openrouter"
__version__: str = "1.1.157"
__version__: str = "1.1.158"
__openapi_doc_version__: str = "1.0.0"
__gen_version__: str = "2.914.0"
__user_agent__: str = "speakeasy-sdk/python 1.1.157 2.914.0 1.0.0 openrouter"
__user_agent__: str = "speakeasy-sdk/python 1.1.158 2.914.0 1.0.0 openrouter"

try:
if __package__ is not None:
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading