> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ServerToolEngine

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `byok` | [components.BYOK](../components/byok.mdx) | :heavy\_check\_mark: | Whether the engine needs the caller's own key, saved in plugin settings: `required` (OpenRouter holds none), `optional` (OpenRouter's key is used unless the caller saved one), or `none` | none |
| `data_regions` | List\[[components.ServerToolEngineDataRegion](../components/servertoolenginedataregion.mdx)] | :heavy\_check\_mark: | The data regions whose requests this engine serves without leaving the region. A request pinned to a region can only use engines that list it; `global` is always listed. | \[<br />"global",<br />"us"<br />] |
| `default_mode` | *Nullable\[str]* | :heavy\_check\_mark: | The `parameters.mode` a request without one runs and bills as; null for engines without modes. The `pricing[]` row with this `mode` is what an unmoded request bills | auto |
| `executed_by` | [components.ServerToolExecutedBy](../components/servertoolexecutedby.mdx) | :heavy\_check\_mark: | Who runs the tool call: the model provider during inference (`provider`), OpenRouter (`openrouter`), or the caller's application after the call is returned (`client`). | openrouter |
| `id` | *Nullable\[str]* | :heavy\_check\_mark: | The `parameters.engine` value that selects this engine; null for the single engine of a tool without an engine parameter | exa |
| `name` | *str* | :heavy\_check\_mark: | N/A | Exa |
| `pricing` | List\[[components.ServerToolPrice](../components/servertoolprice.mdx)] | :heavy\_check\_mark: | The rows OpenRouter bills; non-empty exactly when `pricing_source` is `openrouter` | |
| `pricing_doc_url` | *Nullable\[str]* | :heavy\_check\_mark: | Where the rates are documented when `pricing_source` is `provider` or `byok`; null otherwise | null |
| `pricing_source` | [components.PricingSource](../components/pricingsource.mdx) | :heavy\_check\_mark: | Who bills the engine's calls beyond the model's tokens: `openrouter` (the `pricing` rows, from the caller's credits), `provider` (a per-call tool fee from the model's provider on the inference call, at its own rates), `byok` (the engine's vendor, against the caller's own key), or `none` (no charge) | openrouter |
