Skip to main content
The Operator agent is the primary interface to the platform. You send natural language messages and it deploys instances, writes agent skills, manages secrets, runs experiments, and reports results. Every action in the console goes through the Operator agent. The API exposes the same interface at POST /api/chat.

How it works

You describe what you want. The Operator agent figures out the steps, executes them, and responds with results. It has access to every platform operation: creating instances, installing skills, granting secrets, reading logs, and managing automations.
curl -s "https://operator.io/api/chat" \
  -H "Authorization: Bearer ck_live_..." \
  -H "Content-Type: application/json" \
  -H "x-response-format: json" \
  -d '{
    "messages": [{
      "role": "user",
      "parts": [{ "type": "text", "text": "Deploy 5 variants of the AQI predictor with different strategies and score them." }]
    }]
  }'
The Operator agent responds with what it did, what it found, and what it recommends next.

Conversations persist

Each conversation has an ID. Pass it back as id to continue. The Operator agent retains full context: which instances it created, what scores it saw, what experiments are running.
{
  "id": "chat_abc123",
  "messages": [{
    "role": "user",
    "parts": [{ "type": "text", "text": "Clone the top 2 and mutate back to 5. Focus on the ensemble approach." }]
  }]
}

What the Operator agent can do

The Operator agent has tools for every platform operation. When you send a message, it decides which tools to call based on your intent.
CategoryOperations
InstancesCreate, delete, restart, read logs, browse files
SkillsWrite, install, update, test agent skills
SecretsCreate, grant, revoke credentials
ConfigRead and update instance configuration
AutomationsCreate and manage scheduled prompts
FleetOperate across multiple instances at once

Streaming vs JSON

By default, /api/chat returns a streaming response (SSE). For programmatic use, set x-response-format: json to get a single JSON object:
{
  "chatId": "chat_abc123",
  "text": "Created 5 variant instances. Running initial scoring..."
}
Streaming is useful for real-time UI. JSON is simpler for scripts and automation.

Triggering from external events

Webhooks and automations both work by sending messages to the Operator agent. A webhook injects an external payload into a prompt template. An automation sends a prompt on a cron schedule. Both use the same underlying interface.

API Reference: Send Message

Full endpoint documentation with playground.

Quickstart

Send your first message in under 5 minutes.

Automations

Schedule messages on a cron.

Webhooks

Trigger messages from external events.