Overview
Dome separates an agent’s identity from its credentials and access. Registering an agent creates a durable identity for the application or process, but does not grant access. An API key lets the runtime authenticate as that identity. Allowed resources, Gateway membership, and Rules determine what requests Dome permits. Because credentials and access are separate, you can rotate a key without changing permissions or change permissions without issuing a new key. The typical workflow is:- Register the agent to create the identity.
- Get the agent to confirm the record and note the workspace gateway endpoint.
- Allow the resources it needs.
- Create an API key for the runtime.
- Point the client at Dome. Refer to Develop.
Allowed resources
An agent reaches only the resources you allow it: model pools, individual models, MCP tools, and Gateways. When an agent allows a Gateway, Dome lets it use that endpoint. Allowing a resource is shorthand for creating a rule. Each entry generates a rule in the agent’s rule bundle which the gateway enforces on the next request without a separate deploy. Because it creates rules, allowing a resource needsrules.deploy in addition to the permission to edit the agent, so someone with the developer role can register an agent and change its metadata but cannot change which resources it reaches.
Dome derives the agent’s capabilities (the strings its rules can test) from the same selections:
You set a capability yourself only when one of your rules tests a string Dome would not derive, such as
read-data. When the shorthand cannot express a condition, such as a time window, a PII field, or an act-as claim, create Rules directly. A generated bundle adds to workspace defaults rather than replacing them.
You can allow resources when you register an agent or change them later.
Delegated identity
An agent can act for a person rather than only for itself. When it presents an act-as claim, Dome verifies the claim before authorizing the request, and the audit trail records the end user alongside the agent. On the agent you choose the verification method (oidc, hmac, bound, or none), whether a claim is mandatory on every request, which provider to use, and optional allow-lists by group, email, or subject. An agent with no restrictions accepts any verified identity. Like allowed resources, these settings generate rules, so changing them needs rules.deploy.
Workspace providers, the workspace floor, and claim-aware Rules are on Delegated agents. You can configure per-agent settings when you register or update the agent.
Hierarchy
An agent can have a parent. The parent and its descendants form a hierarchy, which helps when one agent spawns or manages others and you want to act on them together. A hierarchy grants no access on its own, and each agent reaches only what you allow it. A hierarchy can be at most 10 levels deep, and a parent and child must belong to the same tenant. You can set an agent’s parent when you register it. An update cannot change it afterward. How lifecycle operations reach descendants is under Manage lifecycle.Requirements
Before you begin:- Install and authenticate the Dome CLI, then select a workspace context
- Create or select a Gateway, attach the required resources, and grant the agent access
Permissions
Agent registry, lifecycle, and key operations require platform permissions. Each operation states the permission it requires. For exhaustive flags, tool parameters, and endpoint contracts, refer to the CLI, MCP, and API references.Register agent
Register an agent to create the record that credentials, allowed resources, and lifecycle operations attach to. You can set allowed resources, end-user identity, and a parent in the same call.Requires
agent.register, plus rules.deploy if you set allowed resources or end-user identity in the same call.- CLI
- MCP
- API
- Agent
--parent-id to place the agent in a hierarchy, --metadata key=value for your own labels, and --if-not-exists to return the existing agent instead of failing when the name is taken.Reference:
dome agents registerResponse
provisioned and becomes active on its first gateway request. Refer to Manage lifecycle for the full state model.
Register from a file
Register an agent from a YAML or JSON file when a reviewable definition is clearer than a long flag list, such as in CI. The file shape mirrorsRegisterAgentRequest, the same schema the SDKs and Terraform provider consume, so a misspelled field fails fast instead of dropping silently. The workspace always comes from the active context. A workspace_id in the file is ignored.
agent.yaml
Reference:
dome agents register --fileUpdate agent
Update an agent to change its metadata or capabilities. Only the fields you send change, and list fields replace rather than merge.Requires
agent.register.- CLI
- MCP
- API
- Agent
Reference:
dome agents updateChange allowed resources
You can change which pools, models, tools, and Gateways the agent may reach. Refer to Allowed resources for what these grants mean. When you allow models, a pool is usually the better choice than an individual model, because a pool can fail over and load-balance.Requires
agent.register and rules.deploy, because every change regenerates the agent’s rule bundle.- CLI
- MCP
- API
- Agent
<connection-name>/<tool-name>. When a pool is not appropriate, --model allows a specific model connection, and --capabilities sets custom capability strings.Reference:
dome agents updaterules.deploy, and the edit dialog shows a banner explaining the limit.
Change end-user identity
You can also change how Dome verifies the end user an agent acts for, and which identities it may present. Refer to Delegated identity and Delegated agents for providers and the workspace floor.Requires
agent.register and rules.deploy.- CLI
- MCP
- API
- Agent
Reference:
dome agents updateGet agent
Retrieve an agent by name or UUID. Before you configure a runtime, you should retrieve an agent’s information to confirm its status and the endpoint its traffic should reach.Requires
agent.view.- CLI
- MCP
- API
- Agent
Reference:
dome agents getgateway_id is supplied, the response includes the agent record and that accessible Gateway’s complete protocol endpoints. Omit it for metadata only.
Response
List agents
Retrieve a list of agents in a workspace. You can narrow the results by filtering on status, such as to find every suspended agent.Requires
agent.view.- CLI
- MCP
- API
- Agent
Manage lifecycle
An agent moves through four states. Provisioned and active agents can send traffic. Suspended and revoked agents are denied.
When agents are in a hierarchy, lifecycle operations reach descendants differently:
Parent and child must already share a tenant. Hierarchy does not grant access. Full transition detail is on the Agent Lifecycle concept.
Suspend
Suspend an agent to deny its requests until you reactivate it. Suspension is reversible. With cascade, it also suspends active descendants.Requires
agent.suspend.- CLI
- MCP
- API
- Agent
Reference:
dome agents suspendReactivate
Reactivate a suspended agent to restore its traffic. Reactivation applies only to an agent in thesuspended state, and it covers one agent, so a cascaded suspension takes one reactivation per agent.
Requires
agent.suspend.- CLI
- MCP
- API
- Agent
Reference:
dome agents reactivateRevoke
Revoke an agent to decommission it permanently. Its record and audit history remain readable.Requires
agent.revoke.- CLI
- MCP
- API
Reference:
dome agents revokeDelete
Delete a revoked agent to remove it and all of its data. Deletion works only on a revoked agent and rejects an agent in any other state.Requires
agent.delete.- CLI
- MCP
- API
--cascade deletes the agent and its descendants in one call, deepest first, and every descendant must already be revoked.Reference:
dome agents deleteManage API keys
An API key is the credential the agent runtime presents to Dome. An agent can hold several keys, so you can rotate a credential or keep one key per environment. Keys scope to the agent’s tenant and workspace.Requires
agentkey.manage to create, rotate, or revoke a key, and agent.view to list them.Create key
Create a key to receive the one-timetoken, selected gateway_id, and complete gateway_endpoints. Supply a Gateway when the agent can access more than one.
- CLI
- MCP
- API
- Agent
Reference:
dome agents create-keyResponse
List keys
Retrieve an agent’s active keys with their names and creation times. A list never returns tokens, because Dome returns a token only when you create or rotate a key.- CLI
- MCP
- API
- Agent
Reference:
dome agents list-keysRotate key
Rotate a key to revoke the old secret and issue a new one under the same name. Dome returns the new token and the gateway endpoint. The old secret stops authenticating as soon as you rotate, so deploy the new token promptly.- CLI
- MCP
- API
- Agent
Reference:
dome agents rotate-keyRevoke key
Revoke a key to retire it without affecting the agent’s other keys. A revoked key stops authenticating immediately, so confirm the runtime holds a working key before you revoke this one.- CLI
- MCP
- API
- Agent
Reference:
dome agents revoke-keyManage agent-scoped rules
Agent-scope rules apply to one agent, for conditions allowed resources cannot express. They evaluate in addition to organization, tenant, and workspace rules, and a deny at the workspace scope overrides an allow at the agent scope. Refer to Authorize Access for creating rules, inherited scopes, and deployment.Assign rules
Assign rule files to the agent scope, where the gateway evaluates them alongside the rules the agent inherits from higher scopes.Requires
rules.deploy.- CLI
- MCP
- Agent
Reference:
dome agents assign-policyView rules
Retrieve the rules assigned at the agent scope. The result excludes the organization, tenant, and workspace rules the agent also inherits.Requires
rules.view.- CLI
- MCP
- Agent
Reference:
dome agents get-policiesNext steps
- Delegated agents when access must depend on the person
- Tools and Models an agent can call
- Gateways for membership and grants
- Develop to authenticate and route runtime traffic
- Agent Lifecycle concept for states and cascades