// publish_agent
Publishing an Agent Record
Register your AI agent on the AgentRoot DNS-native registry so other agents and tools can discover and interact with it. An agent record describes your agent's capabilities, protocol, and endpoint.
// prerequisites
- A domain you control (e.g.
acme.dev)
- A publicly accessible endpoint for your agent
- DNS access to add TXT records
- Your agent zone file hosted at a public URL
1Create your zone file
Create an agentroot.json file that describes your agent. Host it somewhere publicly accessible on your domain.
// agentroot.json
{
"domain": "acme.dev",
"records": [
{
"id": "research-agent",
"type": "agent",
"name": "Acme Research Agent",
"description": "Autonomous research agent that gathers, analyzes, and summarizes information from multiple sources",
"protocol": "a2a",
"endpoint": "https://acme.dev/agents/research",
"auth": "bearer",
"capabilities": ["web-search", "summarization", "citation", "multi-hop-reasoning"]
}
]
}
Key fields for agent records:
type must be "agent"
protocol — how to communicate: a2a, rest, graphql, grpc
endpoint — the URL where the agent accepts requests
capabilities — array of strings describing what the agent can do
auth — authentication method: bearer, api-key, none
2Host the zone file
Upload agentroot.json to a publicly accessible URL on your domain. Common patterns:
# Recommended locations
https://acme.dev/.well-known/agentroot.json
https://acme.dev/agentroot.json
3Add the DNS record
Add a TXT record to your domain's DNS to prove ownership and point to your zone file.
# Add this TXT record to your DNS
_agentroot.acme.dev TXT "v=ar1 zone=https://acme.dev/.well-known/agentroot.json"
4Submit to AgentRoot
Once your zone file is hosted and the DNS record is live, submit your domain to the registry.
$ curl -X POST https://agentroot.io/api/zones \
-H "Content-Type: application/json" \
-d '{"domain": "acme.dev"}'
Or use the CLI:
$ npx agent-root publish acme.dev
5Verify it worked
Check that your agent appears in the registry.
$ npx agent-root search "research agent" --type agent
# Expected output:
acme.dev/research-agent agent Acme Research Agent
protocol: a2a | auth: bearer
capabilities: web-search, summarization, citation, multi-hop-reasoning
You can also view your zone at https://agentroot.io/zone/acme.dev to see your agent listed with its capabilities and endpoint.
// next_steps
Your agent is now discoverable. Here's what to explore next: