Skip to main content
This guide takes you from your first request to production. Each section covers one part of the platform: what we recommend and how to set it up.

Set up your account

Organization, teams, API keys, and billing

Send traffic

Models, routing, fallback, BYOK, and coding tools

Secure your data

Data retention, logging, and redaction

Monitor usage and activity

Logs, errors, audit log, and alerts

Go to production

Best practices, capacity, cost, and latency

Launch checklist

Everything in one list

Set up your account

Every account starts as a personal account. For a company, create an organization: it holds a shared balance, members, teams, and API keys. Switch between your personal account and your organizations from the account menu at the bottom of the sidebar.

Create your organization

1

Create it

Open the account menu at the bottom of the sidebar, click Create an Organization, enter the organization name, and click Create Organization.
Account menu open at the bottom of the sidebar, with Create an Organization highlighted
2

Invite your team

Go to Members, click Invite Member, enter one or more email addresses, choose a role for each person, and click Send Invitation. Only Owners can choose a role other than the default; Admins invite with the default role.
Invite Members dialog with one email address added and the role picker open, showing Admin, Member, Billing, and Owner
Every member has a role:
Recommended: keep one Owner and make the other operators Admins or Members. If the built-in roles don’t fit, Owners can create custom roles: go to Roles (under Members in the sidebar) and click New Role, then pick the permissions the role grants.

Create teams

Teams group people and API keys, for example by department (engineering, product, marketing, HR), by environment (production, development), or by workload. A team can have its own spend limits, rate limits, routing, and data retention settings, and new keys on the team start from those settings.
1

Create a team

Go to Teams and click Create Team (Create your first team if you have none). Enter a name, optionally add members, and set the team’s limits and settings. Owners and Admins can create teams.
Create Team panel with the team name Engineering, an optional member list, and the team spend limit
2

Add people

Open the team’s Members tab, pick the people to add, and click Add to team.

Create API keys

Create a separate key for each environment and major workload, so you can limit, monitor, and revoke each one on its own.
1

Create the key

Go to API Keys and click Create key. Give it a name and, in an organization, choose its Owner: the organization or one of your teams. The owner can’t be changed later.To give someone temporary access, such as a contractor or a candidate on a work trial, set an Expiration Date. The key stops working after that date. Leave it empty and the key never expires.
2

Set its limits and settings

The key starts with a copy of its owner’s settings. Adjust them for this key:
  • Spend Limits: a Total Spend Limit that never renews, and a Recurring Spend Limit that renews daily, weekly, monthly, or every N days.
  • Routing & Rate Limits: preferred, allowed, and blocked models and providers, plus tokens-per-minute and requests-per-minute limits, overall or per model.
  • Data Retention: Zero Data Retention and request logging. See Secure your data.
Create API key panel with a key name, the Owner selector, an expiration date, and spend limit and routing settings
3

Copy the key

Copy the key right away. You won’t be able to see it again.
Recommended: set a spend limit on every production key, and turn on the key exhaustion alert so you hear about it before a key hits its limit.
Owners can Enforce a setting for the whole organization in Settings, and team managers for a team in the team’s Settings tab. Enforced Zero Data Retention and logging are locked on every key underneath. Enforced routing, rate limits, and spend limits become a ceiling that keys can tighten but not loosen.

Add credits and auto top-up

Requests are paid from your prepaid balance (except BYOK traffic, which your provider bills directly). Owners and members with the Billing role can manage billing.
1

Buy credits

Go to Billing, click Buy Credits, enter an amount, and click Continue to Payment.
2

Turn on email or text notifications

Automatic top-up needs a way to reach you. Switch to your personal account from the account menu, open Settings, and under Notifications turn on email or text notifications.
3

Turn on automatic top-up

On the Billing page, click Set up next to automatic top-up. Add a payment card, turn on the switch, set When balance drops below (at least $5) and Add this much (at least $25, and no less than the threshold), and click Turn on.
Automatic Top-up dialog listing the two steps to turn it on: add a payment card, and turn on email or text notifications
Recommended: for production traffic, top up when your balance drops below about $1,000, and add $5,000 each time.
For longer-term agreements we prefer invoice billing. Contact us to set it up. Usage (under Billing in the sidebar) breaks down spend by key and model for any date range, and you can download it as CSV.

