Ingram Cloud

Documentation

Models

Models

Every agent and smith runs on a model id — its model field. The backend provider is inferred from the id: gpt-* and o* route to OpenAI, claude-* to Anthropic, gemini-* to Google. The id is not gated: any model string those providers serve works once a key for that provider resolves. The catalog below is the curated set the console offers in the per-agent picker — flagship first, one provider per group.

Catalog

Each provider's current top models plus the previous-generation flagship:

ProviderModel id
OpenAIgpt-5.5GPT-5.5 — flagship
OpenAIgpt-5.5-miniGPT-5.5 mini — fast, low-cost
OpenAIgpt-5.4GPT-5.4 — previous flagship
Anthropicclaude-opus-4-8Claude Opus 4.8 — flagship
Anthropicclaude-opus-4-7Claude Opus 4.7 — previous flagship
Anthropicclaude-sonnet-4-6Claude Sonnet 4.6 — balanced
Anthropicclaude-haiku-4-5Claude Haiku 4.5 — fastest
Googlegemini-3.1-proGemini 3.1 Pro — flagship
Googlegemini-3.5-flashGemini 3.5 Flash — balanced
Googlegemini-3.1-flash-liteGemini 3.1 Flash-Lite — high-volume
Googlegemini-2.5-proGemini 2.5 Pro — previous flagship

The catalog is a convenience, not a constraint — set any id your provider serves via the API and it resolves by prefix (e.g. Anthropic's claude-fable-5). Use the flagship a tier needs; don't pay for one it doesn't.

Keys: hosted or bring-your-own

A model runs on a key for its provider, resolved in order:

  1. BYOK — the tenant's own key for that provider (PUT /v1/tenant/model_keys/{provider}), wins when present.
  2. Ingram-hosted — the platform key, used when no BYOK key is set (unless hosted keys are disabled).

If neither resolves, a run on that model fails with 422 model_key_missing.

List what you can run

GET /v1/tenant/models returns the catalog plus, per model, whether a key resolves (available) and whose (source: "byok", "hosted", or null):

# Authorization: tenant token with runs:read (server-side only)
curl https://api.cloud.ingram.tech/v1/tenant/models \
  -H "Authorization: Bearer $IC_TOKEN" \
  -H "IC-Api-Version: 2026-05-01"
# → { "data": [ { "id": "claude-opus-4-8", "provider": "anthropic",
#                 "label": "Claude Opus 4.8", "available": true,
#                 "source": "hosted" }, … ],
#     "providers": [ { "id": "openai", "label": "OpenAI",
#                      "base_url": true, "hosted": true }, … ] }

A provider with base_url: true (OpenAI) accepts a custom endpoint on its BYOK key, so any OpenAI-compatible backend can stand in.

Set or remove a BYOK key (tenant-admin token only; the key is never echoed):

# Authorization: tenant-admin token (server-side only)
curl -X PUT https://api.cloud.ingram.tech/v1/tenant/model_keys/openai \
  -H "Authorization: Bearer $IC_ADMIN_TOKEN" \
  -H "IC-Api-Version: 2026-05-01" \
  -H "Content-Type: application/json" \
  -d '{ "api_key": "sk-…" }'
# → { "provider": "openai", "configured": true, "base_url": null }

In the console

Settings → Models lists the providers and which hold a key, and is where you add or remove BYOK keys. The per-agent model picker (on an agent or smith) lists this catalog grouped by provider and flags any model whose provider has no key configured — still selectable, but runs on it fail until a key is set.