Documentation
Everything you need to register AI agents, query the directory, and integrate verification into your workflow.
Quick Start
Register your first AI agent in under 60 seconds via the web dashboard.
- 1
Create an account
Go to getaid.dev/signup and sign up with email or OAuth (GitHub, Google). Verify your email address.
- 2
Register an agent
Open Dashboard → My Agents → Register New Agent. Fill in a name, description, and optional metadata (endpoint, protocols, capabilities).
- 3
Save your credentials
After registration you receive a permanent Agent ID (e.g.
AID-000012347) and an Ed25519 private key. The private key is shown once. Download it and store it securely. - 4
Embed your badge
Copy the Markdown or HTML badge snippet from the agent detail page and add it to your README or website. The badge links back to your verified profile on getaid.dev.
markdown[](https://getaid.dev/verify/AID-000012347)
API Reference
All endpoints are versioned under /api/v1/. Requests and responses use JSON. Public reads require no auth; writes require a Bearer token.
Base URL: https://getaid.dev/api/v1
Agents
/v1/agentsSearch the agent directory. Supports full-text search, filtering, and cursor-based pagination.
curl "https://getaid.dev/api/v1/agents?query=payment&status=active&limit=10"/v1/agentsRegister a new agent. Returns the AID and private key.
curl -X POST https://getaid.dev/api/v1/agents \
-H "Authorization: Bearer aid_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Payment Agent",
"description": "Handles payment processing for e-commerce",
"endpointUrl": "https://api.example.com/agent",
"protocols": ["REST"]
}'{
"aid": "AID-000012347",
"handle": "@yourhandle/payment-agent",
"name": "Payment Agent",
"publicKey": "3b6a27bcceb...",
"privateKey": "9d61b19def..."
}/v1/agents/:aidGet the full profile of a specific agent by AID.
curl https://getaid.dev/api/v1/agents/AID-000012347/v1/agents/:aidUpdate an agent's mutable fields (name, description, endpoint, etc.).
curl -X PATCH https://getaid.dev/api/v1/agents/AID-000012347 \
-H "Authorization: Bearer aid_live_..." \
-H "Content-Type: application/json" \
-d '{ "description": "Updated description" }'/v1/agents/:aidSoft-delete (deregister) an agent. The AID remains permanently reserved and the profile stays accessible in read-only mode.
Challenge & Verify
/v1/agents/:aid/challengeIssue a cryptographic nonce. The agent must sign it with its Ed25519 private key within 5 minutes.
{
"nonce": "a1b2c3d4...",
"expiresAt": "2026-03-15T12:05:00.000Z"
}/v1/agents/:aid/challenge/verifyVerify a signed nonce to confirm agent identity.
curl -X POST https://getaid.dev/api/v1/agents/AID-000012347/challenge/verify \
-H "Content-Type: application/json" \
-d '{
"nonce": "a1b2c3d4...",
"signature": "e5f6a7b8..."
}'{
"verified": true,
"aid": "AID-000012347",
"verificationTier": 1
}Heartbeat & Status
/v1/agents/:aid/heartbeatPush a heartbeat to confirm the agent is alive. Optionally include a status field ("healthy" or "degraded").
curl -X POST https://getaid.dev/api/v1/agents/AID-000012347/heartbeat \
-H "Authorization: Bearer aid_live_..." \
-H "Content-Type: application/json" \
-d '{ "status": "healthy" }'/v1/agents/:aid/statusGet the current heartbeat status and latest check details.
{
"aid": "AID-000012347",
"status": "active",
"lastHeartbeatAt": "2026-03-15T11:00:00.000Z",
"latestHeartbeat": {
"status": "healthy",
"responseTimeMs": 142,
"checkedAt": "2026-03-15T11:00:00.000Z"
}
}Keys
/v1/agents/:aid/publickeyRetrieve the Ed25519 public key and algorithm for an agent.
{
"aid": "AID-000012347",
"publicKey": "3b6a27bcceb6a42d62a3a8d02a6f0d73...",
"keyAlgorithm": "Ed25519"
}/v1/agents/:aid/keys/rotateRotate the agent's Ed25519 keypair. The old key is immediately invalidated and a new private key is returned once.
Authentication
API keys authenticate write operations. Public read endpoints (agent lookup, directory search, status) require no auth.
Creating an API Key
Go to Dashboard → API Keys or call POST /v1/auth/keys. Keys follow the format aid_live_[32 hex chars]. The raw key is shown once. Store it securely.
Using Bearer Tokens
Pass your API key in the Authorization header:
curl -H "Authorization: Bearer aid_live_71a2f3..." \
https://getaid.dev/api/v1/users/me/agentsScope Hierarchy
Each API key has a scope that determines what operations it can perform. Higher scopes include all lower scopes.
| Scope | Grants |
|---|---|
read | Search agents, view profiles, list own agents, submit reports |
write | Register/update/delete agents, push heartbeats + everything in read |
admin | Rotate keys, manage API keys + everything in write |
Rate Limits
Rate limits are per 60-second sliding window, based on your plan tier.
| Plan | Read | Write | Heartbeat |
|---|---|---|---|
| Unauthenticated | 60 | — | — |
| Free | 100 | 30 | 10 |
| Pro | 3,000 | 300 | 100 |
| Business | 6,000 | 1,000 | 500 |
Badge Embed
Embed a verification badge in your README, website, or documentation. Badges link to the agent's verification page on getaid.dev.
Styles
| Style | Description |
|---|---|
flat | Default flat badge (no query param needed) |
flat-square | Square corners |
plastic | Gradient / 3D style |
for-the-badge | Large uppercase |
live | Real-time status dot (requires HMAC signature) |
Embed Snippets
Replace AID-000012347 with your agent's AID. You can also copy these directly from the agent detail page in the dashboard.
Markdown
[](https://getaid.dev/verify/AID-000012347)HTML
<a href="https://getaid.dev/verify/AID-000012347">
<img src="https://getaid.dev/badge/AID-000012347" alt="AID Verified" />
</a>With style
https://getaid.dev/badge/AID-000012347?style=flat-squareLive badge (HMAC-signed)
Live badges include a real-time status dot and require a server-generated HMAC signature. Use the dashboard embed code, which generates a signed URL automatically.
MCP Integration
The @getaid/mcp-server package lets any MCP-compatible AI client query the getaid.dev registry. Supported clients include Claude Desktop, Claude Code, Cursor, Codex, Windsurf, and any tool that implements the Model Context Protocol.
Claude Desktop
Add to claude_desktop_config.json in your Claude Desktop config directory:
{
"mcpServers": {
"getaid": {
"command": "npx",
"args": ["-y", "@getaid/mcp-server"],
"env": {
"GETAID_API_KEY": "your-api-key-here"
}
}
}
}Claude Code
claude mcp add getaid -- npx -y @getaid/mcp-serverSee setup guides for Cursor, Codex, Windsurf, and more
Available Tools
The MCP server exposes 7 tools: lookup_agent, search_agents, verify_agent, get_agent_status, get_public_key, create_challenge, and verify_challenge.
Ready to get started?
Register your first agent in under 60 seconds.