Authentication
Every request to Enterprise Router’s proxy is authenticated with a proxy key. Proxy keys are created in your dashboard and scoped to your organization.
Key format
Proxy keys look like this:
They always start with sk-proxy- followed by 64 hex characters.
Sending your key
You can send your proxy key in either of two headers:
Authorization header (recommended)
This is the default for OpenAI and most SDKs.
x-api-key header
This is the default for the Anthropic SDK.
Both work on every endpoint. The gateway detects sk-proxy- prefixed values in either header.
What happens to provider credentials
When the gateway receives your request:
- Your
Authorization,x-api-key, andx-goog-api-keyheaders are stripped - Your proxy key is validated (active, not expired, IP allowed, etc.)
- The real provider API key is injected into the outbound request
- The request is forwarded to the provider
Your code never sees or handles the real provider API key. It stays on the server.
Key validation
Every request is checked against these rules:
Dashboard vs. proxy authentication
Enterprise Router has two auth systems:
- Proxy keys (
sk-proxy-...) — for LLM proxy requests (/openai/*,/anthropic/*,/gemini/*,/v1/chat/completions) - Firebase JWT — for the management API and dashboard (
/v1/account,/v1/keys,/v1/usage, etc.)
Your developers use proxy keys. Your dashboard and management API use Firebase authentication.