Fields
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
aliases | List[components.ServerToolInputName] | :heavy_check_mark: | Every spelling accepted in tools[].type for this tool, including the canonical id, and what the call surfaces as under each | |
default_engine | Nullable[str] | :heavy_check_mark: | The engine a request without parameters.engine (or with engine: "auto") runs on; native applies where the endpoint runs the tool itself, otherwise fallback_engine. A request pinned to a data region skips either engine when its data_regions does not list that region. Null for a tool without an engine parameter | native |
docs_url | str | :heavy_check_mark: | N/A | |
engines | List[components.ServerToolEngine] | :heavy_check_mark: | N/A | |
fallback_engine | Nullable[str] | :heavy_check_mark: | The engine an unpinned request runs on when default_engine is native and the endpoint does not run the tool itself; null when there is no fallback | exa |
id | str | :heavy_check_mark: | Canonical openrouter:* name; the stable tools[].type on every API format in supported_api_formats | openrouter:web_search |
input_schema | Dict[str, Any] | :heavy_check_mark: | JSON Schema of the arguments the model emits when calling the tool | { “properties”: {}, “type”: “object” } |
name | str | :heavy_check_mark: | N/A | Web search |
native_support | components.ServerToolNativeSupport | :heavy_check_mark: | Endpoints whose provider runs this tool itself during inference. Zero for tools no provider runs natively. | { “endpoint_count”: 18, “model_count”: 12 } |
output_schema | Dict[str, Any] | :heavy_check_mark: | JSON Schema of the result returned to the model; null when undeclared | { “properties”: {}, “type”: “object” } |
parameters_schema | Dict[str, Any] | :heavy_check_mark: | JSON Schema for the caller-side tools[].parameters object | { “properties”: {}, “type”: “object” } |
status | components.ServerToolStatus | :heavy_check_mark: | N/A | active |
summary | str | :heavy_check_mark: | One sentence for cards and search results; never sent to a model | |
supported_api_formats | List[components.ServerToolSupportedAPIFormat] | :heavy_check_mark: | N/A | |
tool_description | str | :heavy_check_mark: | The description sent upstream as the function tool description |