Skip to main content
Version: v5.6.1

opschain admin model-providers create

packs:ai-agents

Registers a model provider. The code (the estate identifier agent manifests reference and the gateway path carries) and the kind are immutable after create; everything else can change through the update verb. The API key is write-only: supply it through --credential-env (the name of an environment variable holding it) or --credential-prompt (a no-echo prompt), never on the command line; it is encrypted at rest and no read ever returns it.

Creating a provider requires the packs:ai-agents entitlement — the typed FEATURE_ENTITLEMENT_REQUIRED refusal names it.

ANTHROPIC_KEY=sk-ant-... opschain admin model-providers create demo-anthropic \
--kind anthropic --credential-env ANTHROPIC_KEY
Created model provider demo-anthropic (kind anthropic)

The endpoint defaults per kind for the hosted kinds (https://api.anthropic.com for anthropic, https://api.openai.com/v1 for openai — the OpenAI-SDK base URL shape, version segment included); --endpoint overrides it for a proxied or self-hosted compatible endpoint.

The Azure kinds target inference endpoints in your own Azure tenancy, so --endpoint is required — there is no platform default:

  • azure-foundry-anthropic — Claude models deployed in Azure AI Foundry, speaking the Anthropic wire format: --endpoint https://<resource>.services.ai.azure.com/anthropic.
  • azure-openai — GPT-family models on Azure OpenAI, speaking the OpenAI chat-completions wire at your deployment URL; a legacy deployment's api-version rides in the endpoint string itself, e.g. --endpoint "https://<resource>.openai.azure.com/openai/deployments/<name>?api-version=2024-10-21" (or the v1 shape https://<resource>.openai.azure.com/openai/v1).

Authentication to the Azure kinds is by API key (the gateway injects x-api-key for azure-foundry-anthropic, api-key for azure-openai); Microsoft Entra ID authentication is a planned follow-up.

The openai-compatible kind registers a model you host yourself — vLLM, Ollama, TGI, llama.cpp server, LiteLLM or any other stack speaking the OpenAI wire format. --endpoint is required (your own base URL, e.g. --endpoint https://models.internal.example/v1) and the credential is optional: with one stored the gateway sends it as Authorization: Bearer, without one it sends no auth header at all — the usual shape for an unauthenticated or mTLS-fronted internal endpoint. The --ssl-verify and --ssl-ca-cert flags cover endpoints behind a private certificate authority. The gateway forwards requests and responses faithfully and never translates the protocol, so wire-format fidelity is the hosting stack's responsibility.

Reference custody​

Custody is reference-first: the record stores a secret-vault:// reference, never a value. --credential-ref pins an existing reference, resolved at write time - an unresolvable reference refuses by name. An inline credential is vault-write sugar: the value lands in the platform vault under the reserved path and only the resulting reference is stored. Records created before the retrofit keep their inline encrypted credential until the next credential write, which moves custody to the vault.

Flags​

FlagMeaning
--server <url>Server base URL (default: the active context / OPSCHAIN_SERVER).
--auth-token <token>Admin bearer token override (default: your opschain login session, then $OPSCHAIN_ADMIN_TOKEN, then the token stored by opschain admin login).
--kind <kind>Provider kind: anthropic, openai, azure-foundry-anthropic, azure-openai or openai-compatible. Immutable after create.
--display-name <name>Human-readable provider name.
--endpoint <url>Endpoint base URL (empty: the kind's default where one exists; required for the Azure kinds and openai-compatible).
--data-handling-approvedMarks the entry's data-processing terms as reviewed and approved for lanes that process customer-submitted content (default false — a new entry is unreviewed). The approval is a property of this entry, so a future or custom provider inherits the same one-time check; record the review's outcome before setting it.
--ssl-verifyVerify the endpoint's TLS certificate (default true; --ssl-verify=false is an explicit opt-out for self-signed endpoints).
--ssl-ca-cert <path-or-pem>CA trust anchor for the endpoint connection: a PEM block inline or a certificate file path on the server host.
--enabledWhether the gateway serves calls for this provider (default true).
--credential-ref <ref>secret-vault:// reference to pin as the credential (mutually exclusive with the inline channel).
--credential-promptPrompt for the API key without echo.

See also​

  • opschain docs cli/admin-model-providers-update — rotation and enable/disable.