GET

/v1/schemas/fal/chat/openrouter/router/enterprise

kind inputactivity chathash 160d644b…extracted Sep 24, 2026version currentsource upstream spec ↗
fieldrecorded source
schemaSource linked above.

upstream-spec

Source trace
bc5a741674b16575c4e1aaa88ebcdb088c0a30a64129161db6942c91957ab9e4
{
  "fetchedAt": 1790226001,
  "extractorVersion": "1",
  "verifiedAt": null
}

Request body

8 properties · 2 required · 2 $defs
propertytypedescriptionconstraints
prompt*stringPrompt to be used for the chat completion
model*stringName of the model to use. Charged based on actual token usage.
reasoningbooleanShould reasoning be the part of the final answer.default: false
enable_web_searchbooleanGive the model access to real-time web information via OpenRouter's web search server tool. When enabled, the model decides when to search and may search multiple times per request. Search costs are charged in addition to token usage.default: false
temperaturenumberThis setting influences the variety in the model's responses. Lower values lead to more predictable and typical responses, while higher values encourage more diverse and less common responses. At 0, the model always gives the same response for a given input.0 ≤ n ≤ 2 · default: 1
web_search_optionsWebSearchOptionsOptions for the OpenRouter ``openrouter:web_search`` server tool.nullable
system_promptstringSystem prompt to provide context or instructions to the modelnullable
max_tokensintegerThis sets the upper limit for the number of tokens the model can generate in response. It won't produce more than this limit. The maximum value is the context length minus the prompt length.n ≥ 1 · nullable

Types

2 $defs

WebSearchOptionsobject

Options for the OpenRouter ``openrouter:web_search`` server tool.

search_context_sizeenumHow much content to retrieve per result. For Exa: low=5K, medium=15K, high=30K characters per result; when omitted, Exa picks adaptively (~2-4K per result). Ignored with native provider search. Overridden by max_characters when both are set.low | medium | high · nullable
max_resultsintegerMaximum results per search call (1-25). Applies to the Exa engine; ignored with native provider search. Defaults to 5.1 ≤ n ≤ 25 · nullable
max_total_resultsintegerMaximum total results across all search calls in a single request. Useful for controlling cost and context size in agentic loops.n ≥ 1 · nullable
allowed_domainsstring[]Limit results to these domains. Supported by Exa and most native providers (not Google native search).nullable
max_charactersintegerExact maximum characters of content per result (1-100,000). Applies to the Exa engine; ignored with native provider search. Takes precedence over search_context_size when both are set.1 ≤ n ≤ 100000 · nullable
engineenumSearch engine to use. 'auto' uses native provider search when available and falls back to Exa. 'native' prefers the provider's built-in web search (OpenAI, Anthropic, Google, xAI, Perplexity), falling back to Exa for models without native support. 'exa' always…auto | native | exa · default: "auto"
max_usesintegerMaximum number of searches the model may perform in a single request. Once reached, further search calls return an error result instead of executing. With native provider search, forwarded only to Anthropic; other native providers ignore it.n ≥ 1 · nullable
user_locationWebSearchUserLocationApproximate user location to bias web search results geographically.nullable
excluded_domainsstring[]Exclude results from these domains. Supported by Exa and some native providers (not OpenAI or Google native search).nullable

WebSearchUserLocationobject

Approximate user location to bias web search results geographically.

countrystringTwo-letter country code, e.g. 'US'.nullable
regionstringRegion or state, e.g. 'California'.nullable
citystringCity name, e.g. 'San Francisco'.nullable
typeconstLocation type. Only 'approximate' is supported."approximate" · default: "approximate"
timezonestringIANA timezone, e.g. 'America/Los_Angeles'.nullable

Validate a payload

before you spend tokens
shell
$ curl -X POST https://modelschemas.com/v1/validate \
    -d '{"provider":"fal","endpointId":"openrouter/router/enterprise","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}