Dome Systems

Agents

Register agents, issue credentials, allow resources, and manage lifecycle

An agent is an identity in Dome that represents an application, assistant, or automated process making requests. Dome authenticates, authorizes, and audits each agent's calls to tools and models.

Refer to Agents for how to register agents, issue credentials, and manage lifecycle. All tools require workspace context.

Agents

dome_agents_list

List registered agents. Returns agent ID, name, and status.

ParameterTypeRequiredDescription
statusstringNoFilter by status: active, suspended, provisioned, revoked
workspace_idstringNoFilter by workspace ID (defaults to active workspace)
limitnumberNoMaximum results (default: 100)
offsetnumberNoPagination offset
Requires agents.view.
Example tool call
{
  "name": "dome_agents_list",
  "arguments": {
    "status": "active",
    "limit": 25
  }
}

dome_agents_get

Get detailed information about a specific agent by ID.

ParameterTypeRequiredDescription
agent_idstringYesAgent ID (UUID)
gateway_idstringNoGateway ID used to return complete endpoints; required when the agent can access more than one Gateway
Requires agents.view.

dome_agents_register

Register a new AI agent on the platform. After registration, create an API key with dome_agents_create_key.

ParameterTypeRequiredDescription
namestringYesAgent name (unique within workspace)
parent_idstringNoParent agent ID for hierarchical agents
workspace_idstringNoWorkspace to register in (defaults to active workspace)
metadataobjectNoKey-value metadata
token_ttlstringNoAccess-token lifetime for this agent, such as 15m (1m–24h). Omit to use the 10m default
allowed_pool_namesarrayNoLLM pools the agent may route to. Emits a permit against Dome::LLMModel matched via resource.pool == "<name>"
allowed_direct_model_namesarrayNoLLM model connections the agent may invoke directly (advanced). Emits a permit against Dome::LLMModel
allowed_toolsarrayNoMCP tools the agent may call, each as connection/tool. Emits mcp:call and mcp:discover permits against Dome::MCPTool
allowed_gateway_idsarrayNoGateway IDs the agent may reach. Emits per-Gateway permit rules
actas_allowed_groupsarrayNoGroups the verified act-as identity may belong to. Emits a forbid unless the verified group matches
actas_allowed_emailsarrayNoEmails the agent may act on behalf of. Emits a forbid unless the verified email matches
actas_allowed_subjectsarrayNoSubjects the agent may act on behalf of. Emits a forbid unless the verified subject matches
actas_methodstringNoAct-as verification method: none, oidc, hmac
actas_requiredboolNoRequire act-as header on every request
actas_provider_idstringNoWorkspace verification provider ID
actas_oidc_urlstringNoInline OIDC discovery URL
actas_hmac_secretstringNoInline HMAC shared secret
actas_config_namestringNoLabel for agent-specific verification config
interactive_accessboolNoLet allow-listed people sign in through Dome and ride this agent from an MCP client
Requires agents.register. If the request includes a pool, model, tool, Gateway, or act-as access setting, it also requires rules.deploy because registration generates the agent's rule bundle.
Example tool call
{
  "name": "dome_agents_register",
  "arguments": {
    "name": "code-reviewer",
    "token_ttl": "15m",
    "metadata": {
      "team": "platform",
      "owner": "infra@example.com"
    }
  }
}

dome_agents_update

Update an existing agent's metadata, token lifetime, allowed resources, or act-as verification config.

ParameterTypeRequiredDescription
agent_idstringYesAgent ID or name
metadataobjectNoUpdated key-value metadata
token_ttlstringNoSet the agent's access-token lifetime, such as 15m (1m–24h). An empty string resets to the 10m default
allowed_pool_namesarrayNoReplace the agent's allowed LLM pool list
allowed_direct_model_namesarrayNoReplace the agent's allowed direct-model list
allowed_toolsarrayNoReplace the agent's allowed MCP tool list, each as connection/tool
allowed_gateway_idsarrayNoReplace the agent's allowed Gateway ID list
actas_allowed_groupsarrayNoReplace the agent's act-as allowed-groups list
actas_allowed_emailsarrayNoReplace the agent's act-as allowed-emails list
actas_allowed_subjectsarrayNoReplace the agent's act-as allowed-subjects list
actas_methodstringNoAct-as verification method: none, oidc, hmac
actas_requiredboolNoRequire act-as header on every request
actas_provider_idstringNoWorkspace verification provider ID
actas_oidc_urlstringNoInline OIDC discovery URL
actas_hmac_secretstringNoInline HMAC shared secret
actas_config_namestringNoLabel for agent-specific verification config
interactive_accessboolNoEnable or disable interactive MCP access
Requires agents.register. Changing any pool, model, tool, or actas_allowed_* field regenerates the agent's rule bundle and additionally requires rules.deploy.

