Providers and model naming
Connect providers and choose models
Hardcarrx routes to hosted model providers. Your provider credentials stay in your workspace; your application only ever holds the Hardcarrx API key.
Stored provider credentials (recommended)
Add a provider credential in Dashboard → Providers. Requests then need only provider and model — the stored credential resolves automatically and is never exposed to your application.
curl https://api.hardcarrx.com/v1/providers
See which providers the public catalog offers, or use the registry endpoints for freshness and routable summaries:
curl https://api.hardcarrx.com/v1/public/llm-providers/summary
curl "https://api.hardcarrx.com/v1/public/registry/models?provider=openai"
Inline provider key (BYOK)
For one-request usage without storing a credential, send provider_key in the request body. It is used only for that request.
curl https://api.hardcarrx.com/v1/chat/completions \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{
"provider": "openrouter",
"provider_key": "your_provider_api_key",
"model": "openai/gpt-4o-mini",
"messages": [{"role": "user", "content": "Hello"}]
}'Model naming
Two identifier styles are accepted:
- Provider-facing id — e.g.
gpt-4.1-mini, used with a matchingproviderfield. - Canonical
provider/modelform — e.g.openai/gpt-4o-mini, which names the runtime provider and model in one value.
-d '{ "provider": "openrouter", "model": "openai/gpt-4o-mini", ... }'The canonical provider/model identity is what the public model directory (/v1/public/models/directory) and registry endpoints return — use it when you want one stable identifier across providers.