Endpoints
Supported upstream API paths for each provider.
naxxen auto-detects which provider to forward to based on the request path, headers, and body. You don't need to specify the provider — just send the same request you'd send directly to OpenAI/Anthropic/Google, but to api.naxxen.ai instead.
OpenAI
| Endpoint | Method | Description |
|---|---|---|
/v1/chat/completions | POST | Chat completions (GPT-4o, GPT-5.4, o3, o4, etc.) |
Detection: Path contains /chat/completions, or model starts with gpt-, o3, o4, chatgpt-.
Base URL swap:
Before: https://api.openai.com/v1/chat/completions
After: https://api.naxxen.ai/v1/chat/completionsAuth: Authorization: Bearer sk-...
Streaming ("stream": true) is fully supported — SSE chunks are piped through with minimal latency.
Anthropic
| Endpoint | Method | Description |
|---|---|---|
/v1/messages | POST | Messages API (Claude Opus, Sonnet, Haiku) |
Detection: Path contains /v1/messages (but not /chat/), or header x-api-key / anthropic-version present, or model starts with claude-.
Base URL swap:
Before: https://api.anthropic.com/v1/messages
After: https://api.naxxen.ai/v1/messagesAuth: x-api-key: sk-ant-... (API key) or Authorization: Bearer eyJ... (OAuth token for Claude Max/Pro).
Headers forwarded: anthropic-version, anthropic-beta.
Streaming ("stream": true) is fully supported with Anthropic's event-based SSE format.
| Endpoint | Method | Description |
|---|---|---|
/v1/models/{model}:generateContent | POST | Content generation |
/v1/models/{model}:streamGenerateContent | POST | Streaming content generation |
/v1/models/{model}:countTokens | POST | Token counting |
/v1beta/models/{model}:generateContent | POST | Beta content generation |
/v1beta/models/{model}:streamGenerateContent | POST | Beta streaming |
/v1beta/models/{model}:countTokens | POST | Beta token counting |
Detection: Path contains :generateContent or :streamGenerateContent, or header x-goog-api-key present, or body has systemInstruction / contents.
Base URL swap:
Before: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent
After: https://api.naxxen.ai/v1beta/models/gemini-2.5-flash:generateContentAuth: x-goog-api-key: AIza...
Streaming is indicated by :streamGenerateContent in the path (not a body field).
More endpoints coming
We're expanding endpoint support as demand grows. If you need an endpoint that's not listed here (embeddings, image generation, etc.), the request will still be forwarded — it just won't benefit from compression.
Passthrough behavior
If naxxen receives a request to an endpoint it recognizes but finds nothing to compress (e.g., only images, only short messages), the request passes through with zero overhead. You'll see these as "passthrough" turns in your dashboard.
If naxxen receives a request to an endpoint it doesn't recognize at all, it returns a 400 error with an "unknown provider" message.