Console form reference
Every field label, placeholder, and validation message the Admin Console's provider and model forms display, quoted verbatim so a string seen on screen can be searched here. What a resulting state means afterwards (credential labels, status chips, empty lists) is catalogued in Console messages and states.
How to read this page
- Strings are quoted exactly as rendered, including the UI's own punctuation. The surrounding prose follows the documentation's style; the quoted strings do not, and are not corrected.
- A field marked required shows the Console's asterisk marker and blocks saving when empty, with the quoted validation message.
- In the edit drawers, a changed field carries a (modified) badge, and closing with unsaved work asks "Discard unsaved changes?" with Keep editing and Discard changes. The footer shows "You have unsaved changes." while edits are pending.
Add provider
Opened with Add provider on the Providers list. The drawer is titled Add provider, described as "Register a provider so models can reference it.", and submits with Add provider ("Saving…" while in progress).
| Field | Required | Shown | Notes |
|---|---|---|---|
| Provider identifier | Yes | Always (create only) | Placeholder openai. Hint: "Lowercase identifier (a-z, 0-9 only). Must start with a letter." Empty: "Provider identifier is required" |
| Display name | No | Always | Placeholder OpenAI. "Optional label shown in tables and search filters." |
| API base URL | Yes | Always | Placeholder https://api.example.com/v1. Empty: "API base URL is required" |
| Auth method | No | Always | Options API Key, None, AWS, Vertex, Vertex Anthropic, Google AI Key, plus any server-supplied types as raw values. "Keep this aligned with how models authenticate against the provider." |
| Region | Yes | Auth method AWS | Placeholder us-east-1. "AWS region for the Bedrock service." Empty: "Region is required for AWS" |
| Region | Yes | Auth method Vertex or Vertex Anthropic | Placeholder us-east5. "Google Cloud region for Vertex AI." Empty: "Region is required" |
| GCP Project Name | Yes | Vertex auth methods | Placeholder my-gcp-project. "The GCP project ID where Vertex AI is enabled." Empty: "GCP Project Name is required" |
| Schema Version | No | Vertex auth methods | Read-only, pre-filled vertex-2023-10-16. "Vertex AI API schema version (readonly)." |
| Upstream API | No | Always | Options Default for auth type, OpenAI compatible, Anthropic Messages, AWS Bedrock, Google Vertex AI, Vertex AI Anthropic |
| Secret type | No | Non-AWS auth methods | Options Password and Service Account JSON; forced to Service Account JSON for Vertex auth ("Service Account JSON is required for Vertex auth types.") |
| Provider secret | Auth-dependent | Always | See Provider secret entry below |
| First-party provider | No | Always | Switch. "Highlights the provider across search results and listings." |
| Enable provider | No | Always | Switch. "Disable to keep the provider hidden until it is configured." |
Changing the auth method away from a cloud type while its region or project name is filled asks "Change Auth Method?": "Changing the auth method will remove the current cloud provider configuration fields (region, project name, etc.). This action cannot be undone.", with Cancel and Continue.
Provider secret entry
What the secret slot shows depends on the auth method:
- Non-AWS methods: a single input or JSON textarea, placeholder "Enter provider secret". A non-JSON value under a Vertex method is rejected with "Invalid JSON format for service account". The hint "Secret values aren't shown. Enter a new secret and Save (or Rotate) to update it." states the write-only contract: no read ever returns a stored secret.
- AWS: paired
AWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEYinputs, or the switch "Use IRSA / EKS Pod Identity (no static keys)". With the switch on: "No static keys needed — the data plane authenticates to Bedrock with its pod IAM role (IRSA / EKS Pod Identity)." With it off, both keys are needed; a half-filled pair is rejected with "Enter both AWS keys, or turn on "Use IRSA / EKS Pod Identity" above".
Edit provider
Opened from a provider row. The drawer is titled Edit followed by the provider's display name, described as "Update how this provider appears across the Admin Console.", and submits with Save changes, disabled until a field changes.
Only the metadata fields render here: Display name, API base URL, Upstream API, First-party provider, and Enable provider, each behaving as in the table above. The auth method and secret are not edited on this surface; credentials are entered at creation and rotated where the credential status is shown, described under Credential rotation messages.
Credential rotation messages
The credential half of the provider form appears on the surfaces that manage a stored secret (the onboarding wizard, and rotation reached from the catalog row). Its states, verbatim:
| Message | Shown when |
|---|---|
| "A static access key is stored." | AWS provider with a stored key. Beside it, Remove key (go keyless) ("Removing…" in progress) |
| "Keyless — the data plane authenticates to Bedrock with the pod's IAM role (e.g. IRSA or EKS Pod Identity). Enter keys below and Save (or Rotate) to switch to a static key." | AWS provider with no stored key |
| "A secret is stored for this provider. Enter a new one and Save (or Rotate) to replace it." | Non-AWS provider with a stored secret; the input placeholder reads "Enter new secret to rotate" and the Rotate button ("Rotating…" in progress) stays disabled until a secret is typed |
| "No secret is stored yet — enter one and Save." | Non-AWS provider with no stored secret |
| "Enter a secret to rotate" | Rotate clicked with the input empty |
| "Other fields have unsaved edits — Rotate stores only the secret. Use "Save changes" to save the edits and the secret together." | Rotate clicked while other fields hold edits (the quoted button name is the surface's submit label) |
| "This auth method requires a key. Enter one and save to switch." | The auth method was changed to a credentialed type with no key entered |
| "Changing the auth method requires a key in the new format — the stored key belongs to the previous method. To go keyless, remove the stored key first." | Auth method changed on a provider holding an AWS key, no new key entered (non-AWS stored keys are told "To go keyless, switch to None and save first.") |
| "Unable to rotate provider secret" / "Unable to save provider secret" / "Unable to remove provider secret" | The corresponding write failed and the server supplied no more specific message |
Add model and Edit model
Opened with Add model on the Models list, or Edit on a model row. The Add drawer is described as "Register a model for an enabled provider." and submits with Add model; the Edit drawer, titled Edit plus the model's name, is described as "Update model metadata and pricing details." and submits with Save changes, disabled until a field changes.
| Field | Required | Shown | Notes |
|---|---|---|---|
| Provider | Yes | Always | Add: a picker of enabled providers only ("Only providers that are currently enabled are listed."; empty catalog: "No enabled providers available" and "Enable a provider before creating models."). Edit: read-only, "Provider assignments are fixed; create a new model to move it." |
| Model identifier | Yes | Always | Placeholder e.g. gpt-4o. "Model identifier requested by the client." Empty: "Model identifier is required". Duplicates are refused, see below |
| Override upstream model identifier | No | Always | Switch: "Send a different identifier to the provider" on, "Provider receives the model identifier as-is" off |
| Upstream model identifier | Yes | Override switch on | Placeholder e.g. gpt-4o. "Use the exact identifier expected by the provider." |
| Mode | Yes | Always | Options Audio Speech, Audio Transcription, Chat, Classifier, Completion, Embedding, Image Generation, Moderation, Prompt Guard, Rerank, Responses. Empty: "Select a mode" |
| Availability | No | Always | Switch: "Enable immediately" on, "Create as disabled" off |
| Autofallback | No | Always | Switch: "Fallback routing enabled" on, "Use single provider" off |
| Fallback Models | Yes | Autofallback on | An ordered picker ("Search for a model...", three-character minimum: "Type at least 3 characters to search"). Empty: "At least one fallback model is required when autofallback is enabled"; self-reference: "A model cannot use itself as a fallback model" |
| Input tokens price (per 1M) | No | Always | Under the Pricing heading. Placeholder e.g. 15, "Specify as USD per million input tokens." (output: e.g. 60); Cached tokens price (per 1M) and Caching tokens price (per 1M) sit beside them |
| Context window | No | Always | Placeholder e.g. 128000. "Maximum supported context window for this model." |
| Capabilities | No | Always | Twenty checkboxes from Function Calling through Url Context ("Select all capabilities provided by this model."). The rendered casing, including "Pdf Support" and "Url Context", is the UI's own |
| Modalities | No | Always | Input and Output checkbox columns (Audio, Document, Embedding, Image, Text, Video in; Audio, Code, Embedding, Image, Text, Video out) |
| Limits (JSON) | No | Under Advanced | Placeholder e.g. { "rpm": 600, "tpm": 200000 }. "Model-level limits such as rpm, tpm, or max tokens." |
| Additional pricing (JSON) | No | Under Advanced | Placeholder e.g. { "input_per_image": 0.004 } |
| Envoy AI Gateway headers | No | Under Advanced | Key/value rows ("Header name" / "Header value", added with Add Header name). Duplicate keys are rejected: "Duplicate header names:" followed by the offending names |
| Metadata (JSON) | No | Under Advanced | Typing aigw-headers here warns "Envoy AI Gateway headers should be managed in the dedicated field above, not in the metadata JSON." |
Model name uniqueness
Model identifiers are unique across every provider, and both drawers enforce it twice:
- While typing, a duplicate shows the inline notice: ""<model>" is already registered under" the owning provider, "Model names must be unique across every provider — pick a different identifier (try appending the provider) and use "Override upstream model identifier" to still send" the original name "to the provider." Saving is blocked while the notice shows.
- On save, a race that reaches the server anyway returns the toast Model not created (or Model not updated): the identifier "is already taken. See the highlighted field below."
The override switch is the designed escape: the catalog name must be unique, while the identifier sent upstream does not.
Catalog discovery and copying settings
The Add drawer offers two pre-fill paths, both optional:
- "Agent Router public model catalog": with a provider selected, Load catalog lists the public catalog entries for it ("Agent Router public catalog for" the provider "; not your configured models. Selecting one pre-fills this form."), searchable with "Search catalog...", each row carrying its context size (
128K ctx) and price ($N.NN/$N.NN per 1M, orFree). Use selected model applies the row and confirms with "Loaded settings for" the model. An empty result reads "No models found for" the provider "in catalog". - "Copy settings from an existing model" (in Edit: "Copy settings from another model"): searches existing models ("Search models...") and applies one with Copy settings, confirming "Settings copied from selected model". The section states its boundary: "Provider, model identifier, and enabled state are not copied."
Guardrail provider drawer
Guardrail providers are created only by cloning a catalog template: the Guardrail Providers page has no template-free add button, by design. Use this template on a catalog card opens the drawer, titled Add provider from the template's name and described as "Configure an external guardrail provider connection.".
| Field | Shown | Notes |
|---|---|---|
| Name | Always | Placeholder e.g. Azure Content Safety; pre-filled with the template name plus "(copy)" |
| Enabled | Always | Switch |
| Endpoint | Azure Content Safety kind | Placeholder https://tars-cs.cognitiveservices.azure.com. "The endpoint of your Azure AI Content Safety resource, including the scheme." Empty: "Enter the endpoint of your Azure AI Content Safety resource."; not an absolute URL: "Enter a full URL including the scheme, e.g. https://tars-cs.cognitiveservices.azure.com" |
| API key | Azure Content Safety kind | Placeholder "Enter the resource key" (or "Enter a new key to rotate" once stored). "Credentials are never shown. Enter one and save — it is stored encrypted and no read path returns it." |
| API version (optional) | Azure Content Safety kind | Placeholder 2024-09-01. "Leave blank to track the default." |
| Timeout (optional) | Azure Content Safety kind | Placeholder 10s. "How long a single check may take, e.g. 10s." |
| Groundedness API version (optional) | Azure Content Safety kind | Placeholder 2024-09-15-preview. "Used only by the factual-consistency check, which is still in preview on Azure's side." |
| Configuration | Other kinds | A key/value grid ("Key" / "Value", added with Add Entry) |
The drawer walks a three-step sequence, and the primary button renames per step: Create provider ("Creating..."), then Store credential ("Storing..."), then Enable provider ("Enabling..."). The status box narrates the same: "Cloning" the template "Edit the connection details below." before creating, and afterwards a message stating what remains ("Enabling it is the only thing left" once the credential is stored, or "Its credential is the only thing left to store"). A failed step is recoverable in place: a failed credential write reports the provider "was created, but its credential was not stored", a failed enable says it "could not be enabled. Retry, or enable it from the provider list.", and retrying with an empty key is refused with "Enter the credential. The provider was created without one.".
Guardrail drawer
Add guardrail on the Rules page opens the drawer titled New Guardrail (Edit Guardrail when editing), described as "Define how this guardrail classifies and enforces policy.". It submits with Create or Save guardrail ("Saving..." in progress).
| Field | Notes |
|---|---|
| Name | Placeholder e.g. PII Protection |
| Description | Free text |
| Type | Compliance, Security, Policy, Custom, Evaluator |
| Category | Data privacy, Financial, Healthcare, Government, Compliance, Custom |
| Severity | Low, Medium, High, Critical, under the Configuration heading |
| Failure mode | Fail closed or Fail open |
| Evaluation timeout (ms) | Under the Response heading, default 5000. "Maximum time to wait for guardrail evaluation before applying the failure mode." |
| Triggered response | Seeded for a new guardrail with "This request was blocked by a guardrail policy." |
Guardrail rule drawer
Add rule in a guardrail's expanded rules panel opens the drawer titled Add Rule (Edit Rule when editing), described as "Rules define which provider check runs and how it is enforced.". It submits with Add rule or Save rule ("Saving..." in progress).
| Field | Notes |
|---|---|
| Name | Placeholder e.g. Detect PII |
| Description | Free text |
| Active | Switch; an inactive rule shows an Inactive badge in the rules panel |
| Provider | "Select provider"; the choice decides which check types and stages are offered |
| Check type | The provider's supported checks, rendered as labels such as PII, Toxicity, Prompt Injection, Jailbreak, Secrets, Banned Topics; unsupported checks render disabled |
| Run on | Input, Output, or Input & Output; stages a provider does not support for the check are disabled, with a hint naming the constraint (for example "Bias runs on output only for this provider.") |
| Action | Block or Redact |
| Mode | Enforce or Monitor |
| Configuration | Per-check fields, summarized below; Edit as JSON (advanced) exposes the raw object ("Provider-specific settings as a JSON object."). Invalid JSON is refused with "Configuration must be valid JSON" |
| Triggered response | Placeholder "Optional message shown when this rule fires." |
A check with nothing to configure says so in place: an LLM Guard provider states "Scanners are configured on the LLM Guard server; rules carry no per-check configuration.", and other kinds state "This check uses the provider's built-in detection; no configuration is needed."
Per-check configuration fields
The Configuration block renders fields for the selected provider and check. The recurring shapes:
- Pattern-based checks (a regexp provider, or the regexp check): a Patterns picker from the pattern library ("Search patterns…"; at least one selection is required: "Select at least one pattern") and a Redaction format field, placeholder
[REDACTED], whose help documents the{pattern_name}placeholder. - Threshold-based checks (ban topics, bias, toxicity): a tag list of categories or topics plus a threshold field, placeholder "Provider default", "Between 0 and 1. Leave empty to use the provider default."
- Prompt injection: Sensitivity, a Known injection patterns regex list ("Regexes matched against the input; any match triggers immediately, before ML detection."), and an ML-based detection switch.
- Ban substrings: the literal strings, plus a Case sensitive switch ("Off matches regardless of casing.").
- Secrets: named Secret types with clickable suggestions, Custom patterns, and an Entropy analysis switch ("Also flag long, high-entropy tokens that look like credentials.").
- Language: Allowed languages as ISO 639-1 codes and a Block unknown languages switch ("Trigger when no language can be detected.").
- Grounding sources (the factual-consistency check): one reference text per line; "The rule triggers when the response contains claims not grounded in these sources."
Pattern drawer
New pattern on the Patterns page opens the drawer titled New pattern, described as "Create a reusable regex pattern for guardrail rules.". It submits with Create pattern ("Creating..." in progress).
| Field | Notes |
|---|---|
| Name | Placeholder credit_card_number. "Unique identifier (snake_case). Cannot be changed later."; an invalid value flips the hint to "Must be snake_case: lowercase, starting with a letter." |
| Display name | Placeholder Credit card number |
| Category | Placeholder financial, with existing categories suggested. "Pick an existing category or type a new one." |
| Description | Placeholder "Optional description of what this pattern matches." |
| Regex | Validated live in the browser ("Regex compiles in the browser before it is saved."); an invalid expression shows the browser's own error |
A pattern's detail page carries the same fields in edit mode (the name read-only), plus a Test pattern card: paste text under Sample text ("Paste sample text to test against this pattern."), Run, and the result counts matches with the matches highlighted. Builtin patterns cannot be edited or deleted: "Builtin patterns are managed by the system and cannot be edited or deleted."
Related
- Console messages and states: what a badge, chip, or empty state means once configuration is saved
- Add providers and models to projects: the workflow these forms belong to
- Configuration propagation: when a saved change reaches the gateway