Dome Systems

Pools

Route and fail over LLM traffic across model connections

A pool groups multiple model connections behind one name. Agents request the pool by name. Dome routes, load-balances, and fails over across members.

Refer to Pools for routing strategies and membership. Add model connections first, then group them here. All tools require workspace context.

Pools

dome_models_pool_list

List LLM pools in the active workspace.

Requires gateways.view.

dome_models_pool_get

Get a pool with its members.

ParameterTypeRequiredDescription
namestringYesPool name
Requires gateways.view.

dome_models_pool_create

Create an LLM pool.

ParameterTypeRequiredDescription
namestringYesPool name (unique within workspace)
descriptionstringNoFree-form description
match_whenobjectNoPredicate selecting this pool by request shape (e.g. {"prompt_tokens":{"gt":100000}}). Refer to match_when predicates reference for the full grammar — operators (gt/lt/eq, in, prefix, suffix, regex) and composition (any, all, not).
is_defaultboolNoMark as the workspace default pool
cache_ttl_secsint32NoExact-match cache TTL (0 disables cache)
cache_scopestringNoworkspace or caller (default: workspace)
routing_strategystringNopriority_weighted, round_robin, least_loaded, most_quota_remaining (default: priority_weighted). Refer to Routing strategies reference.
strategy_scopestringNoScope of stateful routing counters: workspace (default) or caller. Ignored by priority_weighted. Scopes only the tiebreak for most_quota_remaining.
failover_maxstringNoFailover ceiling. "all" walks every member; integer N gives primary + N retries (0 disables failover). Defaults to "all".
gatewaysarrayNoGateway names to attach the pool to at create time. Without it the pool is unreachable until attached (dome_gateways_model_pool_add).
Requires gateways.manage.

dome_models_pool_update

Update a pool. Only provided fields change.

ParameterTypeRequiredDescription
namestringYesPool name
new_namestringNoRename
descriptionstringNoUpdate description
match_whenobjectNoReplace match predicate (pass {} to clear). Refer to match_when predicates reference for the grammar.
cache_ttl_secsint32NoUpdate cache TTL (0 disables)
cache_scopestringNoUpdate cache scope
routing_strategystringNopriority_weighted, round_robin, least_loaded, or most_quota_remaining
strategy_scopestringNoworkspace or caller
failover_maxstringNo"all" (walk every member) or non-negative integer N. Omit to leave unchanged.
Requires gateways.manage.

dome_models_pool_set_default

Set the workspace's default pool. Replaces any prior default.

ParameterTypeRequiredDescription
namestringYesPool name
Requires gateways.manage.

dome_models_pool_move

Reposition a pool in its workspace's match_when evaluation order. Pools with non-empty predicates evaluate in ascending sort_key; the first match wins. Exactly one of before or after is required.

ParameterTypeRequiredDescription
namestringYesPool to move
beforestringNoAnchor pool name; the moved pool lands immediately before it
afterstringNoAnchor pool name; the moved pool lands immediately after it
Requires gateways.manage.

dome_models_pool_remove

Remove an LLM pool. Marked destructive.

ParameterTypeRequiredDescription
namestringYesPool name
Requires gateways.manage.

Pool members

Members are model connections inside a pool, each with a priority and weight. Failover walks ascending priority; within a priority bucket, requests distribute by weight.

dome_models_pool_member_list

List members of a pool.

ParameterTypeRequiredDescription
poolstringYesPool name
Requires gateways.view.

dome_models_pool_member_add

Add a model to a pool.

ParameterTypeRequiredDescription
poolstringYesPool name
modelstringYesModel connection name
priorityint32NoPriority bucket (0 = primary, ascending fails over)
weightint32NoWeight within the priority bucket (default: 1)
enabledboolNoWhether the member is included in routing (default: true)
Requires gateways.manage.
Add a member with failover
{
  "name": "dome_models_pool_member_add",
  "arguments": {
    "pool": "default",
    "model": "claude-sonnet",
    "priority": 0,
    "weight": 1
  }
}

dome_models_pool_member_update

Update a pool member's priority, weight, or enabled flag.

ParameterTypeRequiredDescription
poolstringYesPool name
modelstringYesModel connection name
priorityint32NoNew priority
weightint32NoNew weight
enabledboolNoNew enabled flag
Requires gateways.manage.

dome_models_pool_member_remove

Remove a model from a pool. Marked destructive.

ParameterTypeRequiredDescription
poolstringYesPool name
modelstringYesModel connection name
Requires gateways.manage.

Next steps

  • Models to add the connections a pool routes across
  • Quotas to cap spend and drive spillover
  • Pools how-to for the full workflow

On this page

Was this page helpful?