Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.imarobot.ai/llms.txt

Use this file to discover all available pages before exploring further.

Before you start

You’ll need: You do NOT need a domain name. Every ImaRobot account gets an auto-assigned issuer namespace like yourname.agents.imarobot.ai. Your agents are immediately verifiable.

Choose your path

🤖 Personal Agent / OpenClaw Skill

Building a hobby project, personal assistant, or OpenClaw skill? Start here — no domain needed.

🏢 Organization / Enterprise

Building for a company or team? You can use your own domain as issuer.

Personal Agent

Step 1: Register an agent

No issuer_domain needed — ImaRobot auto-assigns your namespace (e.g., yourname.agents.imarobot.ai).
curl -X POST https://api.imarobot.ai/v1/agents/register \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "MyFirstAgent",
    "scopes": ["read:data", "write:data"]
  }'
Response:
{
  "agent_id": "agt_abc123",
  "name": "MyFirstAgent",
  "issuer": "yourname.agents.imarobot.ai",
  "scopes": ["read:data", "write:data"],
  "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expires_at": "2026-03-28T18:00:00.000Z",
  "verify_url": "https://api.imarobot.ai/v1/verify/eyJ..."
}
Save the token — it’s your agent’s passport. Share the verify_url with anyone who needs to verify your agent.

Step 2: Verify the token

Anyone can verify your agent — no API key required:
curl https://api.imarobot.ai/v1/verify/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
Response:
{
  "valid": true,
  "agent_id": "agt_abc123",
  "name": "MyFirstAgent",
  "issuer": "yourname.agents.imarobot.ai",
  "scopes": ["read:data", "write:data"],
  "expires_at": "2026-03-28T18:00:00.000Z",
  "verified_at": "2026-03-27T18:00:01.234Z"
}
That’s it — your agent has a verified identity. 🎉

Using the OpenClaw Skill

If you’re running OpenClaw, the ImaRobot skill makes this even easier:
# Register (issuer auto-assigned)
node imarobot.js register --name "Rosie" --scopes "read,write"

# Verify a token from another agent
node imarobot.js verify eyJhbGci...

# Check your agent's status
node imarobot.js status

Organization

For teams and companies, you can optionally use your own domain as issuer (requires Developer plan or above).

Step 1: Register an agent with your domain

curl -X POST https://api.imarobot.ai/v1/agents/register \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "SupportBot",
    "issuer_domain": "yourcompany.com",
    "scopes": ["read:tickets", "write:responses"],
    "description": "Customer support automation agent"
  }'
Don’t have a domain yet? No problem — just omit issuer_domain and your agent will be issued under yourorg.agents.imarobot.ai. You can verify a custom domain later.
Add a DNS TXT record to prove you own the domain. See Domain Verification for details. Verified domains get a higher trust level in verification responses.

Step 3: Verify the token

Same as personal agents — anyone can verify:
curl https://api.imarobot.ai/v1/verify/eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

Step 3: Add verification to your API

Install the Verify SDK:
npm install imarobot-verify
Add 3 lines to your Express app:
import { createVerifier } from 'imarobot-verify';

const { middleware } = createVerifier({
  publishableKey: 'pk_live_YOUR_KEY'
});

// Protect any route — only verified agents can access
app.get('/api/data', middleware(), (req, res) => {
  const { agentId, scopes } = req.agent;
  res.json({ message: `Hello, agent ${agentId}` });
});
Every request to /api/data now requires a valid ImaRobot token. Invalid or revoked tokens get a 401 automatically.

Step 4: Revoke when needed

curl -X POST https://api.imarobot.ai/v1/agents/agt_abc123/revoke \
  -H "Authorization: Bearer sk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "reason": "Credential rotation" }'
Revocation is immediate — no cache lag. Verify the same token again and it returns:
{
  "valid": false,
  "error": "TOKEN_REVOKED"
}

Your issuer namespace

Every ImaRobot account gets an auto-assigned namespace:
Account typeIssuer formatExample
Personal / Free{username}.agents.imarobot.airosie.agents.imarobot.ai
Organization{org-name}.agents.imarobot.aiacme-corp.agents.imarobot.ai
Custom domain (Developer+)yourdomain.comacme.com
Want to use your own domain? Upgrade to Developer and verify it in Settings.

Next steps

Verify SDK docs

Offline mode, middleware options, and framework integrations.

Agent SDK docs

Register, rotate, and manage agents from your codebase.

Token lifecycle

Understand expiry, revocation, and offline validation.

API reference

Full endpoint docs.