Models and providers
Discover the models and providers your tenant can reach, and harden a prompt before you send it.
- Version: 0.4
- Role: admin_user, normal_user, viewer
- Type: reference
The gateway serves a model catalog filtered to what your tenant can actually call, and a helper that rewrites a prompt to resist injection.
List models
GET /models
Accepts either a JWT or a gateway API key (Authorization: Bearer cid_key_<64 hex>). It takes no
query parameters and does not paginate.
The catalog is filtered, not global. A model appears only when its provider has an active credential resolvable for your tenant — first the tenant's own credentials, then the credentials of any tenant group it belongs to. A tenant with no credential at all receives an empty array.
| Field | Type | Description |
|---|---|---|
id | number | Internal model identifier. An auto-incrementing integer, not a UUID |
model_name | string | The provider's own model name. This is the value you send as model in a chat request |
display_name | string | Label the dashboard shows |
provider | object | {id, code, name} of the owning provider |
supports_vision | boolean | Whether the model accepts image input |
supports_streaming | boolean | Whether the provider streams token deltas |
is_active | boolean | Whether the model is enabled |
created_at | string | ISO 8601 timestamp of registration |
Results are ordered by display_name, ascending.
Note
supports_streaming describes the provider connection, not the response you receive. Every
/chat/completions call returns text/event-stream regardless, and the gateway emits the whole
reply as a single content event after output filtering.
Seeded catalog
A freshly seeded deployment registers these providers and models. What a given tenant sees is a subset, decided by its credentials.
| Provider code | Provider name | Models |
|---|---|---|
openai | OpenAI | gpt-4o (GPT-4o (Vision)), gpt-4o-mini (GPT-4o Mini (Vision)), gpt-4-turbo (GPT-4 Turbo), gpt-3.5-turbo (GPT-3.5 Turbo) |
azure_openai | Azure OpenAI | gpt-4o, gpt-4o-mini, gpt-4-turbo, gpt-35-turbo |
anthropic | Anthropic | claude-opus-4-6, claude-sonnet-4-6, claude-sonnet-4-5-20250929, claude-haiku-4-5-20251001, claude-opus-4-1-20250805, claude-sonnet-4-20250514, claude-opus-4-20250514 |
google | gemini-2.5-flash, gemini-2.5-pro | |
ollama | Self-Hosted (Spark Ollama) | Two uncensored red-team models |
Note that Azure names its 3.5 model gpt-35-turbo, without the dot, while OpenAI names it
gpt-3.5-turbo. Only the OpenAI-hosted gpt-4o and gpt-4o-mini rows are marked
supports_vision: true; the Azure rows of the same names are not.
Warning
openai and azure_openai both register gpt-4o, gpt-4o-mini and gpt-4-turbo. When a
tenant holds credentials for both, model alone is ambiguous and you must also send provider
in the chat request.
The two ollama red-team models are hidden from ordinary users. They appear only when the caller's
role is admin_user, superadmin or viewer.
List providers
GET /chat/providers
The entries and total reflect the providers configured on your gateway, so they vary per
deployment. supported says whether the gateway can route chat traffic to that provider.
Harden a prompt
POST /chat/harden-prompt
Rewrites a prompt to resist instruction override and returns a risk assessment. The body is
{"prompt": "…"}, between 1 and 10,000 characters.
The gateway performs the rewrite by calling Anthropic's claude-sonnet-4-20250514 with the
tenant's own Anthropic credential. A tenant with no resolvable Anthropic credential cannot use this
endpoint, and the call is billed to that credential like any other completion.
improvements[].category is one of security, clarity, structure, guardrails or output.
risk_assessment.original_risk is low, medium or high.
Note
Prompt hardening is a helper, not a control. It does not replace the input safety filter, which runs on every chat request whether or not the prompt was hardened first.
Related
- Chat API — how
modelandproviderare used in a completion request. - Content detection — the filter that runs on every prompt.
- Multi-tenancy — how credential resolution decides what a tenant sees.
Last updated on