Model & Provider Catalog
The single source of truth for every provider and model PromptHelm supports — managed centrally, consumed everywhere.
PromptHelm keeps one central catalog of every AI provider and model the platform supports. Admins curate it; the dashboard, gateway, and SDKs all read from it. Adding a provider or model is an operations task — not a frontend deploy.
Why a central catalog
Before, the dashboard shipped a hardcoded list of providers. Supporting a new one (Mistral, Groq, xAI, …) meant editing and redeploying the UI. Now the catalog is data: the admin panel writes it, and every surface that needs to know "which providers exist" or "what does this model cost" reads the same backend endpoints.
No platform keys in the catalog
The catalog stores only public metadata — display names, docs links,
pricing, capabilities. Your provider API keys live separately, encrypted,
in provider_keys, and are never part of the catalog.
Two catalogs, two endpoints
Both endpoints sit under the gateway base URL and return platform-wide, non-sensitive metadata, so no API token is required.
Providers
GET /api/v1/providers/catalog lists every active provider with the
metadata a client needs to render an "add API key" screen:
curl https://api.prompthelm.app/api/v1/providers/catalog[
{
"providerId": "anthropic",
"displayName": "Anthropic",
"authScheme": "x-api-key",
"description": "Claude family models.",
"docsUrl": "https://docs.anthropic.com",
"logoUrl": "https://..."
}
]| Field | Notes |
|---|---|
providerId | Stable id used everywhere (model routing, provider keys). |
displayName | Human label shown in the UI. |
authScheme | bearer, x-api-key, or query — drives the key hint. |
description | Optional short blurb. |
docsUrl | Optional link to the provider's own docs. |
logoUrl | Optional brand logo. |
Routing internals (base URL, validation URL, adapter type, extra headers) are never exposed here.
Models
GET /api/v1/models/catalog returns the full model catalog keyed by
model id, refreshed daily at 03:00 UTC:
curl https://api.prompthelm.app/api/v1/models/catalog{
"models": {
"claude-sonnet-4-5": {
"providerId": "anthropic",
"family": "claude-sonnet",
"displayName": "Claude Sonnet 4.5",
"inputPricePer1M": 3.0,
"outputPricePer1M": 15.0,
"cachedInputPricePer1M": 0.3,
"contextWindow": 200000,
"capabilities": {
"streaming": true,
"functions": true,
"vision": true,
"reasoning": true,
"caching": true
}
}
}
}Each entry carries pricing (input, output, and optional cached-input
rates per 1M tokens), the context window, capability flags, and optional
deprecation markers. The dashboard groups models by providerId to
build the model pickers in the playground and prompt editor.
Managing the catalog (admin)
The admin panel is the only place the catalog is written. From it an admin can:
- Add, edit, or deactivate a provider (display copy, docs link, logo, auth scheme, and the routing internals consumed only by the gateway).
- Review the model catalog and its pricing/capability metadata.
Deactivating a provider removes it from GET /providers/catalog
immediately — existing tenant keys are untouched, but the provider stops
appearing in the "add provider key" surface.