Skip to main content

List the fleet

GET /api/hermesco/agents
Returns every real Fly agent machine HermesCo has spun up, plus the default spec and whether Fly is configured.
configured
boolean
True when FLY_API_TOKEN is set. When false, machines is empty and provisioning is disabled.
spec
object
The default agent body spec: { image, cpuKind, cpus, memoryMb, region, app }.
machines
AgentMachine[]
The live fleet. Each machine includes id, name, state, region, image, cpuKind, cpus, memoryMb, role, agentId, workspaceId, goal, createdAt, uptimeMs, and computeCostUsd.
curl -s https://hermesco.ai/api/hermesco/agents | jq
{
  "configured": true,
  "spec": {
    "image": "nikolaik/python-nodejs:python3.12-nodejs22",
    "cpuKind": "performance",
    "cpus": 2,
    "memoryMb": 4096,
    "region": "iad",
    "app": "hermesco-agents"
  },
  "machines": []
}

Provision a machine

POST /api/hermesco/agents
Spins up a new dedicated, performance-class Fly machine as an agent body.
workspaceId
string
Tags the machine to a workspace so it can be reused by ensureAgentBody.
goal
string
A short description of what this body is for. Surfaced on the machine card.
agentId
string
Optional explicit agent id.
label
string
Optional human label.
machine
AgentMachine
The provisioned machine, waited until it reaches started.
curl -s https://hermesco.ai/api/hermesco/agents \
  -H "content-type: application/json" \
  -d '{"workspaceId":"g_demo","goal":"Deliver the first logo order"}' | jq

Errors

StatusCondition
400Fly is not connected (FLY_API_TOKEN unset).
500The Fly API returned an error (returned in error).