> ## 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](../../models/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 |
| `DataRegions` | \[][components.ServerToolEngineDataRegion](../../models/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 />] |
| `DefaultMode` | `*string` | :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 |
| `ExecutedBy` | [components.ServerToolExecutedBy](../../models/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` | `*string` | :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` | `string` | :heavy\_check\_mark: | N/A | Exa |
| `Pricing` | \[][components.ServerToolPrice](../../models/components/servertoolprice.mdx) | :heavy\_check\_mark: | The rows OpenRouter bills; non-empty exactly when `pricing_source` is `openrouter` | |
| `PricingDocURL` | `*string` | :heavy\_check\_mark: | Where the rates are documented when `pricing_source` is `provider` or `byok`; null otherwise | null |
| `PricingSource` | [components.PricingSource](../../models/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 |
