Skip to content

Agents API

Manage agents programmatically.

List Agents

bash
GET /api/agents

Response

json
{
  "agents": [
    {
      "name": "default",
      "status": "running",
      "model": "gpt-4o",
      "skills_count": 12,
      "channels": ["telegram", "discord"],
      "created_at": "2024-01-15T10:00:00Z"
    },
    {
      "name": "researcher",
      "status": "running",
      "model": "gpt-4o-mini",
      "skills_count": 8,
      "channels": [],
      "created_at": "2024-01-16T14:30:00Z"
    }
  ]
}

Get Agent

bash
GET /api/agents/:name

Response

json
{
  "name": "default",
  "status": "running",
  "config": {
    "model": "gpt-4o",
    "provider": "openai",
    "temperature": 0.7
  },
  "skills": ["host_shell", "web_crawler", "git"],
  "channels": [
    {"type": "telegram", "status": "connected"}
  ],
  "memory": {
    "stm_entries": 25,
    "ltm_entries": 150
  },
  "created_at": "2024-01-15T10:00:00Z"
}

Create Agent

bash
POST /api/agents

Request

json
{
  "name": "new_agent",
  "persona": "You are a helpful assistant specialized in data analysis.",
  "config": {
    "model": "gpt-4o-mini",
    "provider": "openai",
    "temperature": 0.5
  }
}

Response

json
{
  "success": true,
  "agent": {
    "name": "new_agent",
    "status": "created",
    "created_at": "2024-01-15T12:00:00Z"
  }
}

Update Agent

bash
PUT /api/agents/:name

Request

json
{
  "persona": "Updated persona text...",
  "config": {
    "temperature": 0.8
  }
}

Delete Agent

bash
DELETE /api/agents/:name

Response

json
{
  "success": true,
  "message": "Agent 'old_agent' deleted"
}

Restart Agent

bash
POST /api/agents/:name/restart

Response

json
{
  "success": true,
  "message": "Agent 'default' restarted"
}

Get Agent Status

bash
GET /api/agents/:name/status

Response

json
{
  "name": "default",
  "status": "running",
  "uptime_seconds": 86400,
  "requests_processed": 1523,
  "last_activity": "2024-01-15T12:00:00Z",
  "memory_usage_mb": 45.2
}

Get Agent Logs

bash
GET /api/agents/:name/logs?limit=100

Query Parameters

ParameterDefaultDescription
limit100Max log entries
levelallFilter by level (debug, info, warn, error)
since-ISO timestamp for start

Response

json
{
  "logs": [
    {
      "timestamp": "2024-01-15T12:00:00Z",
      "level": "info",
      "message": "Brain activated by WEB_UI"
    },
    {
      "timestamp": "2024-01-15T12:00:01Z",
      "level": "debug",
      "message": "Invoking skill: host_shell"
    }
  ]
}

Open source · Self-hosted · Data sovereign