Providers & Day-Zero Models
Supported providers
Create an agent against any of these upstreams. Each agent gets its own route with the provider key injected from a KnoxCall secret — your app never holds it.
Azure OpenAI and Ollama are tenant-specific, so you supply the upstream base
URL when creating the agent. Bedrock is on the roadmap (it needs SigV4 egress
signing — a separate change).
Gemini and Cohere use their own native request/response shapes — send Gemini
requests in Gemini’s format and Cohere in Cohere’s. The gateway proxies them
through unchanged; PII redaction,
firewall, budgets, and
usage attribution all still apply. OpenAI ↔ Anthropic shape translation is
automatic on the buffered path for those two.
Day-zero models — the runbook
When a provider ships a new model, you don’t wait on a KnoxCall release. Two steps, no remote config fetch (a deliberate post-supply-chain-compromise choice — the gateway never pulls config from a third party at runtime):- Use it immediately. Set the new model id in your request (or as the agent’s default model). The gateway proxies any model the upstream accepts — there is no allowlist unless you add one.
- Price it (for budgets/chargeback). Add a row to the relevant
packs/ai-gateway-pricebook/{provider}.jsonmanifest with the list price and a datedeffective_from, then reseed. Until then the call still succeeds and is recorded withcost_source = 'unpriced'(never silently $0), and the weekly pricebook-drift check raises an alertableai_gateway.unpriced_modelevent so you know to add it. See Budgets & FinOps.
Model allow/deny
Optionally constrain which models an agent may call via its model allowlist / denylist (Models tab, ormodel_allowlist on the agent). A request for a model
outside the allowlist is rejected before it reaches the upstream.