Your Agent Gets a Body
Every Kit service is an HTTPS endpoint. Spawn a container, get 18 HTTP tools. Your agent already speaks HTTP — that's the whole point.
$ curl -N -X POST https://abc123-def456-workspaces-1.node-us-1.containers.hoody.com/api/v1/agent/prompt -H "Content-Type: application/json" -d '{"parts":[{"type":"text","text":"Build auth + tests"}]}'
[tool_use] { tool: "bash", command: "npm install" }
[tool_use] { tool: "Write", path: "/app/src/auth.ts" }
[tool_result] { output: "3 tests passed" }
[tool_use] { tool: "bash", command: "npm run dev" }
[completed] session finished in 4m 12s
One POST. Three Patterns.
Submit a prompt and stream the response, snapshot and roll back a failed experiment, or register an MCP server — all from standard HTTP calls.
Submit a Prompt and Stream Events
POST a prompt to the agent, then consume the Server-Sent Events stream to read every tool call, tool result, and assistant message the moment it happens.
# Submit a prompt — omit wait to stream Server-Sent Events
POST /api/v1/agent/prompt
{
"parts": [{ "type": "text", "text": "Install deps, write auth.ts, run tests" }],
"autoApprove": true
}
# The stream emits tool calls, tool results and assistant
# messages as they happen. The final message payload:
{
"sessionID": "5f9b3a2e1c8d4f0001a2b3c4",
"messageID": "msg_01HXYZABCDEF",
"status": "completed",
"info": { "role": "assistant", "finish": "stop" },
"parts": [{ "type": "text", "text": "Done — 14 tests passing." }]
}
Give Every Agent a Complete Computer
One container creation call provisions 18 HTTP services. No setup, no driver management, no auth ceremony beyond a bearer token.
Agents Spawn Agents. No Coordinator Required.
Agent A creates Agent B's container over HTTP, hands it a prompt through the agent service URL, then reads its files directly. Just URLs talking to URLs.
// Agent A spawns Agent B and assigns work
const worker = await client.api.containers.create(PROJECT_ID, {
name: "ai-worker-backend",
server_id: "us-east-1",
container_image: "debian-12",
hoody_kit: true,
});
await fetch(
`https://${PROJECT_ID}-${worker.id}-workspaces-1.${SRV}/api/v1/agent/prompt/sync`,
{ method: "POST", body: JSON.stringify({
parts: [{ type: "text", text: "Build payment module" }],
autoApprove: true
})}
);
Network Topology
Agents are peers. Any container calls any other over HTTP. No message queue, no coordinator service.
Parallel Workers
Dispatch specialist agents simultaneously — frontend, backend, tests, review — each in its own container.
Cross-Container Reads
Agent A reads Agent B's files through the Kit files service. Inspect the work without stopping the worker.
Isolated Failures
An agent's mistakes can only touch its own sandbox. Failures are contained and cannot propagate.
Control Every Prompt. No Proxy Code Required.
Seven event types, five action types, declarative JSON rules that run inside hoody-agent itself — no separate proxy, not a single line of proxy code.
chat.system.transform
Append a safety rule to every prod-tagged session's system prompt before the LLM ever sees it.
tool.execute.before
Send a notification to your phone before any agent is about to run bash. In-loop, no proxy.
session.error
Fire a webhook to PagerDuty when an agent fails — across the whole fleet.
{
"rules": [
{
"id": "inject-safety-prompt",
"name": "Inject safety prompt",
"enabled": true,
"severity": "info",
"trigger": {
"event": "chat.system.transform",
"tags": ["prod"]
},
"action": {
"type": "prompt-inject",
"content": "Always confirm before shell commands.",
"position": "prepend",
"target": "system"
}
}
]
}
Any Model. Any Skill. Instant Rollback.
Point the agent at 300+ models from 15+ AI inference providers. Discover any HTTP API from the published Skill bundle at hoody.com/skills. Roll back any experiment in seconds.
300+ Models, 15+ Providers
Anthropic, OpenAI, Google, Meta, Mistral and more — picked per prompt by pairing a provider and a model ID. Switch models mid-conversation; you never migrate.
anthropic/claude-sonnet-4.5
@hoody.com Skill Discovery
Any AI agent with web access sends @hoody.com and receives a Skill describing your entire HTTP API — no plugin, no SDK, no custom integration.
Snapshot Before Every Agent Run
Never let an agent modify a container without a snapshot first. One call to capture it, instant rollback in seconds when an experiment goes wrong.
POST /api/v1/containers/{id}/snapshots
{ "alias": "before-agent-experiment" }
100+ Endpoints. Full Agent Control.
Prompt execution over SSE, session inspection, and MCP registration — all standard HTTP, no WebSocket required.
Prompt
3 endpointsPOST /api/v1/agent/prompt
Sessions
2 endpointsGET /api/v1/agent/sessions/live
MCP + Providers
2 endpointsPOST /api/v1/workspaces/{workspaceID}/mcp
What the Agent Can Actually Do
Three capabilities that no amount of prompt engineering gives you — they're built into the platform.
Named Agents, Primary & Subagent
Each workspace ships named agents — build runs as the primary, explore as a read-only subagent. Pick one per prompt with the agent field; each carries its own model, permissions, and prompt.
MCP Runtime Tool Discovery
Register any MCP-compatible server — GitHub, a local stdio command, a remote URL — and the agent merges its tools into the active session. Local or remote, configured in one call.
Embeddable Live Sessions Wall
The live sessions wall renders every running agent as an HTML view built to embed in a dashboard iframe — watch the whole fleet without polling.
Your First Agent is One Container Away
Spawn a container with hoody-kit and 18 HTTP services wake up the moment the agent does. Hand the URL to Claude, Codex, or any agent that speaks HTTP.