Skip to main content

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).

FieldRequiredShownNotes
Provider identifierYesAlways (create only)Placeholder openai. Hint: "Lowercase identifier (a-z, 0-9 only). Must start with a letter." Empty: "Provider identifier is required"
Display nameNoAlwaysPlaceholder OpenAI. "Optional label shown in tables and search filters."
API base URLYesAlwaysPlaceholder https://api.example.com/v1. Empty: "API base URL is required"
Auth methodNoAlwaysOptions 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."
RegionYesAuth method AWSPlaceholder us-east-1. "AWS region for the Bedrock service." Empty: "Region is required for AWS"
RegionYesAuth method Vertex or Vertex AnthropicPlaceholder us-east5. "Google Cloud region for Vertex AI." Empty: "Region is required"
GCP Project NameYesVertex auth methodsPlaceholder my-gcp-project. "The GCP project ID where Vertex AI is enabled." Empty: "GCP Project Name is required"
Schema VersionNoVertex auth methodsRead-only, pre-filled vertex-2023-10-16. "Vertex AI API schema version (readonly)."
Upstream APINoAlwaysOptions Default for auth type, OpenAI compatible, Anthropic Messages, AWS Bedrock, Google Vertex AI, Vertex AI Anthropic
Secret typeNoNon-AWS auth methodsOptions Password and Service Account JSON; forced to Service Account JSON for Vertex auth ("Service Account JSON is required for Vertex auth types.")
Provider secretAuth-dependentAlwaysSee Provider secret entry below
First-party providerNoAlwaysSwitch. "Highlights the provider across search results and listings."
Enable providerNoAlwaysSwitch. "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_ID and AWS_SECRET_ACCESS_KEY inputs, 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:

MessageShown 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.

FieldRequiredShownNotes
ProviderYesAlwaysAdd: 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 identifierYesAlwaysPlaceholder e.g. gpt-4o. "Model identifier requested by the client." Empty: "Model identifier is required". Duplicates are refused, see below
Override upstream model identifierNoAlwaysSwitch: "Send a different identifier to the provider" on, "Provider receives the model identifier as-is" off
Upstream model identifierYesOverride switch onPlaceholder e.g. gpt-4o. "Use the exact identifier expected by the provider."
ModeYesAlwaysOptions Audio Speech, Audio Transcription, Chat, Classifier, Completion, Embedding, Image Generation, Moderation, Prompt Guard, Rerank, Responses. Empty: "Select a mode"
AvailabilityNoAlwaysSwitch: "Enable immediately" on, "Create as disabled" off
AutofallbackNoAlwaysSwitch: "Fallback routing enabled" on, "Use single provider" off
Fallback ModelsYesAutofallback onAn 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)NoAlwaysUnder 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 windowNoAlwaysPlaceholder e.g. 128000. "Maximum supported context window for this model."
CapabilitiesNoAlwaysTwenty 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
ModalitiesNoAlwaysInput and Output checkbox columns (Audio, Document, Embedding, Image, Text, Video in; Audio, Code, Embedding, Image, Text, Video out)
Limits (JSON)NoUnder AdvancedPlaceholder e.g. { "rpm": 600, "tpm": 200000 }. "Model-level limits such as rpm, tpm, or max tokens."
Additional pricing (JSON)NoUnder AdvancedPlaceholder e.g. { "input_per_image": 0.004 }
Envoy AI Gateway headersNoUnder AdvancedKey/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)NoUnder AdvancedTyping 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, or Free). 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.".

FieldShownNotes
NameAlwaysPlaceholder e.g. Azure Content Safety; pre-filled with the template name plus "(copy)"
EnabledAlwaysSwitch
EndpointAzure Content Safety kindPlaceholder 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 keyAzure Content Safety kindPlaceholder "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 kindPlaceholder 2024-09-01. "Leave blank to track the default."
Timeout (optional)Azure Content Safety kindPlaceholder 10s. "How long a single check may take, e.g. 10s."
Groundedness API version (optional)Azure Content Safety kindPlaceholder 2024-09-15-preview. "Used only by the factual-consistency check, which is still in preview on Azure's side."
ConfigurationOther kindsA 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).

FieldNotes
NamePlaceholder e.g. PII Protection
DescriptionFree text
TypeCompliance, Security, Policy, Custom, Evaluator
CategoryData privacy, Financial, Healthcare, Government, Compliance, Custom
SeverityLow, Medium, High, Critical, under the Configuration heading
Failure modeFail 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 responseSeeded 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).

FieldNotes
NamePlaceholder e.g. Detect PII
DescriptionFree text
ActiveSwitch; 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 typeThe provider's supported checks, rendered as labels such as PII, Toxicity, Prompt Injection, Jailbreak, Secrets, Banned Topics; unsupported checks render disabled
Run onInput, 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.")
ActionBlock or Redact
ModeEnforce or Monitor
ConfigurationPer-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 responsePlaceholder "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).

FieldNotes
NamePlaceholder 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 namePlaceholder Credit card number
CategoryPlaceholder financial, with existing categories suggested. "Pick an existing category or type a new one."
DescriptionPlaceholder "Optional description of what this pattern matches."
RegexValidated 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."