@@ -3513,6 +3513,7 @@ components:
35133513 - $ref: '#/components/schemas/DatetimeServerTool'
35143514 - $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
35153515 - $ref: '#/components/schemas/ChatSearchModelsServerTool'
3516+ - $ref: '#/components/schemas/WebFetchServerTool'
35163517 - $ref: '#/components/schemas/OpenRouterWebSearchServerTool'
35173518 - $ref: '#/components/schemas/ChatWebSearchShorthand'
35183519 description: Tool definition for function calling (regular function or OpenRouter built-in server tool)
@@ -7630,6 +7631,7 @@ components:
76307631 - $ref: '#/components/schemas/DatetimeServerTool'
76317632 - $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
76327633 - $ref: '#/components/schemas/ChatSearchModelsServerTool'
7634+ - $ref: '#/components/schemas/WebFetchServerTool'
76337635 - $ref: '#/components/schemas/OpenRouterWebSearchServerTool'
76347636 type: array
76357637 top_k:
@@ -11512,6 +11514,7 @@ components:
1151211514 - $ref: '#/components/schemas/DatetimeServerTool'
1151311515 - $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
1151411516 - $ref: '#/components/schemas/ChatSearchModelsServerTool'
11517+ - $ref: '#/components/schemas/WebFetchServerTool'
1151511518 - $ref: '#/components/schemas/WebSearchServerTool_OpenRouter'
1151611519 type: array
1151711520 top_k:
@@ -13062,6 +13065,62 @@ components:
1306213065 required:
1306313066 - data
1306413067 type: object
13068+ WebFetchEngineEnum:
13069+ description: >-
13070+ Which fetch engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native"
13071+ forces the provider's built-in fetch. "exa" uses Exa Contents API (supports BYOK). "openrouter" uses direct HTTP
13072+ fetch. "firecrawl" uses Firecrawl scrape (requires BYOK).
13073+ enum:
13074+ - auto
13075+ - native
13076+ - openrouter
13077+ - firecrawl
13078+ - exa
13079+ example: auto
13080+ type: string
13081+ WebFetchServerTool:
13082+ description: 'OpenRouter built-in server tool: fetches full content from a URL (web page or PDF)'
13083+ example:
13084+ parameters:
13085+ max_uses: 10
13086+ type: openrouter:web_fetch
13087+ properties:
13088+ parameters:
13089+ $ref: '#/components/schemas/WebFetchServerToolConfig'
13090+ type:
13091+ enum:
13092+ - openrouter:web_fetch
13093+ type: string
13094+ required:
13095+ - type
13096+ type: object
13097+ WebFetchServerToolConfig:
13098+ description: Configuration for the openrouter:web_fetch server tool
13099+ example:
13100+ max_content_tokens: 100000
13101+ max_uses: 10
13102+ properties:
13103+ allowed_domains:
13104+ description: Only fetch from these domains.
13105+ items:
13106+ type: string
13107+ type: array
13108+ blocked_domains:
13109+ description: Never fetch from these domains.
13110+ items:
13111+ type: string
13112+ type: array
13113+ engine:
13114+ $ref: '#/components/schemas/WebFetchEngineEnum'
13115+ max_content_tokens:
13116+ description: Maximum content length in approximate tokens. Content exceeding this limit is truncated.
13117+ example: 100000
13118+ type: integer
13119+ max_uses:
13120+ description: Maximum number of web fetches per request. Once exceeded, the tool returns an error.
13121+ example: 10
13122+ type: integer
13123+ type: object
1306513124 WebSearchCallCompletedEvent:
1306613125 allOf:
1306713126 - $ref: '#/components/schemas/OpenAIResponsesSearchCompleted'
@@ -14694,6 +14753,11 @@ paths:
1469414753 example: 5
1469514754 nullable: true
1469614755 type: integer
14756+ num_fetches:
14757+ description: Number of web fetches performed
14758+ example: 0
14759+ nullable: true
14760+ type: integer
1469714761 num_input_audio_prompt:
1469814762 description: Number of audio inputs in the prompt
1469914763 example: 0
@@ -14810,6 +14874,7 @@ paths:
1481014874 - num_input_audio_prompt
1481114875 - num_media_completion
1481214876 - num_search_results
14877+ - num_fetches
1481314878 - origin
1481414879 - usage
1481514880 - is_byok
0 commit comments