chore: update OpenAPI spec from monorepo (#435)

Co-authored-by: OpenRouter SDK Bot <sdk-bot@openrouter.ai>
This commit is contained in:
openrouter-docs-sync[bot]
2026-07-13 17:53:31 +00:00
committed by GitHub
co-authored by OpenRouter SDK Bot
parent 30053d89b3
commit cb1b9c5ac6
+385 -118
View File
@@ -199,7 +199,7 @@ components:
- $ref: '#/components/schemas/FilesServerTool'
- $ref: '#/components/schemas/FusionServerTool_OpenRouter'
- $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
- $ref: '#/components/schemas/ChatSearchModelsServerTool'
- $ref: '#/components/schemas/SearchModelsServerTool_OpenRouter'
- $ref: '#/components/schemas/WebFetchServerTool'
- $ref: '#/components/schemas/WebSearchServerTool_OpenRouter'
- $ref: '#/components/schemas/ApplyPatchServerTool_OpenRouter'
@@ -965,6 +965,42 @@ components:
- start_block_index
- end_block_index
type: object
AnthropicCitationSearchResultLocationParam:
example:
cited_text: Example cited text
end_block_index: 1
search_result_index: 0
source: example_source
start_block_index: 0
title: Example Result
type: search_result_location
properties:
cited_text:
type: string
end_block_index:
type: integer
search_result_index:
type: integer
source:
type: string
start_block_index:
type: integer
title:
nullable: true
type: string
type:
enum:
- search_result_location
type: string
required:
- type
- cited_text
- search_result_index
- source
- title
- start_block_index
- end_block_index
type: object
AnthropicCitationWebSearchResultLocation:
example:
cited_text: Example cited text
@@ -993,6 +1029,34 @@ components:
- title
- url
type: object
AnthropicCitationWebSearchResultLocationParam:
example:
cited_text: Example cited text
encrypted_index: enc_idx_0
title: Example Page
type: web_search_result_location
url: https://example.com
properties:
cited_text:
type: string
encrypted_index:
type: string
title:
nullable: true
type: string
type:
enum:
- web_search_result_location
type: string
url:
type: string
required:
- type
- cited_text
- encrypted_index
- title
- url
type: object
AnthropicCodeExecution20250825Caller:
example:
tool_id: toolu_01abc
@@ -1607,15 +1671,15 @@ components:
char_location: '#/components/schemas/AnthropicCitationCharLocationParam'
content_block_location: '#/components/schemas/AnthropicCitationContentBlockLocationParam'
page_location: '#/components/schemas/AnthropicCitationPageLocationParam'
search_result_location: '#/components/schemas/AnthropicCitationSearchResultLocation'
web_search_result_location: '#/components/schemas/AnthropicCitationWebSearchResultLocation'
search_result_location: '#/components/schemas/AnthropicCitationSearchResultLocationParam'
web_search_result_location: '#/components/schemas/AnthropicCitationWebSearchResultLocationParam'
propertyName: type
oneOf:
- $ref: '#/components/schemas/AnthropicCitationCharLocationParam'
- $ref: '#/components/schemas/AnthropicCitationPageLocationParam'
- $ref: '#/components/schemas/AnthropicCitationContentBlockLocationParam'
- $ref: '#/components/schemas/AnthropicCitationWebSearchResultLocation'
- $ref: '#/components/schemas/AnthropicCitationSearchResultLocation'
- $ref: '#/components/schemas/AnthropicCitationWebSearchResultLocationParam'
- $ref: '#/components/schemas/AnthropicCitationSearchResultLocationParam'
nullable: true
type: array
text:
@@ -4596,6 +4660,18 @@ components:
- type
- grammar
type: object
ChatFormatJsonObjectConfig:
description: JSON object response format
example:
type: json_object
properties:
type:
enum:
- json_object
type: string
required:
- type
type: object
ChatFormatJsonSchemaConfig:
description: JSON Schema response format for structured outputs
example:
@@ -5026,7 +5102,7 @@ components:
discriminator:
mapping:
grammar: '#/components/schemas/ChatFormatGrammarConfig'
json_object: '#/components/schemas/FormatJsonObjectConfig'
json_object: '#/components/schemas/ChatFormatJsonObjectConfig'
json_schema: '#/components/schemas/ChatFormatJsonSchemaConfig'
python: '#/components/schemas/ChatFormatPythonConfig'
text: '#/components/schemas/ChatFormatTextConfig'
@@ -5035,7 +5111,7 @@ components:
type: json_object
oneOf:
- $ref: '#/components/schemas/ChatFormatTextConfig'
- $ref: '#/components/schemas/FormatJsonObjectConfig'
- $ref: '#/components/schemas/ChatFormatJsonObjectConfig'
- $ref: '#/components/schemas/ChatFormatJsonSchemaConfig'
- $ref: '#/components/schemas/ChatFormatGrammarConfig'
- $ref: '#/components/schemas/ChatFormatPythonConfig'
@@ -6783,7 +6859,7 @@ components:
example: true
type: boolean
filter_rules:
$ref: '#/components/schemas/ObservabilityFilterRulesConfig'
$ref: '#/components/schemas/ObservabilityFilterRulesConfigNullable'
name:
description: Human-readable name for the destination.
example: Production Langfuse
@@ -10041,6 +10117,15 @@ components:
- text
- phase
type: object
ImageInputModality:
enum:
- text
- image
- file
- audio
- video
example: text
type: string
ImageModelArchitecture:
example:
input_modalities:
@@ -10052,7 +10137,7 @@ components:
input_modalities:
description: Supported input modalities
items:
$ref: '#/components/schemas/InputModality'
$ref: '#/components/schemas/ImageInputModality'
type: array
output_modalities:
description: Supported output modalities
@@ -10768,11 +10853,22 @@ components:
- input_video
type: string
video_url:
$ref: '#/components/schemas/ChatContentVideoInput'
$ref: '#/components/schemas/Legacy_ChatContentVideoInput'
required:
- type
- video_url
type: object
Legacy_ChatContentVideoInput:
description: Video input object
example:
url: https://example.com/video.mp4
properties:
url:
description: 'URL of the video (data: URLs supported)'
type: string
required:
- url
type: object
Legacy_WebSearchServerTool:
description: Web search tool configuration
example:
@@ -12570,7 +12666,7 @@ components:
- $ref: '#/components/schemas/BashServerTool'
- $ref: '#/components/schemas/DatetimeServerTool'
- $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
- $ref: '#/components/schemas/ChatSearchModelsServerTool'
- $ref: '#/components/schemas/MessagesSearchModelsServerTool'
- $ref: '#/components/schemas/WebFetchServerTool'
- $ref: '#/components/schemas/OpenRouterWebSearchServerTool'
- additionalProperties:
@@ -12680,6 +12776,22 @@ components:
output_tokens: 15
server_tool_use: null
service_tier: standard
MessagesSearchModelsServerTool:
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
MessagesStartEvent:
description: Event sent at the start of a streaming message
example:
@@ -13101,34 +13213,7 @@ components:
$ref: '#/components/schemas/InputModality'
type: array
instruct_type:
description: Instruction format type
enum:
- none
- airoboros
- alpaca
- alpaca-modif
- chatml
- claude
- code-llama
- gemma
- llama2
- llama3
- mistral
- nemotron
- neural
- openchat
- phi3
- rwkv
- vicuna
- zephyr
- deepseek-r1
- deepseek-v3.1
- qwq
- qwen3
- null
example: chatml
nullable: true
type: string
$ref: '#/components/schemas/InstructType'
modality:
description: Primary modality of the model
example: text->text
@@ -13337,7 +13422,7 @@ components:
id: openai/gpt-4
knowledge_cutoff: null
links:
details: /api/v1/models/openai/gpt-5.4/endpoints
details: /api/v1/models/openai/gpt-4/endpoints
name: GPT-4
per_request_limits: null
pricing:
@@ -13356,11 +13441,31 @@ components:
context_length: 8192
is_moderated: true
max_completion_tokens: 4096
links:
next: /api/v1/models?offset=500&limit=500
total_count: 150
properties:
data:
$ref: '#/components/schemas/ModelsListResponseData'
links:
description: Pagination links
properties:
next:
description: URL for the next page of results, or null if this is the last page
example: /api/v1/models?offset=500&limit=500
nullable: true
type: string
required:
- next
type: object
total_count:
description: Total number of models matching the query
example: 150
type: integer
required:
- data
- total_count
- links
type: object
ModelsListResponseData:
description: List of available models
@@ -13382,7 +13487,7 @@ components:
id: openai/gpt-4
knowledge_cutoff: null
links:
details: /api/v1/models/openai/gpt-5.4/endpoints
details: /api/v1/models/openai/gpt-4/endpoints
name: GPT-4
per_request_limits: null
pricing:
@@ -13953,6 +14058,66 @@ components:
- $ref: '#/components/schemas/ObservabilitySnowflakeDestination'
- $ref: '#/components/schemas/ObservabilityWeaveDestination'
- $ref: '#/components/schemas/ObservabilityWebhookDestination'
ObservabilityFilterRuleGroup:
example:
logic: and
rules:
- field: model
operator: equals
value: openai/gpt-4o
properties:
logic:
default: and
enum:
- and
- or
type: string
rules:
items:
properties:
field:
enum:
- model
- provider
- session_id
- user_id
- api_key_name
- finish_reason
- input
- output
- total_cost
- total_tokens
- prompt_tokens
- completion_tokens
type: string
operator:
enum:
- equals
- not_equals
- contains
- not_contains
- regex
- starts_with
- ends_with
- gt
- lt
- gte
- lte
- exists
- not_exists
type: string
value:
anyOf:
- type: string
- type: number
required:
- field
- operator
type: object
type: array
required:
- rules
type: object
ObservabilityFilterRulesConfig:
description: Optional structured filter rules controlling which events are forwarded.
example: null
@@ -13963,59 +14128,22 @@ components:
type: boolean
groups:
items:
properties:
logic:
default: and
enum:
- and
- or
type: string
rules:
items:
properties:
field:
enum:
- model
- provider
- session_id
- user_id
- api_key_name
- finish_reason
- input
- output
- total_cost
- total_tokens
- prompt_tokens
- completion_tokens
type: string
operator:
enum:
- equals
- not_equals
- contains
- not_contains
- regex
- starts_with
- ends_with
- gt
- lt
- gte
- lte
- exists
- not_exists
type: string
value:
anyOf:
- type: string
- type: number
required:
- field
- operator
type: object
type: array
required:
- rules
type: object
$ref: '#/components/schemas/ObservabilityFilterRuleGroup'
type: array
required:
- groups
type: object
ObservabilityFilterRulesConfigNullable:
description: Optional structured filter rules controlling which events are forwarded.
example: null
nullable: true
properties:
enabled:
default: true
type: boolean
groups:
items:
$ref: '#/components/schemas/ObservabilityFilterRuleGroup'
type: array
required:
- groups
@@ -20312,7 +20440,7 @@ components:
- $ref: '#/components/schemas/FilesServerTool'
- $ref: '#/components/schemas/FusionServerTool_OpenRouter'
- $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
- $ref: '#/components/schemas/ChatSearchModelsServerTool'
- $ref: '#/components/schemas/SearchModelsServerTool_OpenRouter'
- $ref: '#/components/schemas/WebFetchServerTool'
- $ref: '#/components/schemas/WebSearchServerTool_OpenRouter'
- $ref: '#/components/schemas/ApplyPatchServerTool_OpenRouter'
@@ -20410,6 +20538,22 @@ components:
- high
example: medium
type: string
SearchModelsServerTool_OpenRouter:
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
SearchModelsServerToolConfig:
description: Configuration for the openrouter:experimental__search_models server tool
example:
@@ -22522,7 +22666,7 @@ components:
type: boolean
filter_rules:
allOf:
- $ref: '#/components/schemas/ObservabilityFilterRulesConfig'
- $ref: '#/components/schemas/ObservabilityFilterRulesConfigNullable'
- description: Optional structured filter rules. `null` clears the rules. Omitting keeps the current value.
name:
description: Human-readable name for the destination.
@@ -25122,6 +25266,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -25132,6 +25277,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -26723,27 +26869,7 @@ paths:
format: double
type: number
cost_details:
description: Breakdown of upstream inference costs
example:
upstream_inference_completions_cost: 0.0004
upstream_inference_cost: null
upstream_inference_prompt_cost: 0.0008
nullable: true
properties:
upstream_inference_completions_cost:
format: double
type: number
upstream_inference_cost:
format: double
nullable: true
type: number
upstream_inference_prompt_cost:
format: double
type: number
required:
- upstream_inference_prompt_cost
- upstream_inference_completions_cost
type: object
$ref: '#/components/schemas/CostDetails'
is_byok:
description: Whether a request was made using a Bring Your Own Key configuration
type: boolean
@@ -26903,6 +27029,35 @@ paths:
get:
description: Returns a list of all available embeddings models and their properties
operationId: listEmbeddingsModels
parameters:
- description: Number of records to skip for pagination. When both offset and limit are omitted, the full list is returned
in: query
name: offset
required: false
schema:
default: 0
description: >-
Number of records to skip for pagination. When both offset and limit are omitted, the full list is
returned
example: 0
minimum: 0
nullable: true
type: integer
- description: >-
Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is
returned
in: query
name: limit
required: false
schema:
default: 500
description: >-
Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is
returned
example: 500
maximum: 1000
minimum: 1
type: integer
responses:
'200':
content:
@@ -26967,6 +27122,17 @@ paths:
tags:
- Embeddings
x-speakeasy-name-override: listModels
x-speakeasy-pagination:
inputs:
- in: parameters
name: offset
type: offset
- in: parameters
name: limit
type: limit
outputs:
results: $.data
type: offsetLimit
/endpoints/zdr:
get:
operationId: listEndpointsZdr
@@ -27863,6 +28029,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -27873,6 +28040,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -28295,6 +28463,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -28305,6 +28474,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -28548,6 +28718,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -28558,6 +28729,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -28793,6 +28965,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -28803,6 +28976,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -28872,6 +29046,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -28882,6 +29057,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -31016,6 +31192,34 @@ paths:
get:
operationId: getModels
parameters:
- description: Number of records to skip for pagination. When both offset and limit are omitted, the full list is returned
in: query
name: offset
required: false
schema:
default: 0
description: >-
Number of records to skip for pagination. When both offset and limit are omitted, the full list is
returned
example: 0
minimum: 0
nullable: true
type: integer
- description: >-
Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is
returned
in: query
name: limit
required: false
schema:
default: 500
description: >-
Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is
returned
example: 500
maximum: 1000
minimum: 1
type: integer
- description: Filter models by use case category
in: query
name: category
@@ -31408,6 +31612,17 @@ paths:
tags:
- Models
x-speakeasy-name-override: list
x-speakeasy-pagination:
inputs:
- in: parameters
name: offset
type: offset
- in: parameters
name: limit
type: limit
outputs:
results: $.data
type: offsetLimit
/models/{author}/{slug}/endpoints:
get:
operationId: listEndpoints
@@ -31586,6 +31801,35 @@ paths:
`eu.openrouter.ai/api/v1/...` the results will be filtered to models that satisfy [EU in-region
routing](https://openrouter.ai/docs/guides/privacy/provider-logging#enterprise-eu-in-region-routing).
operationId: listModelsUser
parameters:
- description: Number of records to skip for pagination. When both offset and limit are omitted, the full list is returned
in: query
name: offset
required: false
schema:
default: 0
description: >-
Number of records to skip for pagination. When both offset and limit are omitted, the full list is
returned
example: 0
minimum: 0
nullable: true
type: integer
- description: >-
Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is
returned
in: query
name: limit
required: false
schema:
default: 500
description: >-
Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is
returned
example: 500
maximum: 1000
minimum: 1
type: integer
responses:
'200':
content:
@@ -31609,7 +31853,7 @@ paths:
id: openai/gpt-4
knowledge_cutoff: null
links:
details: /api/v1/models/openai/gpt-5.4/endpoints
details: /api/v1/models/openai/gpt-4/endpoints
name: GPT-4
per_request_limits: null
pricing:
@@ -31665,6 +31909,17 @@ paths:
tags:
- Models
x-speakeasy-name-override: listForUser
x-speakeasy-pagination:
inputs:
- in: parameters
name: offset
type: offset
- in: parameters
name: limit
type: limit
outputs:
results: $.data
type: offsetLimit
/observability/destinations:
get:
description: >-
@@ -31679,6 +31934,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -31689,6 +31945,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -32106,6 +32363,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -32116,6 +32374,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -32236,6 +32495,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -32246,6 +32506,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -32801,6 +33062,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -32811,6 +33073,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -34413,6 +34676,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -34423,6 +34687,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100
@@ -35068,6 +35333,7 @@ paths:
name: offset
required: false
schema:
default: 0
description: Number of records to skip for pagination
example: 0
minimum: 0
@@ -35078,6 +35344,7 @@ paths:
name: limit
required: false
schema:
default: 50
description: Maximum number of records to return (max 100)
example: 50
maximum: 100