Overview
The Agents Controls section has four tabs:Models Configuration
Allowed Models
By default, organizations can use all models enabled by the platform administrator. You can restrict this to a specific list.- Go to Agents Controls > Models
- Toggle Restrict Models
- Select which models to allow
- Click Save
Default Models
Set the default models used when agents don’t specify one:Quota Policy
Configure what happens when quota limits are reached:Downgrade Mapping
When using soft downgrade, configure which models to substitute:Failover Mapping
Configure automatic failover when a model is unavailable:- 5xx errors: switches to the failover model from the mapping, or falls back to the default completion model (with linear backoff 1s, 2s, 3s…)
- 429 rate limits: retries the same model after a 5s backoff
- Other 4xx errors: returned immediately without retry
- Up to 3 attempts (configurable, hard cap of 10)
- Failover models are validated against governance access controls before use
- Failover only applies to non-streaming requests
Model Routing
The LLM Gateway supports intelligent model routing — selecting the best model for a request based on configurable strategies. Usemodel: "auto" in API calls to trigger routing.
Routing Strategies
Rule-Based Routing
Define conditions to route requests to different models:messages_count with operators <, >, <=, >=, =. If the selected model is blocked by governance, routing falls back to the default.
Usage Monitoring
The Usage tab shows consumption against your subscription quotas.Tracked Metrics
Understanding Quotas
Quotas are defined in your subscription:- Rate limits reset after the time window (minute, hour, day)
- Cumulative limits accumulate until the billing period resets
Usage Display
Each metric shows:- Current value vs. limit
- Percentage consumed
- Visual progress bar (yellow at 80%, red at 95%)
Per-Agent Model Restrictions
The Agents tab lets you restrict which models specific agents can use.Why Restrict Agents?
- Cost control: Limit expensive model usage to specific agents
- Compliance: Ensure sensitive agents only use approved models
- Testing: Restrict test agents to cheaper models
Configuring Agent Models
- Go to Agents Controls > Agents
- Find the agent to configure
- Click Configure Models
- Select allowed models (or leave empty for org defaults)
- Save changes
Service Accounts
Service accounts provide machine-to-machine authentication. See Identity & Access for details. In the context of Model Governance:- Link service accounts to specific agents
- Track which service accounts consume LLM resources
- Control model access per service account
Model Lifecycle: Hidden vs Disabled
A platform administrator can manage a model’s availability at three levels of severity. Each level has a different effect on what the LLM Gateway accepts, what surfaces in UI pickers, and whether the model is auto-pruned from organization allowlists.”LLM Gateway” designates the product responsible for llm calls execution and authorization, whether through API calls or chat front-end.
State matrix
Why hidden is not the same as disabled
Thehidden flag exists specifically to deprecate a model from UI selection without breaking direct API usage or existing agents that already point to it. Saving the organization’s Allowed models panel without a hidden model would effectively forbid it, so hidden models are left in the list — only filtered out of agent-level dropdowns. An agent that had selected a model before it became hidden keeps using it, and API consumers calling /chat/completions with that model_id keep working.
If a model truly must be retired, use Disabled (or delete it from the catalog) to prevent any agent from using it.
Warnings surfaced in the Agent Creator
When you open an agent whose currently-configured model is no longer fully usable, the model picker surfaces one of two messages:- 🔴 Error — model unusable: the model has been deleted, disabled at platform level, or removed from the org / agent allowlist. The agent will fail to process any request until you select another model.
- 🟡 Warning — model hidden: the model has only been hidden at platform level. The agent still works for now, but you’re no longer expected to pick this model — please switch to another one.
Model Access Control
When a request arrives, the LLM Gateway validates the requested model against three sequential allowlists:- Org allowlist — Is the model in the organization’s allowed models? (if the list exists and has entries)
- Agent allowlist — Is the model in the agent’s allowed models? (passed by agent-factory)
- API key scopes — Is the model allowed by the API key’s scopes?
- Soft Downgrade: silently swaps to the default completion model
- Hard Block (default): returns a
403error withMODEL_NOT_ALLOWED
Carbon Footprint Tracking
Every LLM call includes an estimated environmental impact in the response:
Carbon data is included in analytics events and powers the observability dashboards.
Supported Providers
The LLM Gateway abstracts multiple providers behind a unified API:
All providers are normalized to the OpenAI API format for chat completions and streaming (SSE).
Provider Options
Every provider block in the LLM Gateway config exposes a uniformoptions object that lets you reshape the request just before it hits the upstream endpoint, without changing application code. Three options are supported, all consumed by the same path inside fetchLLM:
The same three options are also exposed in the Agents Controls → Providers UI for every provider type. Backwards-compatible: any option you omit is a no-op.
Provider options are configured per-provider in the workspace that owns the provider config — LLM Gateway (
providers.<provider>.options.*) for the current LLM Gateway architecture, or AI Knowledge (llm.<provider>.options.*) for the legacy AI Knowledge stack. The OpenAI app instance is a pass-through and is not the configuration surface; editing it directly there has no effect on traffic that flows through the gateway.parameterAliases
Each entry is a { from, to } pair. When a key matching from is present in the request body, it is renamed to to (the value is preserved, the old key is dropped). Typical use: a provider exposes the OpenAI Chat Completions surface but renamed max_tokens to max_completion_tokens.
excludeParameters
Each entry is a body key name to delete before the request is sent. Typical use: a model rejects top_p or presence_penalty and you want to keep your app code provider-agnostic instead of conditionally stripping.
headers
A map of name → value HTTP header pairs attached to every upstream request. Typical uses: tenant-aware gateways (e.g. Azure API Management in front of Bedrock / Anthropic / Vertex), custom auth schemes, request tagging for cost attribution, or correlating upstream provider logs with Prisme.ai audit trails.
Static values are sent verbatim:
Runtime placeholders inject context from the calling Prisme.ai request. The value of the header must be exactly one of the patterns below:
Resolution rules for
{user.<path>}:
- If the path doesn’t exist on the user object, the header value resolves to an empty string.
- If the resolved value is not a string (object, array, number), it is JSON-stringified before being sent.
openailike) — typical case of routing through a custom gateway:
- Custom headers are merged on top of the provider’s default headers (auth + content-type + provider-specific headers like
anthropic-version). Reusing a default header name will override it — useful forAuthorizationonopenailikewhen the upstream requires a non-Bearer scheme, or forx-api-keyonanthropicwhen fronting Anthropic with an API Management gateway whose key differs from the upstream key. - For multipart endpoints (image edits,
openailikeonly), theContent-Typeis dropped automatically so the runtime can set the multipart boundary. - On Bedrock and Vertex, the standard provider auth (AWS Signature v4 / Google service account token) is always added by the gateway, regardless of
options.headers— you cannot disable it through this option.
Custom Endpoint (Anthropic)
The native Anthropic provider supports an optionalendpoint field. When set, it is used verbatim as the request URL instead of the default https://api.anthropic.com/v1/messages. This lets the Anthropic provider target any Anthropic-compatible host — self-hosted Claude deployments, Anthropic-compatible gateways, or Azure AI Foundry endpoints whose URL doesn’t fit the standard {resource}.{domain}/anthropic/v1/messages scheme.
Like the provider options above, this is configured in the workspace that owns the provider config — LLM Gateway (
config.value.providers.anthropic.endpoint). The OpenAI app instance is a pass-through and is not the configuration surface.workspaces/llm-gateway/index.yml, under config.value.providers.anthropic):
- Additive — omit
endpointand the provider behaves exactly as before, callinghttps://api.anthropic.com/v1/messages. - Selectable auth scheme — set
auth_schemeto control how the key is sent:x-api-key(default, the standard Anthropic header),api-key, orbearer(sendsAuthorization: Bearer <api_key>and omitsx-api-key). The key or token always goes inapi_key. Omitauth_schemeto keep the defaultx-api-keybehavior. For richer needs (multiple auth headers, gateway subscription keys, request tagging), useoptions.headers— it overrides anything set byauth_scheme. - Include the full path — the value is taken as-is; append
/v1/messages(or whatever path the host exposes). - vs Azure OpenAI
format: anthropic— if the URL fitshttps://{resource}.{domain}/anthropic/v1/messages, configure it as anazure_openai.resourcesentry withformat: anthropic(you get URL forging and can co-locate GPT + Claude on one resource). Useanthropic.endpointwhen the URL does not fit that scheme.
Best Practices
Start Restrictive
Begin with a limited model list and expand based on need
Use Soft Downgrade
Prefer soft downgrade to maintain service during quota limits
Monitor Usage
Set alerts before hitting quota limits
Configure Failover
Ensure critical workflows have failover models
Common Scenarios
- Cost Control
- Compliance
- High Availability
To minimize costs while maintaining quality:
- Enable Soft Downgrade policy
- Configure downgrade mapping:
claude-3-opus→claude-3-sonnetgpt-4→gpt-3.5-turbo
- Set conservative monthly token limits
- Use rule-based routing to prefer cheaper models for simple requests
Next Steps
Capabilities
Manage tools, MCP servers, and guardrails
Observability
Monitor model costs and performance