Skip to content

OpenRouter

Everruns runs agents on OpenRouter’s model catalog through its OpenAI-compatible Responses API. One OpenRouter key gives you access to a large multi-vendor catalog, plus routing controls that decide which upstream provider actually serves each request.

  • One key, many models — a single provider exposing OpenRouter’s full catalog.
  • OAuth one-click connect — authorize in the browser instead of copy-pasting an API key. See Connecting below.
  • Actual-cost reporting — OpenRouter returns the real money spent per generation, which Everruns records as authoritative cost. See Actual cost below.
  • Built-in server tools — let the model use OpenRouter-executed tools such as web_search and web_fetch without wiring up a separate integration. See Server tools below.
  • Provider routing — order, allow/deny lists, data-retention and zero-data-retention policies, and price/throughput sorting.
  • Capacity strategy — use OpenRouter’s shared capacity, prefer your own bring-your-own-key (BYOK) providers first, or require BYOK-only routing.
  • Routing presets — high-level intents such as cheapest-with-tools, lowest-latency, or reasoning-required that compile into the underlying routing flags.
  • Capability profiling — OpenRouter’s richer /models metadata is parsed into capability profiles, so reasoning support surfaces correctly even for models without a built-in profile.
  • Session grouping & logs — Everruns forwards its session id so all generations from one session group together in OpenRouter’s dashboard, where you can inspect traces and forward them to observability tools. See Logs, traces, and observability below.

Providers are configured by organization admins under SettingsProvidersAdd providerOpenRouter. You can connect two ways:

Click Connect with OpenRouter and authorize in the browser. OpenRouter’s one-click PKCE flow returns a user-controlled API key that Everruns stores org-wide — no key copy-pasting, and no app registration. An admin authorizes once; everyone in the org then uses the models the provider serves against the single stored credential. The key is encrypted at rest and never returned by the API.

OpenRouter’s callback URL must be HTTPS on port 443 or 3000 for non-localhost deployments.

Alternatively, paste an OpenRouter API key from the OpenRouter keys page.

Either way, save and Everruns discovers available models and their capability profiles automatically.

OpenRouter-specific routing (model fallbacks, provider ordering, capacity strategy, and presets) is configured per agent and applied only to OpenRouter requests — direct OpenAI or other providers ignore these extensions. BYOK-only routing requires you to list at least one upstream provider, and fails closed if none is configured.

OpenRouter can run provider-executed server toolsweb_search, web_fetch, datetime, image_generation, and more — during a generation. OpenRouter executes them server-side and folds the results into the same answer, so your agent gets built-in web reach without a separate search integration or an extra round-trip through Everruns.

Enable them per agent with the OpenRouter Server Tools capability. The capability is a harmless no-op on non-OpenRouter providers, so it is safe to leave on for agents that may switch providers. Because the model gains provider-executed web access, the capability is rated High risk — grant it only to agents you trust with outbound web access.

OpenRouter’s API reports the real money spent per generation, not just an estimate. Everruns records this as the generation’s authoritative actual_cost_usd (sourced from OpenRouter’s usage.cost, reconciled against the generation endpoint when needed) alongside its own estimated cost. Budgets debit the actual cost when present and fall back to the estimate otherwise, so spend tracking and budgeting reflect what OpenRouter actually charged. See Usage tracking for how estimate-vs-actual reconciliation works.

Everruns forwards its session id to OpenRouter, so every generation from one Everruns session groups together in OpenRouter’s dashboard. OpenRouter’s own activity logs show each request’s trace — often enough to debug a run without leaving OpenRouter. When you need richer tracing, OpenRouter can forward your generations to external observability tools such as Braintrust or LangSmith; configure that on the OpenRouter side. This complements Everruns’ own run inspection rather than replacing it.