Skip to main content

Overview

A model connection represents one upstream model in Dome. The connection stores the configuration and credentials Dome needs to call that model. An agent selects the connection by putting its name in the request’s model field. A pool groups multiple models behind one name. Dome selects one member for each request. Prefer a pool when you need routing, traffic distribution, or failover. Refer to Pools concept. The typical workflow is:
  1. Choose a provider and model identifier.
  2. Add the model with its upstream credentials.
  3. Attach the model directly to a Gateway or add it to a model pool.
  4. Allow the Gateway on the agent.
  5. Verify the route with that agent’s API key.

Providers

The provider determines how Dome translates requests and where Dome places the upstream credential. You cannot change the provider after adding the model. Provider IDs fall into three groups.
  • Native providers. Dome translates between the Gateway request and the provider’s native wire format: openai, anthropic, google, azure_openai, and bedrock.
  • Hosted OpenAI-compatible providers. Dome sends requests through the provider’s OpenAI-compatible API (for example mistral, groq, together, openrouter, databricks).
  • Bring your own endpoint. Use openai_compatible for an OpenAI-shaped endpoint such as vLLM or Ollama. Use custom when Dome should forward provider-specific requests without translating them.
Dome supplies a base URL for hosted providers that have a default. For Google, Azure OpenAI, Bedrock, Databricks, openai_compatible, and custom, you must provide an endpoint or the provider-specific details needed to locate the model. The full provider ID list is on the Models reference.

Credentials

Agent API keys authenticate inbound requests to Dome. Model credentials authenticate Dome’s outbound requests to the provider, and agents never receive them. When the provider requires no authentication, set both the authentication method and credential type to none. When the provider uses an API key or OAuth, the credential type must be shared or per-user. If you omit both settings, Dome uses api-key with shared. With per-user credentials, Dome uses the verified act-as identity on each request to select the provider credential. If that end user has not connected a credential, Dome returns HTTP 401 with a short-lived provision_url. The end user opens the URL to enter an API key or complete OAuth consent, then retries the request. Refer to Errors and denials for runtime handling. Google models with shared credentials use a service account. On a self-hosted gateway, Google and Bedrock models can instead use the gateway’s cloud-native identity. A Dome-hosted gateway cannot assume a role or workload identity from your cloud account.

Attributes

Attributes add trusted metadata to a model for rules to evaluate. For example, a rule can allow models with region=eu for a European workload or deny models whose data_class does not match the request. Attributes do not change how Dome calls the provider. You can set attributes when you add a model or change them later.

Filter window

A model can change how much streamed output Dome buffers before applying outbound Guards. Dome uses the largest window configured on the workspace, model, or request. A model can therefore increase inspection coverage but cannot reduce the workspace minimum. A value of 0 uses the workspace setting. A model can buffer at most 1 MiB or 4,096 tokens. You can set a filter window when you add a model or change it later.

Requirements

Before you begin:
  • Authenticate to Dome and select a workspace
  • Have the provider, model identifier, and provider-specific configuration
  • Have a provider credential unless the model uses no authentication or workload identity
  • Have a Gateway ready when you want the model reachable

Permissions

Model connection operations require platform permissions. Each operation states its required permission inline.

Add model

Add a model for one provider endpoint. You can attach the model directly to a Gateway during this operation. If you do not attach it, agents cannot call the model until you attach it later.
Requires gateway.manage.
Add --endpoint or --provider-config when the provider requires more configuration.
Reference: dome model add
Agents cannot call a model until you attach it directly to a Gateway or add it to a pool attached to one.

Update model

Update a model to change its name, model identifier, endpoint, authentication, attributes, or filter window. You cannot change the provider after creating the model. To switch providers, add a new model and replace the old connection in any pools or Gateways.
Requires gateway.manage.
Only the flags you pass change. --provider-config replaces the full provider configuration instead of merging with it.

Change credentials

You can change the authentication method, credential type, or shared API key. Switching authentication methods deletes the previously stored provider credential.
The current CLI can change the authentication method or credential type, but it does not replace an existing shared API key. Use MCP or the API to rotate that key.

Change attributes

You can replace the trusted attributes that rules evaluate for this model. Send an empty object to clear them.

Change filter window

You can change how much streamed output Dome buffers for outbound Guard inspection. A model can buffer at most 1 MiB or 4,096 tokens. Set both values to 0 to use the workspace minimum.

Get model

Retrieve a model to inspect its provider configuration, authentication, attributes, filter window, and Gateway membership. Use this information before an update or when troubleshooting routing.
Requires gateway.view.
Reference: dome model get

List models

Retrieve the models in a workspace with their providers and configurations. Use the list to find a model to inspect, update, add to a pool, or remove.
Requires gateway.view.
Reference: dome model list

Remove model

Remove a model to delete its connection and provider credentials from the workspace.
Requires gateway.manage.
Removing a model also removes it from model pools and Gateways. Before deleting a model that serves traffic, replace it in those routes or move the traffic elsewhere.
Reference: dome model rm

Attach to a Gateway

Attach a model directly to a Gateway when its name should always route to that one connection. The attachment makes the model reachable at the Gateway endpoint but does not authorize an agent to call it. The agent must allow the Gateway, and rules must permit the request. When a route needs failover or weighted distribution across multiple models, add the model to a model pool and attach the pool instead.
Requires gateway.manage.

Verify model

Call the model through the Gateway with an agent API key. A successful response confirms the model is reachable, rules permit the request, and the upstream accepted the configured credential.
OpenAI-compatible client
If the model is missing or denied, check Gateway membership, the agent’s allowed resources, and rules. If the upstream rejects the call, check the model’s provider configuration and credentials.

Manage OAuth

With shared OAuth, an administrator completes consent once and Dome uses the resulting provider tokens for every call. With per-user OAuth, each verified end user completes consent separately. When an end user has not connected OAuth, the first request returns a provision_url where the user can complete consent. Configure the OAuth client when you add or update the model. If the provider publishes OAuth metadata, Dome can discover the required endpoints. Otherwise, you must provide the authorization, token, revocation, and registration URLs. A manually registered client requires a client ID and secret. With dynamic client registration, Dome obtains them from the provider.

Connect OAuth

Connect OAuth after adding a model configured to use shared OAuth. Dome returns a one-time URL that remains valid for about ten minutes. Open the URL to complete consent at the provider.
Requires gateway.manage.

Disconnect OAuth

Disconnect shared OAuth to revoke the stored provider tokens. The OAuth client configuration remains, so you can reconnect without configuring the client again. Disconnecting an already disconnected model has no effect.
Requires gateway.manage.

Next steps

  • Models concept for how connections and attributes work and Models reference for providers and credentials
  • Create a model pool for routing, traffic distribution, and failover
  • Manage membership and grants in Gateways
  • Authenticate clients and route model traffic in Develop