Skip to content

REST API

The runtime exposes a REST API at http://localhost:18789 (default). All endpoints require RCAN-scoped authentication.

Status

GET /api/status
Returns runtime health, version, hardware tier, and P66 state.

Agent

POST /api/chat
Send a command to the agent. Requires chat scope.

{ "message": "What can you see?" }

Contribute

GET  /api/contribute/status
POST /api/contribute/start
POST /api/contribute/stop
GET  /api/contribute/history

POST /api/contribute/start
{ "run_type": "community" }   // or "personal"

Harness

GET  /api/harness/status
POST /api/harness/apply-champion
POST /api/harness/auto-apply

POST /api/harness/apply-champion
Reads pending champion from Firestore (or champion.yaml fallback), merges tunables into live config. Never modifies P66 settings. Requires operator role.

{ "dry_run": false }

POST /api/harness/auto-apply
Sets contribute.auto_apply_champion flag in Firestore for this robot.

{ "enabled": true }

Research

GET /api/research/status
GET /api/research/contributors

/api/research/status returns:

{
  "search_space_size": 263424,
  "explored_count": 435,
  "explored_pct": 0.17,
  "champion": { "candidate_id": "lower_cost", "score": 0.6541 }
}

Compete

GET  /api/compete/status
POST /api/compete/join
GET  /api/leaderboard

Peers

GET  /api/peers
POST /api/peer-test