Supported Providers

Route to any provider using the x-proxiq-provider request header. Security policies, DLP, caching, and routing apply regardless of which provider you use.


Provider table

Provider Header value Wire format
Anthropic anthropic Anthropic Messages API
OpenAI openai OpenAI Chat Completions
Azure OpenAI azure-openai OpenAI-compatible
Google Gemini gemini Gemini API
Groq groq OpenAI-compatible
Perplexity perplexity OpenAI-compatible
Mistral mistral OpenAI-compatible
Together AI together OpenAI-compatible
Fireworks AI fireworks OpenAI-compatible
DeepInfra deepinfra OpenAI-compatible
Anyscale anyscale OpenAI-compatible
Ollama (local) ollama OpenAI-compatible
LM Studio lmstudio OpenAI-compatible
Custom / vLLM custom Configurable

Usage examples

Anthropic

curl http://127.0.0.1:3099/v1/messages \
  -H "x-proxiq-provider: anthropic" \
  -H "Authorization: Bearer $ANTHROPIC_API_KEY" \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"model":"claude-sonnet-4-6","max_tokens":256,"messages":[{"role":"user","content":"Hello!"}]}'

OpenAI

curl http://127.0.0.1:3099/v1/chat/completions \
  -H "x-proxiq-provider: openai" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Hello!"}]}'

Groq

curl http://127.0.0.1:3099/v1/chat/completions \
  -H "x-proxiq-provider: groq" \
  -H "Authorization: Bearer $GROQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"llama-3.3-70b-versatile","messages":[{"role":"user","content":"Hello!"}]}'

Ollama (local, no auth required)

curl http://127.0.0.1:3099/v1/chat/completions \
  -H "x-proxiq-provider: ollama" \
  -H "Content-Type: application/json" \
  -d '{"model":"llama3.2","messages":[{"role":"user","content":"Hello!"}]}'

Azure OpenAI

Configure resource name and API version in .proxiq.json:

{
  "providers": {
    "default": "azure-openai",
    "azureOpenai": {
      "resourceName": "my-azure-resource",
      "apiVersion": "2024-02-01"
    }
  }
}
curl http://127.0.0.1:3099/v1/chat/completions \
  -H "x-proxiq-provider: azure-openai" \
  -H "Authorization: Bearer $AZURE_OPENAI_KEY" \
  -d '{"model":"gpt-4o","messages":[{"role":"user","content":"Hello!"}]}'

Custom / private endpoint (vLLM, etc.)

{
  "providers": {
    "custom": {
      "baseUrl": "https://my-private-llm.internal/v1",
      "format": "openai-compatible"
    }
  }
}
curl http://127.0.0.1:3099/v1/chat/completions \
  -H "x-proxiq-provider: custom" \
  -H "Content-Type: application/json" \
  -d '{"model":"my-model","messages":[{"role":"user","content":"Hello!"}]}'

Restricting providers per policy

Security policies can limit which providers a token is allowed to use. For example, a banking-strict policy might restrict all traffic to Anthropic only:

{
  "policies": {
    "banking-strict": {
      "allowedProviders": ["anthropic"]
    }
  }
}

Requests to any other provider from a token assigned this policy will be rejected at the gateway — before reaching the upstream.