Authentication
Every request to Gateway AI’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 any of three headers:
Authorization header (recommended)
This is the default for the OpenAI SDK and most HTTP clients.
x-api-key header
This is the default for the Anthropic SDK.
x-goog-api-key header
This is the default for the Google Generative AI (Gemini) SDK.
All three work on every endpoint. The gateway detects sk-proxy- prefixed values in any of these headers.
What happens to provider credentials
When the gateway receives your request:
- Your
Authorization,x-api-key,x-goog-api-key, andHostheaders are stripped - Your proxy key is validated (active, not expired, IP allowed, etc.)
- The real provider API key is injected into the correct header for the target provider
- 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
Gateway AI 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.