Compare commits

..
Author SHA1 Message Date
OpenRouter SDK Bot 8277baf0d6 chore: update OpenAPI spec [sdk-bot] 2026-04-13 02:48:52 +00:00
+32 -210
View File
@@ -1326,16 +1326,12 @@ components:
nullable: true
type: array
new_lines:
nullable: true
type: integer
new_start:
nullable: true
type: integer
old_lines:
nullable: true
type: integer
old_start:
nullable: true
type: integer
type:
enum:
@@ -1418,13 +1414,10 @@ components:
- pdf
type: string
num_lines:
nullable: true
type: integer
start_line:
nullable: true
type: integer
total_lines:
nullable: true
type: integer
type:
enum:
@@ -1681,10 +1674,8 @@ components:
cache_creation:
$ref: '#/components/schemas/AnthropicCacheCreation'
cache_creation_input_tokens:
nullable: true
type: integer
cache_read_input_tokens:
nullable: true
type: integer
inference_geo:
nullable: true
@@ -2713,7 +2704,6 @@ components:
nullable: true
type: boolean
completed_at:
nullable: true
type: integer
created_at:
type: integer
@@ -2721,7 +2711,6 @@ components:
$ref: '#/components/schemas/ResponsesErrorField'
frequency_penalty:
format: double
nullable: true
type: number
id:
type: string
@@ -2730,10 +2719,8 @@ components:
instructions:
$ref: '#/components/schemas/BaseInputs'
max_output_tokens:
nullable: true
type: integer
max_tool_calls:
nullable: true
type: integer
metadata:
$ref: '#/components/schemas/RequestMetadata'
@@ -2768,7 +2755,6 @@ components:
type: boolean
presence_penalty:
format: double
nullable: true
type: number
previous_response_id:
nullable: true
@@ -2791,7 +2777,6 @@ components:
type: boolean
temperature:
format: double
nullable: true
type: number
text:
$ref: '#/components/schemas/TextConfig'
@@ -2840,7 +2825,6 @@ components:
type: integer
top_p:
format: double
nullable: true
type: number
truncation:
$ref: '#/components/schemas/Truncation'
@@ -3511,8 +3495,6 @@ components:
- function
type: object
- $ref: '#/components/schemas/DatetimeServerTool'
- $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
- $ref: '#/components/schemas/ChatSearchModelsServerTool'
- $ref: '#/components/schemas/OpenRouterWebSearchServerTool'
- $ref: '#/components/schemas/ChatWebSearchShorthand'
description: Tool definition for function calling (regular function or OpenRouter built-in server tool)
@@ -3671,10 +3653,22 @@ components:
description: Frequency penalty (-2.0 to 2.0)
example: 0
format: double
nullable: true
type: number
image_config:
$ref: '#/components/schemas/ImageConfig'
additionalProperties:
anyOf:
- type: string
- format: double
type: number
- items:
nullable: true
type: array
description: >-
Provider-specific image configuration options. Keys and values vary by model/provider. See
https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.
example:
aspect_ratio: '16:9'
type: object
logit_bias:
additionalProperties:
format: double
@@ -3692,12 +3686,10 @@ components:
max_completion_tokens:
description: Maximum tokens in completion
example: 100
nullable: true
type: integer
max_tokens:
description: 'Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16.'
example: 100
nullable: true
type: integer
messages:
description: List of messages for the conversation
@@ -3763,7 +3755,6 @@ components:
description: Presence penalty (-2.0 to 2.0)
example: 0
format: double
nullable: true
type: number
provider:
$ref: '#/components/schemas/ProviderPreferences'
@@ -3812,7 +3803,6 @@ components:
seed:
description: Random seed for deterministic outputs
example: 42
nullable: true
type: integer
service_tier:
description: The service tier to use for processing this request.
@@ -3856,7 +3846,6 @@ components:
description: Sampling temperature (0-2)
example: 0.7
format: double
nullable: true
type: number
tool_choice:
$ref: '#/components/schemas/ChatToolChoice'
@@ -3873,13 +3862,11 @@ components:
top_logprobs:
description: Number of top log probabilities to return (0-20)
example: 5
nullable: true
type: integer
top_p:
description: Nucleus sampling parameter (0-1)
example: 1
format: double
nullable: true
type: number
trace:
$ref: '#/components/schemas/TraceConfig'
@@ -3949,22 +3936,6 @@ components:
- object
- system_fingerprint
type: object
ChatSearchModelsServerTool:
description: 'OpenRouter built-in server tool: searches and filters AI models available on OpenRouter'
example:
parameters:
max_results: 5
type: openrouter:experimental__search_models
properties:
parameters:
$ref: '#/components/schemas/SearchModelsServerToolConfig'
type:
enum:
- openrouter:experimental__search_models
type: string
required:
- type
type: object
ChatStreamChoice:
description: Streaming completion choice chunk
example:
@@ -4358,19 +4329,15 @@ components:
properties:
accepted_prediction_tokens:
description: Accepted prediction tokens
nullable: true
type: integer
audio_tokens:
description: Tokens used for audio output
nullable: true
type: integer
reasoning_tokens:
description: Tokens used for reasoning
nullable: true
type: integer
rejected_prediction_tokens:
description: Rejected prediction tokens
nullable: true
type: integer
type: object
prompt_tokens:
@@ -4912,7 +4879,6 @@ components:
description: Spending limit in USD
example: 50
format: double
nullable: true
type: number
name:
description: Name for the new guardrail
@@ -5036,26 +5002,22 @@ components:
properties:
frequency_penalty:
format: double
nullable: true
type: number
presence_penalty:
format: double
nullable: true
type: number
repetition_penalty:
format: double
nullable: true
type: number
temperature:
format: double
nullable: true
type: number
top_k:
minimum: 0
nullable: true
type: integer
top_p:
format: double
nullable: true
type: number
type: object
DeleteGuardrailResponse:
@@ -5735,7 +5697,6 @@ components:
description: Spending limit in USD
example: 100
format: double
nullable: true
type: number
name:
description: Name of the guardrail
@@ -5763,22 +5724,6 @@ components:
example: monthly
nullable: true
type: string
ImageConfig:
additionalProperties:
anyOf:
- type: string
- format: double
type: number
- items:
nullable: true
type: array
description: >-
Provider-specific image configuration options. Keys and values vary by model/provider. See
https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details.
example:
aspect_ratio: '16:9'
quality: high
type: object
ImageGenCallCompletedEvent:
allOf:
- $ref: '#/components/schemas/OpenAIResponsesImageGenCallCompleted'
@@ -5892,46 +5837,6 @@ components:
required:
- type
type: object
ImageGenerationServerTool_OpenRouter:
description: 'OpenRouter built-in server tool: generates images from text prompts using an image generation model'
example:
parameters:
model: openai/gpt-image-1
quality: high
size: 1024x1024
type: openrouter:image_generation
properties:
parameters:
$ref: '#/components/schemas/ImageGenerationServerToolConfig'
type:
enum:
- openrouter:image_generation
type: string
required:
- type
type: object
ImageGenerationServerToolConfig:
additionalProperties:
anyOf:
- type: string
- format: double
type: number
- items:
nullable: true
type: array
description: >-
Configuration for the openrouter:image_generation server tool. Accepts all image_config params (aspect_ratio,
quality, size, background, output_format, output_compression, moderation, etc.) plus a model field.
example:
aspect_ratio: '16:9'
model: openai/gpt-image-1
quality: high
properties:
model:
description: Which image generation model to use (e.g. "openai/gpt-image-1"). Defaults to "openai/gpt-image-1".
example: openai/gpt-image-1
type: string
type: object
ImageGenerationStatus:
enum:
- in_progress
@@ -7573,7 +7478,6 @@ components:
cache_control:
$ref: '#/components/schemas/AnthropicCacheControlDirective'
max_uses:
nullable: true
type: integer
name:
enum:
@@ -7611,7 +7515,6 @@ components:
cache_control:
$ref: '#/components/schemas/AnthropicCacheControlDirective'
max_uses:
nullable: true
type: integer
name:
enum:
@@ -7628,8 +7531,6 @@ components:
- name
type: object
- $ref: '#/components/schemas/DatetimeServerTool'
- $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
- $ref: '#/components/schemas/ChatSearchModelsServerTool'
- $ref: '#/components/schemas/OpenRouterWebSearchServerTool'
type: array
top_k:
@@ -7662,7 +7563,6 @@ components:
- properties:
cost:
format: double
nullable: true
type: number
cost_details:
nullable: true
@@ -7672,7 +7572,6 @@ components:
type: number
upstream_inference_cost:
format: double
nullable: true
type: number
upstream_inference_prompt_cost:
format: double
@@ -7809,7 +7708,6 @@ components:
- Crusoe
- DeepInfra
- DeepSeek
- DekaLLM
- Featherless
- Fireworks
- Friendli
@@ -7844,7 +7742,6 @@ components:
- Parasail
- Perplexity
- Phala
- Recraft
- Reka
- Relace
- SambaNova
@@ -8004,7 +7901,6 @@ components:
context_length:
description: Maximum context length in tokens
example: 8192
nullable: true
type: integer
created:
description: Unix timestamp of when the model was created
@@ -9970,22 +9866,18 @@ components:
p50:
description: Maximum p50 latency (seconds)
format: double
nullable: true
type: number
p75:
description: Maximum p75 latency (seconds)
format: double
nullable: true
type: number
p90:
description: Maximum p90 latency (seconds)
format: double
nullable: true
type: number
p99:
description: Maximum p99 latency (seconds)
format: double
nullable: true
type: number
type: object
PercentileStats:
@@ -10034,22 +9926,18 @@ components:
p50:
description: Minimum p50 throughput (tokens/sec)
format: double
nullable: true
type: number
p75:
description: Minimum p75 throughput (tokens/sec)
format: double
nullable: true
type: number
p90:
description: Minimum p90 throughput (tokens/sec)
format: double
nullable: true
type: number
p99:
description: Minimum p99 throughput (tokens/sec)
format: double
nullable: true
type: number
type: object
PerRequestLimits:
@@ -10201,7 +10089,6 @@ components:
- Crusoe
- DeepInfra
- DeepSeek
- DekaLLM
- Featherless
- Fireworks
- Friendli
@@ -10236,7 +10123,6 @@ components:
- Parasail
- Perplexity
- Phala
- Recraft
- Reka
- Relace
- SambaNova
@@ -10514,7 +10400,6 @@ components:
- Crusoe
- DeepInfra
- DeepSeek
- DekaLLM
- Featherless
- Fireworks
- Friendli
@@ -10549,7 +10434,6 @@ components:
- Parasail
- Perplexity
- Phala
- Recraft
- Reka
- Relace
- SambaNova
@@ -10658,10 +10542,8 @@ components:
latency_last_30m:
$ref: '#/components/schemas/PercentileStats'
max_completion_tokens:
nullable: true
type: integer
max_prompt_tokens:
nullable: true
type: integer
model_id:
description: The unique identifier for the model (permaslug)
@@ -10759,18 +10641,15 @@ components:
Uptime percentage over the last 1 day, calculated as successful requests / (successful + error requests) *
100. Rate-limited requests are excluded. Returns null if insufficient data.
format: double
nullable: true
type: number
uptime_last_30m:
format: double
nullable: true
type: number
uptime_last_5m:
description: >-
Uptime percentage over the last 5 minutes, calculated as successful requests / (successful + error requests)
* 100. Rate-limited requests are excluded. Returns null if insufficient data.
format: double
nullable: true
type: number
required:
- name
@@ -10879,7 +10758,6 @@ components:
nullable: true
type: boolean
max_tokens:
nullable: true
type: integer
type: object
description: Configuration for reasoning mode in the response
@@ -11358,10 +11236,19 @@ components:
type: boolean
frequency_penalty:
format: double
nullable: true
type: number
image_config:
$ref: '#/components/schemas/ImageConfig'
additionalProperties:
anyOf:
- type: string
- format: double
type: number
description: >-
Provider-specific image configuration options. Keys and values vary by model/provider. See
https://openrouter.ai/docs/features/multimodal/image-generation for more details.
example:
aspect_ratio: '16:9'
type: object
include:
items:
$ref: '#/components/schemas/ResponseIncludesEnum'
@@ -11373,10 +11260,8 @@ components:
nullable: true
type: string
max_output_tokens:
nullable: true
type: integer
max_tool_calls:
nullable: true
type: integer
metadata:
$ref: '#/components/schemas/RequestMetadata'
@@ -11419,7 +11304,6 @@ components:
type: array
presence_penalty:
format: double
nullable: true
type: number
previous_response_id:
nullable: true
@@ -11465,7 +11349,6 @@ components:
type: boolean
temperature:
format: double
nullable: true
type: number
text:
$ref: '#/components/schemas/TextExtendedConfig'
@@ -11510,18 +11393,14 @@ components:
- $ref: '#/components/schemas/ApplyPatchServerTool'
- $ref: '#/components/schemas/CustomTool'
- $ref: '#/components/schemas/DatetimeServerTool'
- $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
- $ref: '#/components/schemas/ChatSearchModelsServerTool'
- $ref: '#/components/schemas/WebSearchServerTool_OpenRouter'
type: array
top_k:
type: integer
top_logprobs:
nullable: true
type: integer
top_p:
format: double
nullable: true
type: number
trace:
$ref: '#/components/schemas/TraceConfig'
@@ -11543,16 +11422,6 @@ components:
- high
example: medium
type: string
SearchModelsServerToolConfig:
description: Configuration for the openrouter:experimental__search_models server tool
example:
max_results: 5
properties:
max_results:
description: Maximum number of models to return. Defaults to 5, max 20.
example: 5
type: integer
type: object
SearchQualityLevel:
description: >-
How much context to retrieve per result. Defaults to medium (15000 chars). Only applies when using the Exa
@@ -12031,7 +11900,6 @@ components:
context_length:
description: Context length from the top provider
example: 8192
nullable: true
type: integer
is_moderated:
description: Whether the top provider moderates content
@@ -12040,7 +11908,6 @@ components:
max_completion_tokens:
description: Maximum completion tokens from the top provider
example: 4096
nullable: true
type: integer
required:
- is_moderated
@@ -12203,7 +12070,6 @@ components:
description: New spending limit in USD
example: 75
format: double
nullable: true
type: number
name:
description: New name for the guardrail
@@ -12273,13 +12139,11 @@ components:
cost:
description: Cost of the completion
format: double
nullable: true
type: number
cost_details:
properties:
upstream_inference_cost:
format: double
nullable: true
type: number
upstream_inference_input_cost:
format: double
@@ -12332,7 +12196,8 @@ components:
duration:
description: Duration of the generated video in seconds
example: 8
minimum: 1
exclusiveMinimum: true
minimum: 0
type: integer
frame_images:
description: >-
@@ -12484,10 +12349,6 @@ components:
additionalProperties:
nullable: true
type: object
dekallm:
additionalProperties:
nullable: true
type: object
enfer:
additionalProperties:
nullable: true
@@ -12688,10 +12549,6 @@ components:
additionalProperties:
nullable: true
type: object
recraft:
additionalProperties:
nullable: true
type: object
recursal:
additionalProperties:
nullable: true
@@ -12865,7 +12722,6 @@ components:
cost:
description: The cost of the video generation in USD.
format: double
nullable: true
type: number
is_byok:
description: Whether the request was made using a Bring Your Own Key configuration.
@@ -14063,7 +13919,8 @@ paths:
dimensions:
description: The number of dimensions for the output embeddings
example: 1536
minimum: 1
exclusiveMinimum: 0
minimum: 0
type: integer
encoding_format:
description: The format of the output embeddings
@@ -14603,13 +14460,11 @@ paths:
app_id:
description: ID of the app that made the request
example: 12345
nullable: true
type: integer
cache_discount:
description: Discount applied due to caching
example: 0.0002
format: double
nullable: true
type: number
cancelled:
description: Whether the generation was cancelled
@@ -14634,7 +14489,6 @@ paths:
description: Time taken for generation in milliseconds
example: 1200
format: double
nullable: true
type: number
http_referer:
description: Referer header from the request
@@ -14652,7 +14506,6 @@ paths:
description: Total latency in milliseconds
example: 1250
format: double
nullable: true
type: number
model:
description: Model used for the generation
@@ -14662,7 +14515,6 @@ paths:
description: Moderation latency in milliseconds
example: 50
format: double
nullable: true
type: number
native_finish_reason:
description: Native finish reason as reported by provider
@@ -14672,47 +14524,38 @@ paths:
native_tokens_cached:
description: Native cached tokens as reported by provider
example: 3
nullable: true
type: integer
native_tokens_completion:
description: Native completion tokens as reported by provider
example: 25
nullable: true
type: integer
native_tokens_completion_images:
description: Native completion image tokens as reported by provider
example: 0
nullable: true
type: integer
native_tokens_prompt:
description: Native prompt tokens as reported by provider
example: 10
nullable: true
type: integer
native_tokens_reasoning:
description: Native reasoning tokens as reported by provider
example: 5
nullable: true
type: integer
num_input_audio_prompt:
description: Number of audio inputs in the prompt
example: 0
nullable: true
type: integer
num_media_completion:
description: Number of media items in the completion
example: 0
nullable: true
type: integer
num_media_prompt:
description: Number of media items in the prompt
example: 1
nullable: true
type: integer
num_search_results:
description: Number of search results included
example: 5
nullable: true
type: integer
origin:
description: Origin URL of the request
@@ -14751,12 +14594,10 @@ paths:
tokens_completion:
description: Number of tokens in the completion
example: 25
nullable: true
type: integer
tokens_prompt:
description: Number of tokens in the prompt
example: 10
nullable: true
type: integer
total_cost:
description: Total cost of the generation in USD
@@ -14772,7 +14613,6 @@ paths:
description: Cost charged by the upstream provider
example: 0.0012
format: double
nullable: true
type: number
usage:
description: Usage amount in USD
@@ -14923,7 +14763,6 @@ paths:
description: Number of records to skip for pagination
example: 0
minimum: 0
nullable: true
type: integer
- description: Maximum number of records to return (max 100)
in: query
@@ -15319,7 +15158,6 @@ paths:
description: Number of records to skip for pagination
example: 0
minimum: 0
nullable: true
type: integer
- description: Maximum number of records to return (max 100)
in: query
@@ -15572,7 +15410,6 @@ paths:
description: Number of records to skip for pagination
example: 0
minimum: 0
nullable: true
type: integer
- description: Maximum number of records to return (max 100)
in: query
@@ -15817,7 +15654,6 @@ paths:
description: Number of records to skip for pagination
example: 0
minimum: 0
nullable: true
type: integer
- description: Maximum number of records to return (max 100)
in: query
@@ -15896,7 +15732,6 @@ paths:
description: Number of records to skip for pagination
example: 0
minimum: 0
nullable: true
type: integer
- description: Maximum number of records to return (max 100)
in: query
@@ -16101,13 +15936,11 @@ paths:
description: Spending limit for the API key in USD
example: 100
format: double
nullable: true
type: number
limit_remaining:
description: Remaining spending limit in USD
example: 74.5
format: double
nullable: true
type: number
limit_reset:
description: Type of limit reset for the API key
@@ -16231,7 +16064,6 @@ paths:
description: Number of API keys to skip for pagination
example: 0
minimum: 0
nullable: true
type: integer
responses:
'200':
@@ -16365,13 +16197,11 @@ paths:
description: Spending limit for the API key in USD
example: 100
format: double
nullable: true
type: number
limit_remaining:
description: Remaining spending limit in USD
example: 74.5
format: double
nullable: true
type: number
limit_reset:
description: Type of limit reset for the API key
@@ -16513,7 +16343,6 @@ paths:
description: Optional spending limit for the API key in USD
example: 50
format: double
nullable: true
type: number
limit_reset:
description: >-
@@ -16669,13 +16498,11 @@ paths:
description: Spending limit for the API key in USD
example: 100
format: double
nullable: true
type: number
limit_remaining:
description: Remaining spending limit in USD
example: 74.5
format: double
nullable: true
type: number
limit_reset:
description: Type of limit reset for the API key
@@ -17004,13 +16831,11 @@ paths:
description: Spending limit for the API key in USD
example: 100
format: double
nullable: true
type: number
limit_remaining:
description: Remaining spending limit in USD
example: 74.5
format: double
nullable: true
type: number
limit_reset:
description: Type of limit reset for the API key
@@ -17156,7 +16981,6 @@ paths:
description: New spending limit for the API key in USD
example: 75
format: double
nullable: true
type: number
limit_reset:
description: >-
@@ -17307,13 +17131,11 @@ paths:
description: Spending limit for the API key in USD
example: 100
format: double
nullable: true
type: number
limit_remaining:
description: Remaining spending limit in USD
example: 74.5
format: double
nullable: true
type: number
limit_reset:
description: Type of limit reset for the API key
@@ -17983,7 +17805,6 @@ paths:
description: Number of records to skip for pagination
example: 0
minimum: 0
nullable: true
type: integer
- description: Maximum number of records to return (max 100)
in: query
@@ -18746,7 +18567,8 @@ paths:
top_n:
description: Number of most relevant documents to return
example: 3
minimum: 1
exclusiveMinimum: 0
minimum: 0
type: integer
required:
- model