Send traffic

Use the Responses API and OpenAI format

Concentrate is OpenAI-compatible, so keep your code in the standard OpenAI format and point it at Concentrate. We recommend the OpenAI SDK with the Responses API (/v1/responses). The Quickstart has copy-paste examples. Already on Chat Completions or the Anthropic Messages format? Both work too: see Chat Completions and Messages.

Choose models with model slugs

The model field accepts three forms:
Recommended: send model slugs. Pin a provider only when you have a specific reason to send traffic there, such as a compliance requirement.
Find every slug, with pricing and the providers that serve it, on the models page or from GET /v1/models.

Routing and fallback

Most models are served by more than one provider. When you send a model slug, Concentrate picks a provider for each request and fails over when one has a problem:
  1. Match. Only providers that support the essentials your request uses (streaming, tools, structured output, and so on) are considered. Optional parameters a provider can’t honor, such as sampling settings, may be dropped rather than failing the request.
  2. Rank. Providers you list in routing.provider.fallbacks come first, in your order, then providers you hold a BYOK key for, then the rest, ordered by your routing.provider.sort preference (performance by default).
  3. Fall back. If a provider is degraded, rate-limited, or unavailable, the request moves to the next provider serving the same model instead of failing. For streaming requests, fallback happens only if a provider fails before its stream starts.
You don’t need to configure anything to get fallback. To tune routing for every request on a key, team, or organization, set it in the dashboard under Routing & Rate Limits: preferred (Fallbacks), Allowed, and Blocked models and providers, and how to Prioritize providers (performance, cost, latency, or uptime). To tune a single request, add a routing object to it:
A pinned provider/model request doesn’t fall back to other providers unless routing.provider.fallbacks or routing.provider.whitelist is set, on the request or on the key. Auto routing & fallback covers every option.

Bring your own keys (BYOK)

If you have credits with OpenAI, Anthropic, AWS Bedrock, Google Vertex, Azure, or another provider, add those keys to Concentrate. Requests routed to that provider then run on your key:
  • Your provider bills you directly, so nothing is taken from your Concentrate balance.
  • Your Concentrate token limits don’t apply, only your provider’s. Your requests-per-minute limits still do.
  • Usage still appears in your logs and dashboard, marked as BYOK.
If every one of your keys for a provider fails or is rate-limited, the request falls back to Concentrate-managed capacity, so one bad key doesn’t fail the request.
1

Open BYOK

Go to BYOK in the dashboard. Keys you add while viewing your organization apply to the whole organization. Only Owners, or roles granted Manage provider keys, can manage them.
2

Add a key

Pick a provider, enter a name and the credential, and click Save key.
Recommended: keep your Concentrate balance funded even with BYOK. Fallback traffic is billed to your balance.
See BYOK for supported providers and setup details.

Use coding tools

Claude Code, Codex, OpenCode, and Pi all run on Concentrate. The Concentrate CLI (beta) sets them up with one command and doesn’t change the tools’ own settings:
If cn isn’t found after installing, add ~/.local/bin to your PATH with the line the installer printed, then open a new terminal. Setting up Claude Code without the CLI:
  • Run the setup script from the Claude Code guide.
  • If you were logged in to Anthropic in Claude Code before, run /logout first.
  • Run /status in Claude Code. It should show https://api.concentrate.ai as the API endpoint.
Claude Code works largely the same on Claude and other capable models. You can try open-source models too; Claude Code may compact the conversation before it reaches their full context window.

Secure your data

Zero Data Retention and request logging

Both are set per API key, and can be enforced across a team or your whole organization.
  • Zero Data Retention (ZDR) sends requests only to providers that support zero data retention. ZDR belongs to a model-and-provider pair, so turning it on means fewer providers are available for some models.
  • Request logging is off by default. Turn it on to store each request’s prompt and response so you can read them in Logs when debugging. Every request’s status, tokens, latency, and cost appear in Logs either way. The Model Optimizer also needs logging on, because it tests models on the prompts and responses in your logs.
1

Per key

Go to API Keys, create or edit a key, and under Data Retention set Zero Data Retention (Providers) and Enable customer-controlled logs.
2