Interactive access requires at least one exact actas_allowed_emails or actas_allowed_subjects entry. Groups cannot match an interactive user. Their traffic spends the agent's Quotas, and interactive access cannot be combined with device binding.

Interactive grants

dome_agents_interactive_grants_list

List people who authorized an MCP client to ride an agent. A platform user sees their own grants by default.

ParameterTypeRequiredDescription
all_usersboolNoList every grant in the active workspace; requires agents.view
agent_idstringNoFilter by agent name or ID; implies all_users

API-key credentials have no personal interactive grants. Use all_users=true with a workspace context and agents.view.

dome_agents_interactive_grants_revoke

Revoke one grant and all refresh tokens issued beneath it.

ParameterTypeRequiredDescription
grant_idstringYesGrant UUID returned by dome_agents_interactive_grants_list

A person may revoke their own grant. Revoking someone else's grant requires agentkeys.manage.

Lifecycle

dome_agents_suspend

Suspend an active agent, preventing it from making requests. Optionally cascade to child agents.

ParameterTypeRequiredDescription
agent_idstringYesAgent ID (UUID)
reasonstringNoReason for suspension
cascadeboolNoAlso suspend child agents (default: false)
Requires agents.suspend.
Example tool call
{
  "name": "dome_agents_suspend",
  "arguments": {
    "agent_id": "code-reviewer",
    "reason": "Investigating anomalous behavior",
    "cascade": true
  }
}

dome_agents_reactivate

Reactivate a previously suspended agent.

ParameterTypeRequiredDescription
agent_idstringYesAgent ID (UUID)
Requires agents.suspend.

dome_agents_revoke

Permanently revoke an agent. This cannot be undone. Marked destructive.

ParameterTypeRequiredDescription
agent_idstringYesAgent ID (UUID)
reasonstringNoReason for revocation
Requires agents.revoke.

Revocation is permanent and cannot be undone.

dome_agents_delete

Permanently delete a revoked agent and all its data. Agent must already be in the revoked state. Marked destructive.

ParameterTypeRequiredDescription
agent_idstringYesAgent ID (UUID)
reasonstringNoReason for deletion
cascadeboolNoAlso delete descendant agents
Requires agents.delete.

Hard-delete removes all agent data irreversibly. The agent must be revoked first.

Allowed tools

dome_tools_list

List registered agents and the tools they reach in the active workspace. Only returns agents in active or provisioned status.

ParameterTypeRequiredDescription
———No parameters
Requires agents.view.

API keys

dome_agents_create_key

Create a new API key for an agent. Returns the token, selected Gateway ID, and complete Gateway endpoints once — save the token immediately.

ParameterTypeRequiredDescription
agentstringYesAgent name
namestringYesKey name (unique per agent)
gateway_idstringNoGateway ID used to return complete endpoints; required when the agent can access more than one Gateway
Requires agentkeys.manage.
Example tool call
{
  "name": "dome_agents_create_key",
  "arguments": {
    "agent": "code-reviewer",
    "name": "production-v1",
    "gateway_id": "{{GATEWAY_ID}}"
  }
}

Store the returned key secret securely. It cannot be retrieved after creation — only rotated or revoked.

dome_agents_list_keys

List active API keys for an agent.

ParameterTypeRequiredDescription
agentstringYesAgent name
Requires agents.view.

dome_agents_rotate_key

Rotate an agent's API key — revokes the old secret and issues a new one with the same name. Returns the new token once.

ParameterTypeRequiredDescription
agentstringYesAgent name
key_namestringYesName of the key to rotate
gateway_idstringNoGateway ID used to return complete endpoints; required when the agent can access more than one Gateway
Requires agentkeys.manage.

dome_agents_revoke_key

Revoke an agent's API key. The key is no longer usable for authentication.

ParameterTypeRequiredDescription
agentstringYesAgent name
key_namestringYesName of the key to revoke
Requires agentkeys.manage.

Next steps

Full agent workflows live under Connect. Lifecycle and Rules stay one hop away:

On this page

Was this page helpful?