NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2398 most downloaded on PyPI
Official Python Client SDK for OpenRouter.
Last release today
17 Sep 2026
Release timing varies
gaps range from 8 days to 2 months
Nearly every release is documented
notes for 57 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 months old
254 releases · first in 2025
One column per month.
open_router.video_generation.generate(): request.prompt Changed
open_router.video_generation.generate(): request.prompt ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.guardrails.list(): response.data[].content_filters[].action.enum(flag) Added
open_router.guardrails.list(): response.data[].content_filters[].action.enum(flag) Addedopen_router.guardrails.create():
request.content_filters[].action.enum(flag) Addedresponse.data.content_filters[].action.enum(flag) Addedopen_router.guardrails.get(): response.data.content_filters[].action.enum(flag) Addedopen_router.guardrails.update():
request.content_filters[].action.enum(flag) Addedresponse.data.content_filters[].action.enum(flag) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.provider.ignore[].union(ProviderName).enum(fish_audio) Addedopen_router.tts.create_speech():
request.provider.options.fish_audio Addedopen_router.stt.create_transcription():
request.provider.options.fish_audio Addedopen_router.byok.list():
request.provider Changedresponse.data[].provider.enum(fish_audio) Addedopen_router.byok.create():
request.provider.enum(fish_audio) Addedresponse.data.provider.enum(fish_audio) Addedopen_router.byok.get(): response.data.provider.enum(fish_audio) Addedopen_router.byok.update(): response.data.provider.enum(fish_audio) Addedopen_router.chat.send():
request.provider.ignore[].union(ProviderName).enum(fish_audio) Addedopen_router.embeddings.generate():
request.provider.ignore[].union(ProviderName).enum(fish_audio) Addedopen_router.endpoints.list_zdr_endpoints(): response.data[].provider_name.enum(fish_audio) Addedopen_router.endpoints.list(): response.data.endpoints[].provider_name.enum(fish_audio) Addedopen_router.generations.get_generation(): response.data.provider_responses[].provider_name.enum(fish_audio) Addedopen_router.images.generate(): request.provider Changedopen_router.presets.create_presets_chat_completions():
request.provider.ignore[].union(ProviderName).enum(fish_audio) Addedopen_router.presets.create_presets_messages():
request.provider.ignore[].union(ProviderName).enum(fish_audio) Addedopen_router.presets.create_presets_responses():
request.provider.ignore[].union(ProviderName).enum(fish_audio) Addedopen_router.rerank.rerank():
request.provider.ignore[].union(ProviderName).enum(fish_audio) Addedopen_router.video_generation.generate():
request.provider.options.fish_audio AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send(): response Changed
open_router.beta.responses.send(): response ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.plugins[].union(auto-beta-router) Addedopen_router.chat.send():
request.plugins[].union(auto-beta-router) Addedopen_router.presets.create_presets_chat_completions():
request.plugins[].union(auto-beta-router) Addedopen_router.presets.create_presets_messages():
request.plugins[].union(auto-beta-router) Addedopen_router.presets.create_presets_responses():
request.plugins[].union(auto-beta-router) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
open_router.beta.responses.send(): request.previous_response_id Changed (Breaking ⚠️)
open_router.beta.responses.send(): request.previous_response_id Changed (Breaking ⚠️)open_router.presets.create_presets_responses(): request.previous_response_id Changed (Breaking ⚠️)Generated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.input.union(Array<>)[].union(ReasoningItem).format.enum(meta_responses_v1) Addedresponse Changedopen_router.chat.send():
request.messages[].union(assistant).reasoning_details[].union(reasoning.text).format.enum(meta_responses_v1) Addedresponse Changedopen_router.presets.create_presets_chat_completions():
request.messages[].union(assistant).reasoning_details[].union(reasoning.summary).format.enum(meta_responses_v1) Addedopen_router.presets.create_presets_responses():
request.input.union(Array<>)[].union(ReasoningItem).format.enum(meta_responses_v1) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.provider.ignore[].union(ProviderName).enum(krea) Addedopen_router.tts.create_speech():
request.provider.options.krea Addedopen_router.stt.create_transcription():
request.provider.options.krea Addedopen_router.byok.list():
request.provider Changedresponse.data[].provider.enum(krea) Addedopen_router.byok.create():
request.provider.enum(krea) Addedresponse.data.provider.enum(krea) Addedopen_router.byok.get(): response.data.provider.enum(krea) Addedopen_router.byok.update(): response.data.provider.enum(krea) Addedopen_router.chat.send():
request.provider.ignore[].union(ProviderName).enum(krea) Addedopen_router.embeddings.generate():
request.provider.ignore[].union(ProviderName).enum(krea) Addedopen_router.endpoints.list_zdr_endpoints(): response.data[].provider_name.enum(krea) Addedopen_router.endpoints.list(): response.data.endpoints[].provider_name.enum(krea) Addedopen_router.generations.get_generation(): response.data.provider_responses[].provider_name.enum(krea) Addedopen_router.images.generate(): request.provider Changedopen_router.presets.create_presets_chat_completions():
request.provider.ignore[].union(ProviderName).enum(krea) Addedopen_router.presets.create_presets_messages():
request.provider.ignore[].union(ProviderName).enum(krea) Addedopen_router.presets.create_presets_responses():
request.provider.ignore[].union(ProviderName).enum(krea) Addedopen_router.rerank.rerank():
request.provider.ignore[].union(ProviderName).enum(krea) Addedopen_router.video_generation.generate():
request.provider.options.krea AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.chat.send(): request.prediction Added
open_router.chat.send(): request.prediction Addedopen_router.embeddings.list_models(): response.data[].supported_parameters[].enum(prediction) Addedopen_router.endpoints.list_zdr_endpoints(): response.data[].supported_parameters[].enum(prediction) Addedopen_router.endpoints.list(): response.data.endpoints[].supported_parameters[].enum(prediction) Addedopen_router.models.get(): response.data.supported_parameters[].enum(prediction) Addedopen_router.models.list(): response.data[].supported_parameters[].enum(prediction) Addedopen_router.models.list_for_user(): response.data[].supported_parameters[].enum(prediction) Addedopen_router.presets.create_presets_chat_completions(): request.prediction AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request Changed (Breaking ⚠️)response Changedopen_router.presets.create_presets_responses(): request Changed (Breaking ⚠️)Generated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.provider.ignore[].union(ProviderName).enum(sail_research) Addedopen_router.tts.create_speech():
request.provider.options.sail_research Addedopen_router.stt.create_transcription():
request.provider.options.sail_research Addedopen_router.byok.list():
request.provider Changedresponse.data[].provider.enum(sail_research) Addedopen_router.byok.create():
request.provider.enum(sail_research) Addedresponse.data.provider.enum(sail_research) Addedopen_router.byok.get(): response.data.provider.enum(sail_research) Addedopen_router.byok.update(): response.data.provider.enum(sail_research) Addedopen_router.chat.send():
request.provider.ignore[].union(ProviderName).enum(sail_research) Addedopen_router.embeddings.generate():
request.provider.ignore[].union(ProviderName).enum(sail_research) Addedopen_router.endpoints.list_zdr_endpoints(): response.data[].provider_name.enum(sail_research) Addedopen_router.endpoints.list(): response.data.endpoints[].provider_name.enum(sail_research) Addedopen_router.generations.get_generation(): response.data.provider_responses[].provider_name.enum(sail_research) Addedopen_router.images.generate(): request.provider Changedopen_router.presets.create_presets_chat_completions():
request.provider.ignore[].union(ProviderName).enum(sail_research) Addedopen_router.presets.create_presets_messages():
request.provider.ignore[].union(ProviderName).enum(sail_research) Addedopen_router.presets.create_presets_responses():
request.provider.ignore[].union(ProviderName).enum(sail_research) Addedopen_router.rerank.rerank():
request.provider.ignore[].union(ProviderName).enum(sail_research) Addedopen_router.video_generation.generate():
request.provider.options.sail_research AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
response.choices[].message.content.union(Array )[].union(text).prompt_cache_breakpoint Added
open_router.chat.send():
request Changedresponse.choices[].message.content.union(Array<ChatContentItems>)[].union(text).prompt_cache_breakpoint Addedopen_router.presets.create_presets_chat_completions(): request ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.guardrails.list(): response.data[].enforce_zdr_xai Added
open_router.guardrails.list(): response.data[].enforce_zdr_xai Addedopen_router.guardrails.create():
request.enforce_zdr_xai Addedresponse.data.enforce_zdr_xai Addedopen_router.guardrails.get(): response.data.enforce_zdr_xai Addedopen_router.guardrails.update():
request.enforce_zdr_xai Addedresponse.data.enforce_zdr_xai AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send(): response Changed
open_router.beta.responses.send(): response ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.embeddings.list_models(): response.data[].pricing.overrides[] Changed
open_router.embeddings.list_models(): response.data[].pricing.overrides[] Changedopen_router.endpoints.list_zdr_endpoints(): response.data[].pricing.overrides[] Changedopen_router.endpoints.list(): response.data.endpoints[].pricing.overrides[] Changedopen_router.models.get(): response.data.pricing.overrides[] Changedopen_router.models.list(): response.data[].pricing.overrides[] Changedopen_router.models.list_for_user(): response.data[].pricing.overrides[] ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.images.generate(): response Changed
open_router.images.generate(): response ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
open_router.embeddings.list_models(): response.data[].pricing.overrides Added
open_router.embeddings.list_models(): response.data[].pricing.overrides Addedopen_router.endpoints.list_zdr_endpoints(): response.data[].pricing.overrides Addedopen_router.endpoints.list(): response.data.endpoints[].pricing.overrides Addedopen_router.models.get(): response.data.pricing.overrides Addedopen_router.models.list(): response.data[].pricing.overrides Addedopen_router.models.list_for_user(): response.data[].pricing.overrides AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.images.generate(): request.provider Changed
open_router.images.generate(): request.provider ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.input.union(Array<>)[].union(AdditionalToolsItem).tools[] Changed (Breaking ⚠️)open_router.presets.create_presets_responses():
request.input.union(Array<>)[].union(AdditionalToolsItem).tools[] Changed (Breaking ⚠️)open_router.presets.create_presets_messages():
request.tools[] Changed (Breaking ⚠️)open_router.models.list():
request Changedresponse Changedopen_router.observability.list(): request Changedopen_router.guardrails.list_guardrail_member_assignments(): request Changedopen_router.guardrails.list_key_assignments(): request Changedopen_router.guardrails.list_member_assignments(): request Changedopen_router.guardrails.list(): request Changedopen_router.models.list_for_user():
request Changedresponse Changedopen_router.guardrails.list_guardrail_key_assignments(): request Changedopen_router.organization.list_members(): request Changedopen_router.presets.list(): request Changedopen_router.embeddings.list_models():
request Changedresponse Changedopen_router.byok.list(): request Changedopen_router.presets.list_versions(): request Changedopen_router.workspaces.list(): request Changedopen_router.workspaces.list_members(): request ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.provider.ignore[].union(ProviderName).enum(meta) Addedopen_router.byok.list():
request.provider Changedresponse.data[].provider.enum(meta) Addedopen_router.byok.create():
request.provider.enum(meta) Addedresponse.data.provider.enum(meta) Addedopen_router.byok.get(): response.data.provider.enum(meta) Addedopen_router.byok.update(): response.data.provider.enum(meta) Addedopen_router.chat.send():
request.provider.ignore[].union(ProviderName).enum(meta) Addedopen_router.embeddings.generate():
request.provider.ignore[].union(ProviderName).enum(meta) Addedopen_router.endpoints.list_zdr_endpoints(): response.data[].provider_name.enum(meta) Addedopen_router.endpoints.list(): response.data.endpoints[].provider_name.enum(meta) Addedopen_router.presets.create_presets_chat_completions():
request.provider.ignore[].union(ProviderName).enum(meta) Addedopen_router.presets.create_presets_messages():
request.provider.ignore[].union(ProviderName).enum(meta) Addedopen_router.presets.create_presets_responses():
request.provider.ignore[].union(ProviderName).enum(meta) Addedopen_router.rerank.rerank():
request.provider.ignore[].union(ProviderName).enum(meta) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.provider.ignore[].union(ProviderName).enum(deepgram) Addedopen_router.tts.create_speech():
request.provider.options.deepgram Addedopen_router.stt.create_transcription():
request.provider.options.deepgram Addedopen_router.byok.list():
request.provider Changedresponse.data[].provider.enum(deepgram) Addedopen_router.byok.create():
request.provider.enum(deepgram) Addedresponse.data.provider.enum(deepgram) Addedopen_router.byok.get(): response.data.provider.enum(deepgram) Addedopen_router.byok.update(): response.data.provider.enum(deepgram) Addedopen_router.chat.send():
request.provider.ignore[].union(ProviderName).enum(deepgram) Addedopen_router.embeddings.generate():
request.provider.ignore[].union(ProviderName).enum(deepgram) Addedopen_router.endpoints.list_zdr_endpoints(): response.data[].provider_name.enum(deepgram) Addedopen_router.endpoints.list(): response.data.endpoints[].provider_name.enum(deepgram) Addedopen_router.generations.get_generation(): response.data.provider_responses[].provider_name.enum(deepgram) Addedopen_router.images.generate():
request.provider.options.deepgram Addedopen_router.presets.create_presets_chat_completions():
request.provider.ignore[].union(ProviderName).enum(deepgram) Addedopen_router.presets.create_presets_messages():
request.provider.ignore[].union(ProviderName).enum(deepgram) Addedopen_router.presets.create_presets_responses():
request.provider.ignore[].union(ProviderName).enum(deepgram) Addedopen_router.rerank.rerank():
request.provider.ignore[].union(ProviderName).enum(deepgram) Addedopen_router.video_generation.generate():
request.provider.options.deepgram AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.analytics.query_analytics(): request Changed
open_router.beta.analytics.query_analytics(): request ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.input.union(Array<>)[] Changedopen_router.presets.create_presets_responses():
request.input.union(Array<>)[] ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.input.union(Array<>)[].union(AdditionalToolsItem) Addedopen_router.presets.create_presets_responses():
request.input.union(Array<>)[].union(AdditionalToolsItem) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.tts.create_speech():
open_router.tts.create_speech():
request.provider.options Changed (Breaking ⚠️)open_router.stt.create_transcription():
request.provider.options Changed (Breaking ⚠️)open_router.byok.list():
request.provider Changed (Breaking ⚠️)response.data[].provider Changed (Breaking ⚠️)open_router.byok.create():
request.provider Changed (Breaking ⚠️)response.data.provider Changed (Breaking ⚠️)open_router.byok.get(): response.data.provider Changed (Breaking ⚠️)open_router.byok.update(): response.data.provider Changed (Breaking ⚠️)open_router.images.generate():
request.provider.options Changed (Breaking ⚠️)open_router.video_generation.generate():
request.provider.options Changed (Breaking ⚠️)open_router.generations.submit_feedback(): AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.tools[].union(image_generation) Changed (Breaking ⚠️)response Changed (Breaking ⚠️)open_router.presets.create_presets_responses():
request.tools[].union(image_generation) Changed (Breaking ⚠️)Generated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request Changedresponse Changedopen_router.presets.create_presets_responses(): request ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.reasoning.mode Addedresponse Changedopen_router.presets.create_presets_responses():
request.reasoning.mode AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
request.messages[].union(assistant).reasoning_details[].union(reasoning.server_tool_call) Added
open_router.chat.send():
request.messages[].union(assistant).reasoning_details[].union(reasoning.server_tool_call) Addedresponse Changedopen_router.presets.create_presets_chat_completions():
request.messages[].union(assistant).reasoning_details[].union(reasoning.server_tool_call) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.generations.get_generation(): response.data.provider_responses[].routed_service_tier Added
open_router.generations.get_generation(): response.data.provider_responses[].routed_service_tier AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.images.generate(): response.[].data.union(image_generation.text_chunk) Added
open_router.images.generate(): response.[].data.union(image_generation.text_chunk) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
open_router.images.generate(): error.status[413] Added
open_router.images.generate(): error.status[413] AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
request.tools[].union(FusionServerTool_OpenRouter) Added
open_router.chat.send():
request.tools[].union(FusionServerTool_OpenRouter) Addedopen_router.presets.create_presets_chat_completions():
request.tools[].union(FusionServerTool_OpenRouter) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.stt.create_transcription():
open_router.stt.create_transcription():
request Changedresponse Changedopen_router.stt.create_transcription_multipart():
request Changedresponse Changedopen_router.datasets.get_rankings_daily(): request ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
open_router.models.list(): request Changed
open_router.models.list(): request ChangedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.stt.create_transcription_multipart(): Added
open_router.stt.create_transcription_multipart(): Addedopen_router.beta.responses.send():
request.plugins[].union(pareto-router).price_source Addedopen_router.chat.send():
request.plugins[].union(pareto-router).price_source Addedopen_router.presets.create_presets_chat_completions():
request.plugins[].union(pareto-router).price_source Addedopen_router.presets.create_presets_messages():
request.plugins[].union(pareto-router).price_source Addedopen_router.presets.create_presets_responses():
request.plugins[].union(pareto-router).price_source AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.input.union(Array<>)[].union(OutputFilesServerToolItem) Addedresponse Changedopen_router.presets.create_presets_responses():
request.input.union(Array<>)[].union(OutputFilesServerToolItem) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.workspaces.list_members(): Added
open_router.workspaces.list_members(): AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.tools[].union(openrouter:files) Addedopen_router.chat.send():
request.tools[].union(FilesServerTool) Addedopen_router.presets.create_presets_chat_completions():
request.tools[].union(FilesServerTool) Addedopen_router.presets.create_presets_responses():
request.tools[].union(openrouter:files) AddedGenerated with Speakeasy CLI 1.787.0
Publishing Completed
Speakeasy CLI 1.787.0 (2.914.0) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request.input.[array].[].[output_fusion_server_tool_item].sources Addedresponse Changedopen_router.presets.create_presets_responses():
request.input.[array].[].[output_fusion_server_tool_item].sources AddedGenerated with Speakeasy CLI 1.680.0
Publishing Completed
open_router.tts.create_speech():
open_router.tts.create_speech():
request.provider.options.quiver Addedopen_router.stt.create_transcription():
request.provider.options.quiver Addedopen_router.byok.list(): request.provider Changedopen_router.images.generate():
request.provider.options.quiver Addedopen_router.video_generation.generate():
request.provider.options.quiver AddedGenerated with Speakeasy CLI 1.680.0
Publishing Completed
open_router.video_generation.get_video_content(): response.status[200] Changed Breaking :warning:
open_router.video_generation.get_video_content(): response.status[200] Changed Breaking :warning:Generated with Speakeasy CLI 1.680.0
Publishing Completed
open_router.images.generate(): response Changed
open_router.images.generate(): response ChangedGenerated with Speakeasy CLI 1.680.0
Publishing Completed
open_router.embeddings.list_models(): response.data.[].pricing.input_cache_write_1h Added
open_router.embeddings.list_models(): response.data.[].pricing.input_cache_write_1h Addedopen_router.endpoints.list_zdr_endpoints(): response.data.[].pricing.input_cache_write_1h Addedopen_router.endpoints.list(): response.data.endpoints.[].pricing.input_cache_write_1h Addedopen_router.models.get(): response.data.pricing.input_cache_write_1h Addedopen_router.models.list(): response.data.[].pricing.input_cache_write_1h Addedopen_router.models.list_for_user(): response.data.[].pricing.input_cache_write_1h AddedGenerated with Speakeasy CLI 1.680.0
Publishing Completed
Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request Changedresponse Changed Breaking :warning:open_router.tts.create_speech():
request.provider.options Changedopen_router.chat.send(): response Changedopen_router.images.list_models(): Addedopen_router.images.list_model_endpoints(): Addedopen_router.datasets.get_benchmarks_artificial_analysis(): Deleted Breaking :warning:open_router.datasets.get_benchmarks_design_arena(): Deleted Breaking :warning:open_router.classifications.get_task_classifications(): Addedopen_router.benchmarks.get_benchmarks(): Addedopen_router.images.generate(): Addedopen_router.stt.create_transcription():
request.provider.options Changedopen_router.byok.list(): request.provider Changedopen_router.embeddings.generate(): response.usage Changedopen_router.embeddings.list_models(): response.data.[].reasoning Addedopen_router.models.get(): response.data.reasoning Addedopen_router.models.list():
request.sort Changedresponse.data.[].reasoning Addedopen_router.models.list_for_user(): response.data.[].reasoning Addedopen_router.presets.create_presets_responses(): request Changedopen_router.video_generation.generate():
request.provider.options ChangedGenerated with Speakeasy CLI 1.680.0
Publishing Completed
open_router.beta.responses.send():
open_router.beta.responses.send():
request Changed Breaking :warning:response Changed Breaking :warning:open_router.presets.create_presets_responses(): request Changed Breaking :warning:open_router.presets.create_presets_chat_completions(): request Changed Breaking :warning:open_router.chat.send(): request Changed Breaking :warning:open_router.workspaces.set_budget(): Addedopen_router.o_auth.create_auth_code():
request.workspace_id Addederror.status[403] Addedopen_router.files.download(): Addedopen_router.models.get(): Addedopen_router.workspaces.list_budgets(): Addedopen_router.workspaces.delete_budget(): Addedopen_router.datasets.get_benchmarks_artificial_analysis(): Addedopen_router.beta.analytics.query_analytics(): response.data.warnings Addedopen_router.files.delete(): Addedopen_router.files.retrieve(): Addedopen_router.files.upload(): Addedopen_router.embeddings.list_models(): response.data.[].benchmarks Addedopen_router.models.list():
request Changedresponse.data.[].benchmarks Addedopen_router.models.list_for_user(): response.data.[].benchmarks Addedopen_router.files.list(): Addedopen_router.presets.create_presets_messages(): request Changedopen_router.datasets.get_benchmarks_design_arena(): AddedGenerated with Speakeasy CLI 1.680.0
Publishing Completed
request Changed Breaking :warning:
open_router.chat.send():
request Changed Breaking :warning:response Changederror Changedopen_router.video_generation.generate():
request Changed Breaking :warning:error.openrouter_metadata Addedopen_router.beta.responses.send():
request Changed Breaking :warning:response Changed Breaking :warning:error Changedopen_router.rerank.rerank():
request.documents.[] Changed Breaking :warning:response.results.[].document Changederror.openrouter_metadata Addedopen_router.generations.get_generation():
response.data Changed Breaking :warning:error.openrouter_metadata Addedopen_router.o_auth.create_auth_code(): error.openrouter_metadata Addedopen_router.endpoints.list(): error.openrouter_metadata Addedopen_router.embeddings.list_models():
response.data.[].supported_voices Addederror.openrouter_metadata Addedopen_router.byok.update(): Addedopen_router.datasets.get_app_rankings(): Addedopen_router.datasets.get_rankings_daily(): Addedopen_router.generations.list_generation_content(): Addedopen_router.observability.list(): Addedopen_router.observability.create(): Addedopen_router.observability.delete(): Addedopen_router.observability.get(): Addedopen_router.observability.update(): Addedopen_router.presets.list(): Addedopen_router.presets.get(): Addedopen_router.presets.create_presets_chat_completions(): Addedopen_router.presets.create_presets_messages(): Addedopen_router.presets.create_presets_responses(): Addedopen_router.presets.list_versions(): Addedopen_router.presets.get_version(): Addedopen_router.workspaces.list(): Addedopen_router.workspaces.create(): Addedopen_router.workspaces.delete(): Addedopen_router.workspaces.get(): Addedopen_router.workspaces.update(): Addedopen_router.workspaces.bulk_add_members(): Addedopen_router.workspaces.bulk_remove_members(): Addedopen_router.analytics.get_user_activity(): error.openrouter_metadata Addedopen_router.o_auth.exchange_auth_code_for_api_key(): error.openrouter_metadata Addedopen_router.beta.analytics.get_analytics_meta(): Addedopen_router.byok.create(): Addedopen_router.credits.get_credits(): error.openrouter_metadata Addedopen_router.embeddings.generate():
request.input.[array].[].content.[] Changedresponse.usage.prompt_tokens_details Addederror.openrouter_metadata Addedopen_router.byok.get(): Addedopen_router.byok.delete(): Addedopen_router.guardrails.list_guardrail_key_assignments(): error.openrouter_metadata Addedopen_router.byok.list(): Addedopen_router.guardrails.list():
request.workspace_id Addedresponse.data.[] Changederror.openrouter_metadata Addedopen_router.guardrails.create():
request Changedresponse.data Changederror Changedopen_router.guardrails.delete(): error.openrouter_metadata Addedopen_router.guardrails.get():
response.data Changederror.openrouter_metadata Addedopen_router.guardrails.update():
request Changedresponse.data Changederror.openrouter_metadata Addedopen_router.endpoints.list_zdr_endpoints(): error.openrouter_metadata Addedopen_router.guardrails.bulk_assign_keys(): error.openrouter_metadata Addedopen_router.guardrails.bulk_unassign_keys(): error.openrouter_metadata Addedopen_router.guardrails.list_guardrail_member_assignments(): error.openrouter_metadata Addedopen_router.guardrails.bulk_assign_members(): error.openrouter_metadata Addedopen_router.guardrails.bulk_unassign_members(): error.openrouter_metadata Addedopen_router.guardrails.list_key_assignments(): error.openrouter_metadata Addedopen_router.guardrails.list_member_assignments(): error.openrouter_metadata Addedopen_router.api_keys.get_current_key_metadata(): error.openrouter_metadata Addedopen_router.api_keys.list():
request.workspace_id Addedresponse.data.[].workspace_id Addederror.openrouter_metadata Addedopen_router.api_keys.create():
request.workspace_id Addedresponse.data.workspace_id Addederror Changedopen_router.api_keys.delete(): error.openrouter_metadata Addedopen_router.api_keys.get():
response.data.workspace_id Addederror.openrouter_metadata Addedopen_router.api_keys.update():
response.data.workspace_id Addederror.openrouter_metadata Addedopen_router.models.list():
request.sort Addedresponse.data.[].supported_voices Addederror.openrouter_metadata Addedopen_router.models.count(): error.openrouter_metadata Addedopen_router.models.list_for_user():
response.data.[].supported_voices Addederror.openrouter_metadata Addedopen_router.organization.list_members(): error.openrouter_metadata Addedopen_router.providers.list(): error.openrouter_metadata Addedopen_router.stt.create_transcription(): Addedopen_router.tts.create_speech(): Addedopen_router.beta.analytics.query_analytics(): Addedopen_router.video_generation.get_generation(): error.openrouter_metadata Addedopen_router.video_generation.get_video_content(): error.openrouter_metadata Addedopen_router.video_generation.list_videos_models(): error.openrouter_metadata AddedGenerated with Speakeasy CLI 1.680.0
Publishing Completed
Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
Speakeasy CLI 1.680.0 (2.788.4) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
Speakeasy CLI 1.666.0 (2.768.0) https://github.com/speakeasy-api/speakeasy
Based on:
Publishing Completed
Your coding agent can read these notes before it upgrades. Set up the MCP server →