
# Frequently Asked Questions

Answers to the questions developers and operators ask most often. Each
section is self-contained — link directly to the slug in your own
docs if it's useful.

## Is LowRouter compatible with the OpenAI SDK?

Yes. Set the `base_url` (Python) or `baseURL` (TypeScript) to
`https://lowrouter.ai/api/v1` and use your LowRouter API key. The
SDK calls work unchanged. Detailed examples are on the
[OpenAI SDK Python](integrations/openai-sdk-python) and
[TypeScript](integrations/openai-sdk-typescript) pages.

## Is LowRouter compatible with the Anthropic SDK?

Yes — point the SDK at `https://lowrouter.ai/api/v1/anthropic` and
use a LowRouter API key. See [Anthropic SDK](integrations/anthropic-sdk).

## How is the CO₂ estimate calculated?

`energy = ((α × P_active) + β) × tokens`, then `carbon = energy × grid
intensity`. The full formula, coefficients, data sources, and
confidence bands are on the
[methodology page](sustainable-ai/methodology). The formula comes
from EcoLogits v0.4; the grid intensities come from the IEA.

## Are the eco numbers real-time?

No. The grid intensity is an annual regional average. Real-time
carbon-aware routing is a roadmap feature, not a current one. See
[limits](sustainable-ai/limits).

## What happens if a provider is down?

The auto-router marks that provider's slot temporarily unavailable
and dispatches to the next eligible upstream **in the same region**.
It does not fail across regions silently — if the only eligible
upstream was the one that's down and you've pinned a region, the
request returns 503. See [routing](models/routing).

## How is pricing structured?

Pre-paid credits. The cost of a request is `upstream price ×
tokens + platform fee × tokens`. Both components are visible per
model on the [model browser](/models) and per request on the
dashboard. Failed requests that produced no upstream charge cost
zero credits. Full details: [credits and billing](guides/credits-and-billing).

## Do you store my prompts?

No. We log token counts, model, provider, region, latency, and the
eco estimate per request. We do not store prompt or response content.
The full per-request schema is in
[usage accounting](guides/usage-accounting).

## How do I keep requests in the EU?

Two options:

- **Per-request**: send `"route": {"region": "eu-west"}` in the body.
- **Per-key**: pin the key to `eu-west` in **Dashboard → Keys**.

The per-key option survives client misconfiguration, so prefer it for
production. Details on the [routing](models/routing) and
[API key management](guides/api-keys) pages.

## What's the rate limit?

Three layers: per-key (the daily/monthly credit limits you set),
per-account (default 600 RPM, 64 concurrent), and per-IP (auth and
anonymous). Higher quotas are available on request. Full picture:
[rate limits](api-reference/rate-limits).

## Can I use LowRouter from the browser?

Not with the API key directly — that exposes the key to every page
visitor. Mint short-lived tokens server-side and proxy requests
through your backend. The pattern is the same as for OpenAI; both
SDKs warn against `dangerouslyAllowBrowser`. See
[OpenAI SDK TypeScript](integrations/openai-sdk-typescript).

## Are there free credits?

No. Trying things out costs the same as production usage. See
[philosophy / principles in practice](philosophy/principles-in-practice)
for why.

## Can I get an invoice with my company details?

Yes. Set the legal name, billing address, and VAT number under
**Dashboard → Settings → Billing**. Invoices issued from that point
onwards carry the company details. Past invoices can be re-issued
via support. See [credits and billing](guides/credits-and-billing).

## How do I look up a request after the fact?

Every response carries a `lowrouter.generation_id`. Pass it to
`GET /api/v1/generation/{id}` to get the full record, or open it on
the dashboard. The full record includes the resolved model, the
provider, the region, the eco numbers, and the routing trace. See
[per-request metadata](models/per-request-metadata) and
[discovery endpoints](api-reference/models-and-providers).

## How do I rotate a leaked key?

Create a new key, deploy it everywhere, then delete the old one. The
deletion takes effect on the next request — no caching delay. Full
guidance: [API key management](guides/api-keys).

## Does LowRouter charge a free trial?

We do not run a free trial. Top up the smallest amount that makes
sense for an evaluation; remaining credit can be refunded within 14
days under EU consumer law (see
[credits and billing](guides/credits-and-billing)).

## Why don't I see an eco estimate on some requests?

When the resolved model's parameter count is unknown or unverified,
we omit the `eco` field rather than fabricate a number. The
[methodology](sustainable-ai/methodology) page explains the
confidence bands; the
[limits](sustainable-ai/limits) page covers the cases where eco is
deliberately absent (embedding requests, agent steps with no
tokens, mid-stream upstream errors).

## Is there an SLA?

Production accounts have a posted SLA on the dashboard footer. The
default account does not — best-effort.

## Can I get a Data Processing Agreement?

Yes. Contact us via the email on the [legal page](/impressum).

## Is the source code open?

The platform's repository is at
[github.com/carbonifer/lowrouter](https://github.com/carbonifer/lowrouter).
Public components are licensed under the terms in the repository.

## I found a bug — where do I report it?

[github.com/carbonifer/lowrouter/issues](https://github.com/carbonifer/lowrouter/issues),
ideally with a request ID from the `X-Request-ID` header on a
representative request. See [errors](api-reference/errors).
