Base URL:
http://127.0.0.1:3333
Formats:
- request and response payloads use JSON unless noted
- streaming endpoints use Server-Sent Events
Returns machine, auth, scenario count, and proxy health.
Returns the current auth status for the configured providers.
Starts the local Codex OAuth flow.
Clears stored Codex OAuth credentials.
Lists available scenarios from scenarios/.
Lists historical runs.
Returns a single run record and its events.
Starts a new scenario run.
Request body:
{
"scenarioId": "notepad-hello",
"authProvider": "api-key",
"model": "gpt-5.4",
"input": {}
}Requests stop for a running scenario.
Retries an existing run with the original scenario and input.
SSE stream of run events.
Downloads the replay archive for a run.
Lists live sessions.
Creates a live session.
Request body:
{
"model": "gpt-5.4",
"authProvider": "codex-oauth"
}Returns the live session record and full event history.
SSE stream of live session events.
Captures the current desktop state.
Response highlights:
- updated session
- machine heartbeat
- visible windows
- screenshot URL, width, and height
Submits one live instruction to the agent.
Request body:
{
"instruction": "Open Chrome and search for the latest OpenAI API pricing.",
"authProvider": "api-key",
"model": "gpt-5.4"
}Behavior:
- rejects when another instruction is already executing
- rejects when the session is waiting for confirmation
- routes the instruction to
desktop,cli, orplanner
Resolves a pending confirmation.
Request body:
{
"choice": "confirmed"
}Requests stop for the current live execution.
SSE frame stream for near-live screenshots.
Payload shape:
{
"timestamp": 1741580000000,
"width": 1920,
"height": 1080,
"image": "<base64>"
}Lists available log files from data/logs/.
Returns one log file as plain text.
SSE stream of live log entries with catch-up.
Returns global memory entries.
Returns app profiles.
Returns one app profile by name.
Creates a memory entry.
Request body:
{
"content": "User prefers Chrome over Edge for browser tasks.",
"category": "preference",
"appContext": "Chrome",
"tags": ["browser", "preference"],
"confidence": 0.9
}Deletes one memory entry by id.
Returns a merged list of live sessions and runs.
Query params:
limitoffset
Returns one history record. The record may be either a live session or a run.
Deletes either a live session or a run.
Common SSE event types:
statuslogmessagetool_calltool_resultcomputer_actionscreenshoterroragent_route
Important interpretation:
tool_call: the agent asked to invoke a tooltool_result: the tool returned successfully or with structured failure detailcomputer_action: low-level computer-tool action requestagent_route: whether the instruction was routed todesktop,cli, orplanner
api-keyandcodex-oauthdo not have identical transport behavior- browser automation is exposed through internal tools, not direct HTTP endpoints
- live-session commands must use
instruction, nottext