Fields
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
BYOK | components.BYOK | :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 | :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. | [ “global”, “us” ] |
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 | :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 | :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 | :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 |