Skip to main content
Concentrate AI is a drop-in replacement for most LLM providers and gateways. If your code already speaks the OpenAI Chat Completions format, migration is usually two values (the base URL and the API key) plus cleanup of any provider-specific extras.

Pick your starting point

Match what you’re using today to the guide that walks through the swap.
If you’re coming from…Use this guide
OpenRouterOpenRouter
HeliconeHelicone
PortkeyPortkey
Merge GatewayMerge Gateway
Vercel AI GatewayVercel AI Gateway
TensorZeroTensorZero
LiteLLMLiteLLM
More migration guides are on the way. If you don’t see your stack, the same pattern almost always applies: point your existing client at https://api.concentrate.ai/v1, swap your API key for one that starts with sk-cn-v1-, and remove any provider-specific headers or routing parameters. See the Quickstart for a from-scratch setup.

What every migration has in common

Regardless of where you’re coming from, four things change and the rest stays the same.
SettingValue
Base URLhttps://api.concentrate.ai/v1
Auth headerAuthorization: Bearer sk-cn-v1-...
Chat Completions path/chat/completions (unchanged)
Model formatprovider/model-id (e.g. anthropic/claude-haiku-4-5, bedrock/claude-haiku-4-5) or bare slug (auto, gpt-5.4)
Streaming, tool calling, structured output, and multi-modal input all work through the same OpenAI-compatible shape, with no code changes beyond the client construction.

What you get after migrating

  • Team-scale spend management. Budgets at the organization, team, developer, and key level.
  • Built-in observability. Usage, spend, latency, providers, models, and cache hits across your whole org, with no third-party integration.
  • Strategy-driven auto routing. model: "auto" with explicit optimization for cost, latency, or performance. See Auto Routing.
  • Feature-aware resiliency. Uptime-gated failover, feature degradation, and cache-affinity routing across 16+ providers.
  • Native Responses and Messages APIs. In addition to Chat Completions, use a first-class Responses API and an Anthropic-compatible Messages API.

Enabling Zero Data Retention

If your migration is driven by compliance or privacy requirements, turn on Zero Data Retention (ZDR) on the keys you use after migrating. With ZDR enabled, routing is restricted to providers with certified zero data retention policies, so your prompts and completions are never stored upstream. ZDR is a key-level setting, not a request parameter. Configure it once and keep using the key normally.
  1. Go to the API Keys page in the dashboard.
  2. Create or edit a key.
  3. Under Data Retention, enable Zero Data Retention (Providers).
  4. Optionally disable Enable Request Logging if you also don’t want Concentrate to store request/response content.
Organization admins can enforce ZDR across every key in the org from Organization Settings → Data Retention. Enforced settings lock the toggle on all child keys so individual users can’t override them.
With ZDR enabled, requests can only be routed through ZDR-certified providers. If you send a request targeting a model or provider that Concentrate does not have a ZDR agreement with, the request will fail rather than fall back to a non-certified provider. Before turning ZDR on, confirm that the models you depend on are covered. See ZDR-Supported Providers.
For the full enforcement hierarchy, logging defaults, and how ZDR interacts with routing fallbacks, see Zero Data Retention & Logging.

Feedback

If you hit anything that didn’t translate cleanly from your previous stack, email support@concentrate.ai. We use migration friction reports to prioritize compatibility fixes.