packages/docs/api-reference.mdx
The Eliza API server runs on port 31337 (ELIZA_API_PORT) in development and on port 2138 (ELIZA_PORT) in production, where the API and dashboard share the same port. All endpoints are prefixed with /api/. Authentication is required when ELIZA_API_TOKEN is set.
These examples use port 31337 (the development default). In production, replace with port 2138 or your configured ELIZA_PORT. Replace YOUR_TOKEN with the value of ELIZA_API_TOKEN or the token received from the pairing flow.
curl http://localhost:31337/api/status
{
"state": "running",
"agentName": "Eliza",
"model": "@elizaos/plugin-anthropic",
"uptime": 3600000,
"startedAt": 1718000000000
}
When pairing is enabled, the agent displays a code in its terminal. Submit it to receive a token:
curl -X POST http://localhost:31337/api/auth/pair \
-H "Content-Type: application/json" \
-d '{"code": "ABCD-EFGH"}'
{
"token": "your-api-token"
}
curl http://localhost:31337/api/character \
-H "Authorization: Bearer YOUR_TOKEN"
curl -X POST http://localhost:31337/api/conversations/YOUR_CONVERSATION_ID/messages \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"text": "Hello, what can you do?"}'
curl -N -X POST http://localhost:31337/api/conversations/YOUR_CONVERSATION_ID/messages/stream \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"text": "Tell me about yourself"}'
The response is a Server-Sent Events stream. Each event contains a data field with a JSON payload.
curl http://localhost:31337/api/conversations \
-H "Authorization: Bearer YOUR_TOKEN"
curl -X POST http://localhost:31337/api/documents \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"title": "Company FAQ",
"content": "Q: What is Eliza?\nA: A personal AI assistant built on elizaOS."
}'
curl "http://localhost:31337/api/documents/search?q=what+is+eliza&limit=5" \
-H "Authorization: Bearer YOUR_TOKEN"
curl http://localhost:31337/api/plugins \
-H "Authorization: Bearer YOUR_TOKEN"
curl http://localhost:31337/api/agent/autonomy \
-H "Authorization: Bearer YOUR_TOKEN"
{
"enabled": false,
"thinking": false
}
curl -X POST http://localhost:31337/api/agent/autonomy \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"enabled": true}'
| Method | Path | Description |
|---|---|---|
GET | /api/auth/status | Check if auth is required and whether pairing is enabled |
POST | /api/auth/pair | Submit a pairing code to receive the API token |
| Method | Path | Description |
|---|---|---|
GET | /api/status | Get current agent status, name, model, uptime, autonomy state, and pending restart info |
GET | /api/health | Structured subsystem health check (runtime, database, plugins, connectors, readiness) |
GET | /api/runtime | Get runtime details (loaded plugins, services, capabilities) |
Example GET /api/status response:
{
"name": "Eliza",
"status": "running",
"model": "anthropic/claude-sonnet-4.6",
"uptime": 3600,
"autonomy": { "enabled": true },
"pendingRestart": false
}
| Method | Path | Description |
|---|---|---|
POST | /api/agent/start | Start the agent |
POST | /api/agent/stop | Stop the agent and disable autonomy |
POST | /api/agent/pause | Pause the agent (keep uptime, disable autonomy) |
POST | /api/agent/resume | Resume a paused agent and re-enable autonomy |
| Method | Path | Description |
|---|---|---|
POST | /api/agent/restart | Restart the agent runtime |
POST | /api/agent/reset | Wipe config, workspace, memory and return to onboarding |
POST | /api/restart | Restart the process (alias used by some callers) |
GET | /api/agent/self-status | Structured self-status summary (capabilities, wallet, plugins, awareness) |
| Method | Path | Description |
|---|---|---|
POST | /api/agent/export | Export agent as a password-encrypted .eliza-agent binary file |
GET | /api/agent/export/estimate | Estimate export file size before downloading |
POST | /api/agent/import | Import agent from a password-encrypted .eliza-agent file |
| Method | Path | Description |
|---|---|---|
GET | /api/agent/autonomy | Get autonomy state (enabled) |
POST | /api/agent/autonomy | Enable or disable autonomy ({ enabled: boolean }) |
| Method | Path | Description |
|---|---|---|
GET | /api/agent/events | Get buffered agent events. Params: after (event ID cursor), limit (1-1000, default 200), runId (filter by run), fromSeq (min sequence number) |
| Method | Path | Description |
|---|---|---|
GET | /api/onboarding/status | Check if onboarding is complete |
GET | /api/onboarding/options | Get available onboarding options (providers, styles) |
POST | /api/onboarding | Complete the onboarding wizard |
| Method | Path | Description |
|---|---|---|
POST | /api/provider/switch | Atomically switch the active AI provider selection and persist canonical routing state |
| Method | Path | Description |
|---|---|---|
GET | /api/character | Get current character data (name, bio, system, style, etc.) |
PUT | /api/character | Update character fields (validated against CharacterSchema) |
GET | /api/character/random-name | Generate a random agent name |
POST | /api/character/generate | AI-assisted generation of bio, system prompt, style, chatExamples, or postExamples |
GET | /api/character/schema | Get the character field schema for UI rendering |
| Method | Path | Description |
|---|---|---|
GET | /api/conversations | List all conversations |
POST | /api/conversations | Create a new conversation |
GET | /api/conversations/:id/messages | Get messages for a conversation |
POST | /api/conversations/:id/messages | Send a message in a conversation |
POST | /api/conversations/:id/messages/stream | Send a message and stream the response in a conversation (SSE) |
POST | /api/conversations/:id/greeting | Generate a greeting message for a conversation |
PATCH | /api/conversations/:id | Update conversation metadata (e.g. title) |
DELETE | /api/conversations/:id | Delete a conversation |
| Method | Path | Description |
|---|---|---|
GET | /api/inbox/messages | List recent messages across all connector channels in a canonical feed |
GET | /api/inbox/chats | List connector chat threads (one row per external chat room) |
GET | /api/inbox/sources | List distinct connector source tags the agent has messages for |
| Method | Path | Description |
|---|---|---|
GET | /api/config | Get the current eliza.json configuration |
PUT | /api/config | Update configuration fields |
GET | /api/config/schema | Get the configuration schema for UI rendering |
| Method | Path | Description |
|---|---|---|
GET | /api/connectors | List all configured messaging connectors |
POST | /api/connectors | Add or update a connector configuration |
DELETE | /api/connectors/:name | Remove a connector configuration |
| Method | Path | Description |
|---|---|---|
GET | /api/plugins | List all plugins with status, config, and validation info |
PUT | /api/plugins/:id | Update plugin configuration (enable/disable, set params) |
POST | /api/plugins/:id/test | Test a plugin's configuration |
POST | /api/plugins/install | Install a plugin from the registry |
POST | /api/plugins/uninstall | Uninstall a user-installed plugin |
POST | /api/plugins/:id/eject | Eject a bundled plugin to user-managed |
POST | /api/plugins/:id/sync | Sync an ejected plugin with its upstream |
POST | /api/plugins/:id/reinject | Reinject a previously ejected plugin |
GET | /api/plugins/installed | List user-installed plugins |
GET | /api/plugins/ejected | List ejected plugins |
GET | /api/plugins/core | List core plugin status |
POST | /api/plugins/core/toggle | Toggle a core plugin on/off |
| Method | Path | Description |
|---|---|---|
GET | /api/secrets | Get all plugin-declared sensitive parameters with current set/unset status |
PUT | /api/secrets | Update sensitive environment variables (API keys, tokens) |
| Method | Path | Description |
|---|---|---|
GET | /api/skills | List all loaded skills |
POST | /api/skills/refresh | Refresh the skills snapshot |
GET | /api/skills/:id/scan | Get security scan report for a skill |
POST | /api/skills/:id/acknowledge | Acknowledge a skill security scan |
POST | /api/skills/create | Create a new skill |
POST | /api/skills/:id/open | Open a skill directory |
GET | /api/skills/:id/source | Get skill source code |
PUT | /api/skills/:id/source | Update skill source code |
POST | /api/skills/:id/enable | Enable a skill (honors scan acknowledgments) |
POST | /api/skills/:id/disable | Disable a skill |
DELETE | /api/skills/:id | Delete a skill |
| Method | Path | Description |
|---|---|---|
GET | /api/skills/catalog | Browse the skills catalog |
GET | /api/skills/catalog/search | Search catalog skills |
GET | /api/skills/catalog/:slug | Get details for a catalog skill |
POST | /api/skills/catalog/refresh | Refresh the catalog cache |
POST | /api/skills/catalog/install | Install a catalog skill |
POST | /api/skills/catalog/uninstall | Uninstall a catalog skill |
| Method | Path | Description |
|---|---|---|
GET | /api/skills/marketplace/search | Search marketplace skills |
GET | /api/skills/marketplace/installed | List installed marketplace skills |
POST | /api/skills/marketplace/install | Install a marketplace skill |
POST | /api/skills/marketplace/uninstall | Uninstall a marketplace skill |
GET | /api/skills/marketplace/config | Get marketplace configuration |
PUT | /api/skills/marketplace/config | Update marketplace configuration |
| Method | Path | Description |
|---|---|---|
GET | /api/registry/plugins | List all plugins from the elizaOS registry |
GET | /api/registry/plugins/:name | Get details for a specific registry plugin |
GET | /api/registry/search | Search the registry. Params: q (required), limit |
POST | /api/registry/refresh | Force refresh the registry cache |
| Method | Path | Description |
|---|---|---|
GET | /api/registry/status | Get on-chain agent registration status |
POST | /api/registry/register | Register agent on-chain |
POST | /api/registry/update-uri | Update the on-chain tokenURI |
POST | /api/registry/sync | Sync agent profile on-chain |
GET | /api/registry/config | Get on-chain registry configuration (chainId, addresses, explorer) |
| Method | Path | Description |
|---|---|---|
POST | /api/memory/remember | Save a free-text note into the agent's persistent memory |
GET | /api/memory/search | Full-text keyword search over saved memory notes. Params: q (required), limit |
GET | /api/context/quick | Search memory and knowledge, then synthesize a concise answer. Params: q (required), limit |
| Method | Path | Description |
|---|---|---|
GET | /api/documents/stats | Get document and fragment counts |
GET | /api/documents | List knowledge documents. Params: limit, offset |
GET | /api/documents/:id | Get a specific document with content |
POST | /api/documents | Upload a document (base64 content or text) |
POST | /api/documents/bulk | Upload up to 100 documents in a single request |
POST | /api/documents/url | Upload from URL (supports YouTube auto-transcription) |
DELETE | /api/documents/:id | Delete a document and all its fragments |
GET | /api/documents/search | Semantic search. Params: q (required), threshold, limit |
GET | /api/documents/:documentId/fragments | List all fragments for a document |
| Method | Path | Description |
|---|---|---|
GET | /api/database/status | Get database status (provider, connection, table count) |
GET | /api/database/config | Get persisted database configuration |
PUT | /api/database/config | Update database provider configuration |
POST | /api/database/test | Test a PostgreSQL connection |
GET | /api/database/tables | List all database tables with column info |
GET | /api/database/tables/:table/rows | Query rows from a table with pagination, sorting, and search |
POST | /api/database/tables/:table/rows | Insert a new row into a table |
PUT | /api/database/tables/:table/rows | Update a row in a table |
DELETE | /api/database/tables/:table/rows | Delete a row from a table |
POST | /api/database/query | Execute a raw SQL query (read-only by default) |
| Method | Path | Description |
|---|---|---|
GET | /api/triggers | List all triggers |
POST | /api/triggers | Create a new trigger |
GET | /api/triggers/:id | Get a trigger by ID |
PUT | /api/triggers/:id | Update a trigger |
DELETE | /api/triggers/:id | Delete a trigger |
POST | /api/triggers/:id/execute | Manually execute a trigger |
GET | /api/triggers/:id/runs | Get run history for a trigger |
GET | /api/triggers/health | Get trigger system health snapshot |
| Method | Path | Description |
|---|---|---|
GET | /api/workflow/workflows | List workflows |
GET | /api/workflow/status | Get workflow integration status (mode, health, platform) |
| Method | Path | Description |
|---|---|---|
GET | /api/trajectories | List and search trajectories with filters |
GET | /api/trajectories/:id | Get trajectory details with LLM calls and provider accesses |
GET | /api/trajectories/stats | Get trajectory statistics |
GET | /api/trajectories/config | Get trajectory logging configuration (enabled/disabled) |
PUT | /api/trajectories/config | Enable or disable trajectory logging |
POST | /api/trajectories/export | Export trajectories (JSON, CSV, ART, or ZIP) |
DELETE | /api/trajectories | Delete trajectories (by IDs or all) |
| Method | Path | Description |
|---|---|---|
GET | /api/training/status | Get training service status |
GET | /api/training/trajectories | List trajectories for training. Params: limit, offset |
GET | /api/training/trajectories/:id | Get trajectory detail for training |
GET | /api/training/datasets | List training datasets |
POST | /api/training/datasets/build | Build a new dataset from trajectories |
GET | /api/training/jobs | List training jobs |
POST | /api/training/jobs | Start a new training job |
GET | /api/training/jobs/:id | Get training job status |
POST | /api/training/jobs/:id/cancel | Cancel a running training job |
GET | /api/training/models | List fine-tuned models |
POST | /api/training/models/:id/import-ollama | Import a model to Ollama |
POST | /api/training/models/:id/activate | Activate a fine-tuned model |
POST | /api/training/models/:id/benchmark | Benchmark a fine-tuned model |
GET | /api/training/auto/config | Get auto-training configuration (thresholds, cooldown) |
PUT | /api/training/auto/config | Update auto-training configuration |
| Method | Path | Description |
|---|---|---|
POST | /api/cloud/login | Start Eliza Cloud login flow (returns browser URL and session ID) |
GET | /api/cloud/login/status | Poll login session status. Param: sessionId |
GET | /api/cloud/status | Get cloud connection status, auth state, and billing URL |
GET | /api/cloud/credits | Get cloud credit balance |
GET | /api/cloud/billing/summary | Get cloud billing summary for in-app billing |
GET | /api/cloud/billing/payment-methods | List saved cloud billing payment methods |
GET | /api/cloud/billing/history | List recent cloud billing activity |
POST | /api/cloud/billing/checkout | Create a cloud billing checkout session |
POST | /api/cloud/billing/crypto/quote | Create a cloud billing crypto quote |
POST | /api/cloud/disconnect | Disconnect from Eliza Cloud and clear credentials |
GET | /api/cloud/agents | List cloud agents |
POST | /api/cloud/agents | Create a new cloud agent |
POST | /api/cloud/agents/:id/provision | Provision a cloud agent |
POST | /api/cloud/agents/:id/shutdown | Shutdown and delete a cloud agent |
POST | /api/cloud/agents/:id/connect | Connect to an existing cloud agent |
POST | /api/cloud/v1/eliza/agents/:id/pairing-token | Generate a pairing token for opening a cloud agent's Web UI in a new tab. Returns { success, data: { token, redirectUrl, expiresIn } } |
| Method | Path | Description |
|---|---|---|
GET | /api/subscription/status | Get status of subscription auth providers |
POST | /api/subscription/anthropic/start | Start Anthropic OAuth flow (returns auth URL) |
POST | /api/subscription/anthropic/exchange | Exchange Anthropic auth code for tokens |
POST | /api/subscription/anthropic/setup-token | Accept an Anthropic setup token directly |
POST | /api/subscription/openai/start | Start OpenAI OAuth flow (returns auth URL) |
POST | /api/subscription/openai/exchange | Exchange OpenAI auth code for tokens |
DELETE | /api/subscription/:provider | Remove subscription credentials for a provider |
| Method | Path | Description |
|---|---|---|
GET | /api/apps | List available and installed apps |
GET | /api/apps/search | Search for apps. Params: q, limit |
GET | /api/apps/installed | List installed apps |
POST | /api/apps/launch | Launch an app (install plugin if needed) |
POST | /api/apps/stop | Stop a running app |
GET | /api/apps/info/:name | Get app details |
GET | /api/apps/plugins | List non-app plugins from registry |
GET | /api/apps/plugins/search | Search non-app plugins. Params: q, limit |
POST | /api/apps/refresh | Refresh the app registry cache |
| Method | Path | Description |
|---|---|---|
GET | /api/apps/hyperscape/embedded-agents | List embedded Hyperscape agents |
POST | /api/apps/hyperscape/embedded-agents | Create an embedded Hyperscape agent |
POST | /api/apps/hyperscape/embedded-agents/:id/(start|stop|pause|resume|command) | Control an embedded agent |
POST | /api/apps/hyperscape/agents/:id/message | Send a message to a Hyperscape agent |
GET | /api/apps/hyperscape/agents/:id/goal | Get a Hyperscape agent's current goal |
GET | /api/apps/hyperscape/agents/:id/quick-actions | Get available quick actions for a Hyperscape agent |
| Method | Path | Description |
|---|---|---|
GET | /api/mcp/marketplace/search | Search the MCP marketplace. Params: q, limit |
GET | /api/mcp/marketplace/details/:name | Get details for an MCP server |
GET | /api/mcp/config | Get MCP server configuration |
POST | /api/mcp/config/server | Add or update an MCP server config |
DELETE | /api/mcp/config/server/:name | Remove an MCP server config |
PUT | /api/mcp/config | Bulk update MCP configuration |
GET | /api/mcp/status | Get MCP connection status for all configured servers |
| Method | Path | Description |
|---|---|---|
GET | /api/models | List available models. Params: provider (optional), refresh (bust cache) |
| Method | Path | Description |
|---|---|---|
GET | /api/core/status | Get elizaOS core version and status |
| Method | Path | Description |
|---|---|---|
GET | /api/permissions | Get all system permission states |
GET | /api/permissions/:id | Get a single permission state |
GET | /api/permissions/shell | Get shell access toggle status |
PUT | /api/permissions/shell | Toggle shell access on/off |
PUT | /api/permissions/state | Update permission states from Electrobun RPC |
POST | /api/permissions/refresh | Force refresh all permission states |
POST | /api/permissions/:id/request | Request a specific system permission |
POST | /api/permissions/:id/open-settings | Open system settings for a permission |
| Method | Path | Description |
|---|---|---|
GET | /api/custom-actions | List all user-defined custom actions |
POST | /api/custom-actions | Create a new custom action |
POST | /api/custom-actions/generate | AI-generate an action definition from a prompt |
PUT | /api/custom-actions/:id | Update an existing custom action |
DELETE | /api/custom-actions/:id | Delete a custom action |
POST | /api/custom-actions/:id/test | Test-run a custom action |
| Method | Path | Description |
|---|---|---|
GET | /api/automations | Canonical list of all automations (triggers, workflows, workbench tasks) |
GET | /api/automations/nodes | Node catalog — available trigger, action, context, integration, and agent nodes |
| Method | Path | Description |
|---|---|---|
GET | /api/workbench/overview | Get workbench overview (tasks, triggers, todos, life-ops, autonomy state) |
GET | /api/workbench/tasks | List workbench tasks |
POST | /api/workbench/tasks | Create a workbench task |
GET | /api/workbench/tasks/:id | Get a single workbench task |
PUT | /api/workbench/tasks/:id | Update a workbench task |
DELETE | /api/workbench/tasks/:id | Delete a workbench task |
GET | /api/workbench/todos | List workbench todos |
POST | /api/workbench/todos | Create or update a workbench to-do item |
| Method | Path | Description |
|---|---|---|
GET | /api/automations | Canonical list of all automations (triggers + workflows + workbench tasks) with summary counts |
GET | /api/automations/nodes | Node catalog — available trigger, action, context, integration, and agent nodes |
GET | /api/workflow/workflows | List workflows |
GET | /api/workflow/status | Get workflow status (mode, health, platform) |
| Method | Path | Description |
|---|---|---|
GET | /api/lifeops/overview | Aggregated overview of occurrences, goals, and reminders |
GET | /api/lifeops/definitions | List all definitions |
POST | /api/lifeops/definitions | Create a new definition |
GET | /api/lifeops/definitions/:id | Get a single definition |
PUT | /api/lifeops/definitions/:id | Update a definition |
GET | /api/lifeops/goals | List all goals |
POST | /api/lifeops/goals | Create a new goal |
GET | /api/lifeops/goals/:id | Get a single goal |
PUT | /api/lifeops/goals/:id | Update a goal |
POST | /api/lifeops/occurrences/:id/complete | Mark an occurrence as completed |
POST | /api/lifeops/occurrences/:id/skip | Skip an occurrence |
POST | /api/lifeops/occurrences/:id/snooze | Snooze an occurrence |
| Method | Path | Description |
|---|---|---|
GET | /api/logs | Get log entries. Filters: source, level, tag, since |
GET | /api/extension/status | Check browser extension relay and path status |
| Method | Path | Description |
|---|---|---|
GET | /api/security/audit | Query audit log. Filters: type, severity, since, limit. Supports SSE streaming with stream=1 |
| Method | Path | Description |
|---|---|---|
GET | /api/emotes | Get the full emote catalog for 3D avatar animations |
POST | /api/emote | Trigger an emote animation by ID |
| Method | Path | Description |
|---|---|---|
POST | /api/tts/elevenlabs | Generate speech audio via ElevenLabs |
POST | /api/tts/cloud | Generate speech audio via Eliza Cloud |
| Method | Path | Description |
|---|---|---|
POST | /api/terminal/run | Execute a shell command in the agent workspace |
| Method | Path | Description |
|---|---|---|
GET | /api/wallet/addresses | Get EVM and Solana wallet addresses |
GET | /api/wallet/balances | Get token balances across all chains |
GET | /api/wallet/nfts | Get NFTs across EVM and Solana |
GET | /api/wallet/config | Get wallet API key configuration status |
PUT | /api/wallet/config | Update wallet API keys (Alchemy, Helius, etc.) |
POST | /api/wallet/import | Import a private key for EVM or Solana |
POST | /api/wallet/generate | Generate new wallet(s) for EVM, Solana, or both |
POST | /api/wallet/export | Export private keys (requires confirmation) |
POST | /api/wallet/production-defaults | Apply production-ready wallet trading defaults |
| Method | Path | Description |
|---|---|---|
POST | /api/wallet/primary | Set the primary wallet source (local or cloud) for a chain. Gated by ENABLE_CLOUD_WALLET |
POST | /api/wallet/refresh-cloud | Re-query Eliza Cloud for the latest cloud wallet descriptors. Gated by ENABLE_CLOUD_WALLET |
| Method | Path | Description |
|---|---|---|
POST | /api/wallet/trade/preflight | Preflight check for BSC trading readiness |
POST | /api/wallet/trade/quote | Get a price quote for a token swap |
POST | /api/wallet/trade/execute | Execute a token trade (returns unsigned tx or executes on-chain) |
GET | /api/wallet/trade/tx-status | Check on-chain status of a trade transaction |
GET | /api/wallet/trading/profile | Get trading P&L profile from the local ledger |
POST | /api/wallet/transfer/execute | Transfer native or ERC-20 tokens on BSC |
| Method | Path | Description |
|---|---|---|
GET | /api/wallet/steward-status | Get Steward bridge connection status |
GET | /api/wallet/steward-policies | Get Steward policy configurations |
GET | /api/wallet/steward-pending-approvals | List pending Steward transaction approvals |
POST | /api/wallet/steward-approve-tx | Approve a pending Steward transaction |
POST | /api/wallet/steward-deny-tx | Deny a pending Steward transaction |
GET | /api/wallet/steward-tx-records | Get Steward transaction history |
| Method | Path | Description |
|---|---|---|
GET | /api/drop/status | Get drop/mint service status |
POST | /api/drop/mint | Mint an NFT |
POST | /api/drop/mint-whitelist | Mint with whitelist verification (Merkle proof) |
| Method | Path | Description |
|---|---|---|
GET | /api/whitelist/status | Get whitelist eligibility status for connected wallet |
POST | /api/whitelist/twitter/message | Generate a Twitter verification message for the agent |
POST | /api/whitelist/twitter/verify | Verify a Twitter/X account via tweet URL |
| Method | Path | Description |
|---|---|---|
GET | /api/update/status | Get current version, update channel, and available updates |
PUT | /api/update/channel | Switch update channel (stable, beta, nightly) |
| Method | Path | Description |
|---|---|---|
POST | /api/ingest/share | Ingest shared content from external sources |
GET | /api/ingest/share | Get queued shared content. Param: consume=1 to dequeue |
| Method | Path | Description |
|---|---|---|
POST | /api/stream/live | Start streaming using the active destination adapter |
POST | /api/stream/offline | Stop the active stream |
GET | /api/stream/status | Get current stream health and configuration |
POST | /api/stream/start | Start stream with explicit RTMP parameters |
POST | /api/stream/stop | Stop the active FFmpeg process |
POST | /api/stream/frame | Pipe a raw image frame to FFmpeg (pipe capture mode) |
POST | /api/stream/volume | Set audio volume (0–100) |
POST | /api/stream/mute | Mute stream audio |
POST | /api/stream/unmute | Unmute stream audio |
GET | /api/streaming/destinations | List all configured streaming destinations with active status |
POST | /api/streaming/destination | Switch the active streaming destination ({ destinationId }) |
GET | /api/stream/overlay-layout | Get overlay layout (optional destination query param) |
POST | /api/stream/overlay-layout | Save overlay layout |
GET | /api/stream/voice | Get voice/TTS configuration |
POST | /api/stream/voice | Save voice/TTS settings |
POST | /api/stream/voice/speak | Trigger TTS on the live stream |
GET | /api/stream/settings | Get visual stream settings. Response includes avatarIndex (1–8) for the agent's VRM avatar |
POST | /api/stream/settings | Save visual stream settings |
| Method | Path | Description |
|---|---|---|
GET | /api/nfa/status | Get NFA token and on-chain identity status |
GET | /api/nfa/learnings | Get parsed learning entries with Merkle root |
| Method | Path | Description |
|---|---|---|
GET | /api/sandbox/platform | Get platform info (Docker/container availability) |
GET | /api/sandbox/status | Get sandbox manager status |
GET | /api/sandbox/events | Get sandbox event log (last 100) |
GET | /api/sandbox/capabilities | Detect available sandbox capabilities |
POST | /api/sandbox/start | Start the sandbox container |
POST | /api/sandbox/stop | Stop the sandbox container |
POST | /api/sandbox/recover | Recover a failed sandbox |
POST | /api/sandbox/docker/start | Attempt to start Docker Desktop |
POST | /api/sandbox/exec | Execute a command in the sandbox |
GET | /api/sandbox/browser | Get browser CDP/WS endpoints |
| Method | Path | Description |
|---|---|---|
GET | /api/sandbox/screen/screenshot | Capture a screenshot (returns PNG) |
POST | /api/sandbox/screen/screenshot | Capture a screenshot (returns base64 JSON, optional region) |
GET | /api/sandbox/screen/windows | List visible windows |
| Method | Path | Description |
|---|---|---|
POST | /api/sandbox/audio/record | Record audio (returns base64 WAV). Optional: durationMs |
POST | /api/sandbox/audio/play | Play audio from base64 data. Fields: data, format |
| Method | Path | Description |
|---|---|---|
POST | /api/sandbox/computer/click | Perform a mouse click at (x, y) |
POST | /api/sandbox/computer/type | Type text via keyboard |
POST | /api/sandbox/computer/keypress | Send a key press |
| Method | Path | Description |
|---|---|---|
POST | /api/sandbox/sign | Submit a signing request |
POST | /api/sandbox/sign/approve | Approve a pending signing request |
POST | /api/sandbox/sign/reject | Reject a pending signing request |
GET | /api/sandbox/sign/pending | List pending signing approvals |
GET | /api/sandbox/sign/address | Get the signer address |