← Agent Armoury
🔌 AGENT API · ENTERPRISE-GRADE · LIVE

Agent API

Five endpoints · JSON · CSRF-exempt where read-only · sealed to op_ledger on every state-mutating call.

GET /api/agents

List every agent · canonical name · custom nickname · enabled state · level · KPI score · activation count · voice flag.

{
  "ok": true,
  "count": 18,
  "agents": [
    {
      "slug": "commodore",
      "default_name": "The Commodore",
      "custom_name": null,
      "display_name": "The Commodore",
      "enabled": true,
      "level": "Commander",
      "score": 98,
      "activations": 0,
      "voice_enabled": true,
      "orbit": "Inner",
      "kpi_primary": "Accuracy of \"What needs my attention?\""
    }, ...
  ]
}
GET /api/agents/<slug>

Full agent dossier · capabilities · boot sequence · KPI definition · seal quote.

POST /api/agents/<slug>/toggle

Body { "enabled": true|false }. Flips the on/off switch · sealed to op_ledger as agent.toggle.<slug>.

POST /api/agents/<slug>/rename

Body { "name": "..." }. Empty string clears the nickname · max 60 chars · sealed.

POST /api/agents/<slug>/activate

PRESS GOLD endpoint · returns the boot sequence · increments activation count · bumps KPI score by 1 · sealed as agent.boot.<slug>.<ts>.

⊹ Rate Limits
Per-IP · 24 calls per 60 seconds per worker (gunicorn ×2 = 48/min effective) on activate/toggle/rename. Read endpoints unlimited. 429 + {state:"RATE_LIMITED"} on cap.
HANDSHAKE — witnesses
Handshake sealed.