Across the organization (optional)

As an Owner, go to Settings in your organization. Under Data Retention, click Enforce on Zero Data Retention, Logging, or both, confirm, and click Save changes. Enforced settings are locked on every key in the organization.
You can also make a single request stricter by sending "zdr": { "enabled": true } in the request body. See Zero Data Retention & Logging.

Guardrails and redaction

Guardrails mask sensitive data, such as personal, payment, health, and credential data, automatically on every request made with a key.
1

Open Guardrails

Go to Guardrails in the dashboard and select an API key.
2

Configure redaction

Enable redaction, choose the target (input, output, or both), and select the entity types to redact. Save your changes.
Output redaction isn’t applied to streamed responses. Use non-streamed requests if you need output redaction.
See Guardrails & Redaction for every entity type.

Monitor usage and activity

Logs, errors, and the dashboard

  • Dashboard shows your spend, requests, tokens, and errors, plus your balance if your role can view billing.
  • Logs lists every request you have access to, with its status, model, key, tokens, and cost. Filter by date, status, model, provider, or key, open a request to see its details, or export to CSV. Request and response content is shown only for keys with logging turned on.
  • Errors (under Logs in the sidebar) shows failed requests across all your keys: the error rate, the most common errors, and whether they concentrate on one key, model, or provider.

Audit log

Audit Logs records who created, changed, or deleted keys, teams, users, BYOK keys, and other settings. Owners see the whole organization’s log by default; everyone else sees their own actions.

Alerts

Alerts flag something that needs attention on your dashboard, and by email or text if you turn on notifications. Turn these on before you ramp up: Set them up on the Alerts page. Alerts reach you by email or text, which you turn on in your personal account’s Settings, under Notifications.
Alerts page with the Balance Depletion alert expanded and its forecast window set to 7 days
Alerts are per person. Turning one on subscribes only you, so each teammate who wants a notification turns it on for themselves. See Alerts for every alert type.

Go to production

Build for production

Never hardcode API keys or commit them to version control.
Set max_output_tokens to limit response length and cost:
Concentrate already fails over between providers, but your client should still retry 424, 429, 500, 503, and 504 responses with exponential backoff. When a Retry-After header is present, wait at least that long. A 504 may have been partly processed upstream, so check before retrying work that shouldn’t run twice. Don’t retry other 4xx errors: fix the request instead.See Errors for every status code.
Every response includes token usage and its cost, so you can track spend per request. For BYOK requests, cost.byok is true and the cost isn’t charged to your balance.

Plan capacity with us

See your current rate limits in the dashboard under Routing & Rate Limits. If you need more capacity, contact support and we’ll work with you to raise your limits.
  • Before you launch, tell us your expected TPM and RPM, your mix of frontier and open-source models, which models you’ll use, and how bursty your traffic is.
  • Once your limits are raised and you need much higher capacity, ramp very large workloads gradually, adding 10–25M TPM every 5–10 minutes, rather than going from zero to 100M+ TPM at once.
Traffic on your own BYOK keys uses your provider’s token limits instead.

Optimize cost and latency

Model Optimizer (beta)

Find cheaper models for the jobs your agents repeat, tested on your own conversations

Prompt caching

Reuse cached prompts to cut cost and latency

Service tiers

Trade cost against latency with flex, priority, and fast

Web search

Native provider search, or our Exa integration for any model

Launch checklist

Before you send production traffic:
  • Your organization is created, with one Owner and everyone else as Admins, Billing, or Members
  • Separate API keys for production, development, and each major workload, each with a spend limit, and an expiration date on temporary keys
  • Credits added and automatic top-up turned on
  • Requests send model slugs, not provider/model, unless you have a reason to pin
  • BYOK keys added for any provider you have credits with
  • Zero Data Retention, logging, and redaction set where you need them
  • Low balance, balance depletion, key exhaustion, and error rate spike alerts turned on
  • Your code reads the key from the environment, sets max_output_tokens, and retries 424, 429, 500, 503, and 504
  • For large workloads: capacity planned with us, and a gradual ramp-up

Need help?

Email support@concentrate.ai, or ask in your shared Slack channel if you have one.
Last modified on November 12, 2026