Back to Eliza

REST API Reference

packages/docs/api-reference.mdx

2.0.134.2 KB
Original Source

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.

<Warning> When `ELIZA_API_TOKEN` is configured, include the token as a `Bearer` token in the `Authorization` header, or use the pairing flow to obtain it. </Warning>

Quick Start

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.

Check agent status

bash
curl http://localhost:31337/api/status
json
{
  "state": "running",
  "agentName": "Eliza",
  "model": "@elizaos/plugin-anthropic",
  "uptime": 3600000,
  "startedAt": 1718000000000
}

Authenticate via pairing code

When pairing is enabled, the agent displays a code in its terminal. Submit it to receive a token:

bash
curl -X POST http://localhost:31337/api/auth/pair \
  -H "Content-Type: application/json" \
  -d '{"code": "ABCD-EFGH"}'
json
{
  "token": "your-api-token"
}

Get character info

bash
curl http://localhost:31337/api/character \
  -H "Authorization: Bearer YOUR_TOKEN"

Send a conversation message

bash
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?"}'

Stream a conversation response

bash
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.

List conversations

bash
curl http://localhost:31337/api/conversations \
  -H "Authorization: Bearer YOUR_TOKEN"

Upload a knowledge document

bash
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."
  }'

Search knowledge

bash
curl "http://localhost:31337/api/documents/search?q=what+is+eliza&limit=5" \
  -H "Authorization: Bearer YOUR_TOKEN"

List plugins

bash
curl http://localhost:31337/api/plugins \
  -H "Authorization: Bearer YOUR_TOKEN"

Get autonomy state

bash
curl http://localhost:31337/api/agent/autonomy \
  -H "Authorization: Bearer YOUR_TOKEN"
json
{
  "enabled": false,
  "thinking": false
}

Enable autonomy

bash
curl -X POST http://localhost:31337/api/agent/autonomy \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enabled": true}'

Authentication

MethodPathDescription
GET/api/auth/statusCheck if auth is required and whether pairing is enabled
POST/api/auth/pairSubmit a pairing code to receive the API token

Status & Runtime

MethodPathDescription
GET/api/statusGet current agent status, name, model, uptime, autonomy state, and pending restart info
GET/api/healthStructured subsystem health check (runtime, database, plugins, connectors, readiness)
GET/api/runtimeGet runtime details (loaded plugins, services, capabilities)

Example GET /api/status response:

json
{
  "name": "Eliza",
  "status": "running",
  "model": "anthropic/claude-sonnet-4.6",
  "uptime": 3600,
  "autonomy": { "enabled": true },
  "pendingRestart": false
}

Agent Lifecycle

MethodPathDescription
POST/api/agent/startStart the agent
POST/api/agent/stopStop the agent and disable autonomy
POST/api/agent/pausePause the agent (keep uptime, disable autonomy)
POST/api/agent/resumeResume a paused agent and re-enable autonomy

Agent Admin

MethodPathDescription
POST/api/agent/restartRestart the agent runtime
POST/api/agent/resetWipe config, workspace, memory and return to onboarding
POST/api/restartRestart the process (alias used by some callers)
GET/api/agent/self-statusStructured self-status summary (capabilities, wallet, plugins, awareness)

Agent Transfer (Export / Import)

MethodPathDescription
POST/api/agent/exportExport agent as a password-encrypted .eliza-agent binary file
GET/api/agent/export/estimateEstimate export file size before downloading
POST/api/agent/importImport agent from a password-encrypted .eliza-agent file

Autonomy

MethodPathDescription
GET/api/agent/autonomyGet autonomy state (enabled)
POST/api/agent/autonomyEnable or disable autonomy ({ enabled: boolean })

Agent Events

MethodPathDescription
GET/api/agent/eventsGet buffered agent events. Params: after (event ID cursor), limit (1-1000, default 200), runId (filter by run), fromSeq (min sequence number)

Onboarding

MethodPathDescription
GET/api/onboarding/statusCheck if onboarding is complete
GET/api/onboarding/optionsGet available onboarding options (providers, styles)
POST/api/onboardingComplete the onboarding wizard

Provider

MethodPathDescription
POST/api/provider/switchAtomically switch the active AI provider selection and persist canonical routing state

Character

MethodPathDescription
GET/api/characterGet current character data (name, bio, system, style, etc.)
PUT/api/characterUpdate character fields (validated against CharacterSchema)
GET/api/character/random-nameGenerate a random agent name
POST/api/character/generateAI-assisted generation of bio, system prompt, style, chatExamples, or postExamples
GET/api/character/schemaGet the character field schema for UI rendering

Chat & Conversations

MethodPathDescription
GET/api/conversationsList all conversations
POST/api/conversationsCreate a new conversation
GET/api/conversations/:id/messagesGet messages for a conversation
POST/api/conversations/:id/messagesSend a message in a conversation
POST/api/conversations/:id/messages/streamSend a message and stream the response in a conversation (SSE)
POST/api/conversations/:id/greetingGenerate a greeting message for a conversation
PATCH/api/conversations/:idUpdate conversation metadata (e.g. title)
DELETE/api/conversations/:idDelete a conversation
<Info> Conversations are scoped to the web-chat interface. Each conversation maps to an elizaOS room with a deterministic world ID. Messages from connector channels include additional sender identity fields (`from`, `fromUserName`, `avatarUrl`) when the connector provides them. </Info>

Inbox (Canonical Messages)

MethodPathDescription
GET/api/inbox/messagesList recent messages across all connector channels in a canonical feed
GET/api/inbox/chatsList connector chat threads (one row per external chat room)
GET/api/inbox/sourcesList distinct connector source tags the agent has messages for
<Info> The inbox aggregates messages from every connected platform (iMessage, Telegram, Discord, WhatsApp, WeChat, Slack, Signal, SMS) into a single time-ordered feed. Dashboard web-chat messages are excluded — those are accessible via the [Conversations API](/rest/conversations). </Info>

Config

MethodPathDescription
GET/api/configGet the current eliza.json configuration
PUT/api/configUpdate configuration fields
GET/api/config/schemaGet the configuration schema for UI rendering

Connectors

MethodPathDescription
GET/api/connectorsList all configured messaging connectors
POST/api/connectorsAdd or update a connector configuration
DELETE/api/connectors/:nameRemove a connector configuration

Plugins

MethodPathDescription
GET/api/pluginsList all plugins with status, config, and validation info
PUT/api/plugins/:idUpdate plugin configuration (enable/disable, set params)
POST/api/plugins/:id/testTest a plugin's configuration
POST/api/plugins/installInstall a plugin from the registry
POST/api/plugins/uninstallUninstall a user-installed plugin
POST/api/plugins/:id/ejectEject a bundled plugin to user-managed
POST/api/plugins/:id/syncSync an ejected plugin with its upstream
POST/api/plugins/:id/reinjectReinject a previously ejected plugin
GET/api/plugins/installedList user-installed plugins
GET/api/plugins/ejectedList ejected plugins
GET/api/plugins/coreList core plugin status
POST/api/plugins/core/toggleToggle a core plugin on/off

Secrets

MethodPathDescription
GET/api/secretsGet all plugin-declared sensitive parameters with current set/unset status
PUT/api/secretsUpdate sensitive environment variables (API keys, tokens)

Skills

MethodPathDescription
GET/api/skillsList all loaded skills
POST/api/skills/refreshRefresh the skills snapshot
GET/api/skills/:id/scanGet security scan report for a skill
POST/api/skills/:id/acknowledgeAcknowledge a skill security scan
POST/api/skills/createCreate a new skill
POST/api/skills/:id/openOpen a skill directory
GET/api/skills/:id/sourceGet skill source code
PUT/api/skills/:id/sourceUpdate skill source code
POST/api/skills/:id/enableEnable a skill (honors scan acknowledgments)
POST/api/skills/:id/disableDisable a skill
DELETE/api/skills/:idDelete a skill

Skills Catalog (Marketplace)

MethodPathDescription
GET/api/skills/catalogBrowse the skills catalog
GET/api/skills/catalog/searchSearch catalog skills
GET/api/skills/catalog/:slugGet details for a catalog skill
POST/api/skills/catalog/refreshRefresh the catalog cache
POST/api/skills/catalog/installInstall a catalog skill
POST/api/skills/catalog/uninstallUninstall a catalog skill

Skills Marketplace (npm-based)

MethodPathDescription
GET/api/skills/marketplace/searchSearch marketplace skills
GET/api/skills/marketplace/installedList installed marketplace skills
POST/api/skills/marketplace/installInstall a marketplace skill
POST/api/skills/marketplace/uninstallUninstall a marketplace skill
GET/api/skills/marketplace/configGet marketplace configuration
PUT/api/skills/marketplace/configUpdate marketplace configuration

Registry (Plugin Registry)

MethodPathDescription
GET/api/registry/pluginsList all plugins from the elizaOS registry
GET/api/registry/plugins/:nameGet details for a specific registry plugin
GET/api/registry/searchSearch the registry. Params: q (required), limit
POST/api/registry/refreshForce refresh the registry cache

On-Chain Registry (ERC-8004)

MethodPathDescription
GET/api/registry/statusGet on-chain agent registration status
POST/api/registry/registerRegister agent on-chain
POST/api/registry/update-uriUpdate the on-chain tokenURI
POST/api/registry/syncSync agent profile on-chain
GET/api/registry/configGet on-chain registry configuration (chainId, addresses, explorer)

Memory & Context

MethodPathDescription
POST/api/memory/rememberSave a free-text note into the agent's persistent memory
GET/api/memory/searchFull-text keyword search over saved memory notes. Params: q (required), limit
GET/api/context/quickSearch memory and knowledge, then synthesize a concise answer. Params: q (required), limit

Knowledge

MethodPathDescription
GET/api/documents/statsGet document and fragment counts
GET/api/documentsList knowledge documents. Params: limit, offset
GET/api/documents/:idGet a specific document with content
POST/api/documentsUpload a document (base64 content or text)
POST/api/documents/bulkUpload up to 100 documents in a single request
POST/api/documents/urlUpload from URL (supports YouTube auto-transcription)
DELETE/api/documents/:idDelete a document and all its fragments
GET/api/documents/searchSemantic search. Params: q (required), threshold, limit
GET/api/documents/:documentId/fragmentsList all fragments for a document

Database

MethodPathDescription
GET/api/database/statusGet database status (provider, connection, table count)
GET/api/database/configGet persisted database configuration
PUT/api/database/configUpdate database provider configuration
POST/api/database/testTest a PostgreSQL connection
GET/api/database/tablesList all database tables with column info
GET/api/database/tables/:table/rowsQuery rows from a table with pagination, sorting, and search
POST/api/database/tables/:table/rowsInsert a new row into a table
PUT/api/database/tables/:table/rowsUpdate a row in a table
DELETE/api/database/tables/:table/rowsDelete a row from a table
POST/api/database/queryExecute a raw SQL query (read-only by default)

Triggers

MethodPathDescription
GET/api/triggersList all triggers
POST/api/triggersCreate a new trigger
GET/api/triggers/:idGet a trigger by ID
PUT/api/triggers/:idUpdate a trigger
DELETE/api/triggers/:idDelete a trigger
POST/api/triggers/:id/executeManually execute a trigger
GET/api/triggers/:id/runsGet run history for a trigger
GET/api/triggers/healthGet trigger system health snapshot

Workflows Workflows

MethodPathDescription
GET/api/workflow/workflowsList workflows
GET/api/workflow/statusGet workflow integration status (mode, health, platform)

Trajectories

MethodPathDescription
GET/api/trajectoriesList and search trajectories with filters
GET/api/trajectories/:idGet trajectory details with LLM calls and provider accesses
GET/api/trajectories/statsGet trajectory statistics
GET/api/trajectories/configGet trajectory logging configuration (enabled/disabled)
PUT/api/trajectories/configEnable or disable trajectory logging
POST/api/trajectories/exportExport trajectories (JSON, CSV, ART, or ZIP)
DELETE/api/trajectoriesDelete trajectories (by IDs or all)

Training & Fine-Tuning

MethodPathDescription
GET/api/training/statusGet training service status
GET/api/training/trajectoriesList trajectories for training. Params: limit, offset
GET/api/training/trajectories/:idGet trajectory detail for training
GET/api/training/datasetsList training datasets
POST/api/training/datasets/buildBuild a new dataset from trajectories
GET/api/training/jobsList training jobs
POST/api/training/jobsStart a new training job
GET/api/training/jobs/:idGet training job status
POST/api/training/jobs/:id/cancelCancel a running training job
GET/api/training/modelsList fine-tuned models
POST/api/training/models/:id/import-ollamaImport a model to Ollama
POST/api/training/models/:id/activateActivate a fine-tuned model
POST/api/training/models/:id/benchmarkBenchmark a fine-tuned model
GET/api/training/auto/configGet auto-training configuration (thresholds, cooldown)
PUT/api/training/auto/configUpdate auto-training configuration

Cloud

MethodPathDescription
POST/api/cloud/loginStart Eliza Cloud login flow (returns browser URL and session ID)
GET/api/cloud/login/statusPoll login session status. Param: sessionId
GET/api/cloud/statusGet cloud connection status, auth state, and billing URL
GET/api/cloud/creditsGet cloud credit balance
GET/api/cloud/billing/summaryGet cloud billing summary for in-app billing
GET/api/cloud/billing/payment-methodsList saved cloud billing payment methods
GET/api/cloud/billing/historyList recent cloud billing activity
POST/api/cloud/billing/checkoutCreate a cloud billing checkout session
POST/api/cloud/billing/crypto/quoteCreate a cloud billing crypto quote
POST/api/cloud/disconnectDisconnect from Eliza Cloud and clear credentials
GET/api/cloud/agentsList cloud agents
POST/api/cloud/agentsCreate a new cloud agent
POST/api/cloud/agents/:id/provisionProvision a cloud agent
POST/api/cloud/agents/:id/shutdownShutdown and delete a cloud agent
POST/api/cloud/agents/:id/connectConnect to an existing cloud agent
POST/api/cloud/v1/eliza/agents/:id/pairing-tokenGenerate a pairing token for opening a cloud agent's Web UI in a new tab. Returns { success, data: { token, redirectUrl, expiresIn } }
<Info> Routes under `/api/cloud/v1/` are forwarded as `/api/v1/` on the cloud backend, distinct from the legacy `/api/cloud/compat/*` mapping. Both `Authorization: Bearer` and `X-Api-Key` headers are accepted for authentication. </Info>

Subscription (OAuth Flows)

MethodPathDescription
GET/api/subscription/statusGet status of subscription auth providers
POST/api/subscription/anthropic/startStart Anthropic OAuth flow (returns auth URL)
POST/api/subscription/anthropic/exchangeExchange Anthropic auth code for tokens
POST/api/subscription/anthropic/setup-tokenAccept an Anthropic setup token directly
POST/api/subscription/openai/startStart OpenAI OAuth flow (returns auth URL)
POST/api/subscription/openai/exchangeExchange OpenAI auth code for tokens
DELETE/api/subscription/:providerRemove subscription credentials for a provider

Apps

MethodPathDescription
GET/api/appsList available and installed apps
GET/api/apps/searchSearch for apps. Params: q, limit
GET/api/apps/installedList installed apps
POST/api/apps/launchLaunch an app (install plugin if needed)
POST/api/apps/stopStop a running app
GET/api/apps/info/:nameGet app details
GET/api/apps/pluginsList non-app plugins from registry
GET/api/apps/plugins/searchSearch non-app plugins. Params: q, limit
POST/api/apps/refreshRefresh the app registry cache

Hyperscape Integration

MethodPathDescription
GET/api/apps/hyperscape/embedded-agentsList embedded Hyperscape agents
POST/api/apps/hyperscape/embedded-agentsCreate 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/messageSend a message to a Hyperscape agent
GET/api/apps/hyperscape/agents/:id/goalGet a Hyperscape agent's current goal
GET/api/apps/hyperscape/agents/:id/quick-actionsGet available quick actions for a Hyperscape agent

MCP (Model Context Protocol)

MethodPathDescription
GET/api/mcp/marketplace/searchSearch the MCP marketplace. Params: q, limit
GET/api/mcp/marketplace/details/:nameGet details for an MCP server
GET/api/mcp/configGet MCP server configuration
POST/api/mcp/config/serverAdd or update an MCP server config
DELETE/api/mcp/config/server/:nameRemove an MCP server config
PUT/api/mcp/configBulk update MCP configuration
GET/api/mcp/statusGet MCP connection status for all configured servers

Models

MethodPathDescription
GET/api/modelsList available models. Params: provider (optional), refresh (bust cache)

Core Status

MethodPathDescription
GET/api/core/statusGet elizaOS core version and status

Permissions

MethodPathDescription
GET/api/permissionsGet all system permission states
GET/api/permissions/:idGet a single permission state
GET/api/permissions/shellGet shell access toggle status
PUT/api/permissions/shellToggle shell access on/off
PUT/api/permissions/stateUpdate permission states from Electrobun RPC
POST/api/permissions/refreshForce refresh all permission states
POST/api/permissions/:id/requestRequest a specific system permission
POST/api/permissions/:id/open-settingsOpen system settings for a permission

Custom Actions

MethodPathDescription
GET/api/custom-actionsList all user-defined custom actions
POST/api/custom-actionsCreate a new custom action
POST/api/custom-actions/generateAI-generate an action definition from a prompt
PUT/api/custom-actions/:idUpdate an existing custom action
DELETE/api/custom-actions/:idDelete a custom action
POST/api/custom-actions/:id/testTest-run a custom action

Automations

MethodPathDescription
GET/api/automationsCanonical list of all automations (triggers, workflows, workbench tasks)
GET/api/automations/nodesNode catalog — available trigger, action, context, integration, and agent nodes

Workbench

MethodPathDescription
GET/api/workbench/overviewGet workbench overview (tasks, triggers, todos, life-ops, autonomy state)
GET/api/workbench/tasksList workbench tasks
POST/api/workbench/tasksCreate a workbench task
GET/api/workbench/tasks/:idGet a single workbench task
PUT/api/workbench/tasks/:idUpdate a workbench task
DELETE/api/workbench/tasks/:idDelete a workbench task
GET/api/workbench/todosList workbench todos
POST/api/workbench/todosCreate or update a workbench to-do item

Automations

MethodPathDescription
GET/api/automationsCanonical list of all automations (triggers + workflows + workbench tasks) with summary counts
GET/api/automations/nodesNode catalog — available trigger, action, context, integration, and agent nodes
GET/api/workflow/workflowsList workflows
GET/api/workflow/statusGet workflow status (mode, health, platform)

LifeOps

MethodPathDescription
GET/api/lifeops/overviewAggregated overview of occurrences, goals, and reminders
GET/api/lifeops/definitionsList all definitions
POST/api/lifeops/definitionsCreate a new definition
GET/api/lifeops/definitions/:idGet a single definition
PUT/api/lifeops/definitions/:idUpdate a definition
GET/api/lifeops/goalsList all goals
POST/api/lifeops/goalsCreate a new goal
GET/api/lifeops/goals/:idGet a single goal
PUT/api/lifeops/goals/:idUpdate a goal
POST/api/lifeops/occurrences/:id/completeMark an occurrence as completed
POST/api/lifeops/occurrences/:id/skipSkip an occurrence
POST/api/lifeops/occurrences/:id/snoozeSnooze an occurrence

Diagnostics & Logs

MethodPathDescription
GET/api/logsGet log entries. Filters: source, level, tag, since
GET/api/extension/statusCheck browser extension relay and path status

Security Audit

MethodPathDescription
GET/api/security/auditQuery audit log. Filters: type, severity, since, limit. Supports SSE streaming with stream=1

Emotes

MethodPathDescription
GET/api/emotesGet the full emote catalog for 3D avatar animations
POST/api/emoteTrigger an emote animation by ID

TTS (Text-to-Speech)

MethodPathDescription
POST/api/tts/elevenlabsGenerate speech audio via ElevenLabs
POST/api/tts/cloudGenerate speech audio via Eliza Cloud

Terminal

MethodPathDescription
POST/api/terminal/runExecute a shell command in the agent workspace

Wallet

MethodPathDescription
GET/api/wallet/addressesGet EVM and Solana wallet addresses
GET/api/wallet/balancesGet token balances across all chains
GET/api/wallet/nftsGet NFTs across EVM and Solana
GET/api/wallet/configGet wallet API key configuration status
PUT/api/wallet/configUpdate wallet API keys (Alchemy, Helius, etc.)
POST/api/wallet/importImport a private key for EVM or Solana
POST/api/wallet/generateGenerate new wallet(s) for EVM, Solana, or both
POST/api/wallet/exportExport private keys (requires confirmation)
POST/api/wallet/production-defaultsApply production-ready wallet trading defaults

Wallet Cloud

MethodPathDescription
POST/api/wallet/primarySet the primary wallet source (local or cloud) for a chain. Gated by ENABLE_CLOUD_WALLET
POST/api/wallet/refresh-cloudRe-query Eliza Cloud for the latest cloud wallet descriptors. Gated by ENABLE_CLOUD_WALLET

Wallet Trading

MethodPathDescription
POST/api/wallet/trade/preflightPreflight check for BSC trading readiness
POST/api/wallet/trade/quoteGet a price quote for a token swap
POST/api/wallet/trade/executeExecute a token trade (returns unsigned tx or executes on-chain)
GET/api/wallet/trade/tx-statusCheck on-chain status of a trade transaction
GET/api/wallet/trading/profileGet trading P&L profile from the local ledger
POST/api/wallet/transfer/executeTransfer native or ERC-20 tokens on BSC

Wallet Steward Bridge

MethodPathDescription
GET/api/wallet/steward-statusGet Steward bridge connection status
GET/api/wallet/steward-policiesGet Steward policy configurations
GET/api/wallet/steward-pending-approvalsList pending Steward transaction approvals
POST/api/wallet/steward-approve-txApprove a pending Steward transaction
POST/api/wallet/steward-deny-txDeny a pending Steward transaction
GET/api/wallet/steward-tx-recordsGet Steward transaction history

Drop / Mint

MethodPathDescription
GET/api/drop/statusGet drop/mint service status
POST/api/drop/mintMint an NFT
POST/api/drop/mint-whitelistMint with whitelist verification (Merkle proof)

Whitelist Verification

MethodPathDescription
GET/api/whitelist/statusGet whitelist eligibility status for connected wallet
POST/api/whitelist/twitter/messageGenerate a Twitter verification message for the agent
POST/api/whitelist/twitter/verifyVerify a Twitter/X account via tweet URL

Update Management

MethodPathDescription
GET/api/update/statusGet current version, update channel, and available updates
PUT/api/update/channelSwitch update channel (stable, beta, nightly)

Share Ingest

MethodPathDescription
POST/api/ingest/shareIngest shared content from external sources
GET/api/ingest/shareGet queued shared content. Param: consume=1 to dequeue

Streaming

MethodPathDescription
POST/api/stream/liveStart streaming using the active destination adapter
POST/api/stream/offlineStop the active stream
GET/api/stream/statusGet current stream health and configuration
POST/api/stream/startStart stream with explicit RTMP parameters
POST/api/stream/stopStop the active FFmpeg process
POST/api/stream/framePipe a raw image frame to FFmpeg (pipe capture mode)
POST/api/stream/volumeSet audio volume (0–100)
POST/api/stream/muteMute stream audio
POST/api/stream/unmuteUnmute stream audio
GET/api/streaming/destinationsList all configured streaming destinations with active status
POST/api/streaming/destinationSwitch the active streaming destination ({ destinationId })
GET/api/stream/overlay-layoutGet overlay layout (optional destination query param)
POST/api/stream/overlay-layoutSave overlay layout
GET/api/stream/voiceGet voice/TTS configuration
POST/api/stream/voiceSave voice/TTS settings
POST/api/stream/voice/speakTrigger TTS on the live stream
GET/api/stream/settingsGet visual stream settings. Response includes avatarIndex (1–8) for the agent's VRM avatar
POST/api/stream/settingsSave visual stream settings

NFA (Non-Fungible Agent)

MethodPathDescription
GET/api/nfa/statusGet NFA token and on-chain identity status
GET/api/nfa/learningsGet parsed learning entries with Merkle root
<Info> NFA endpoints depend on the optional `@elizaos/plugin-bnb-identity` plugin. When the plugin is not installed, `/api/nfa/status` returns `null` for both `nfa` and `identity` fields, and `/api/nfa/learnings` returns an empty entries array with a default Merkle root. </Info>

Sandbox

MethodPathDescription
GET/api/sandbox/platformGet platform info (Docker/container availability)
GET/api/sandbox/statusGet sandbox manager status
GET/api/sandbox/eventsGet sandbox event log (last 100)
GET/api/sandbox/capabilitiesDetect available sandbox capabilities
POST/api/sandbox/startStart the sandbox container
POST/api/sandbox/stopStop the sandbox container
POST/api/sandbox/recoverRecover a failed sandbox
POST/api/sandbox/docker/startAttempt to start Docker Desktop
POST/api/sandbox/execExecute a command in the sandbox
GET/api/sandbox/browserGet browser CDP/WS endpoints

Sandbox Screen

MethodPathDescription
GET/api/sandbox/screen/screenshotCapture a screenshot (returns PNG)
POST/api/sandbox/screen/screenshotCapture a screenshot (returns base64 JSON, optional region)
GET/api/sandbox/screen/windowsList visible windows

Sandbox Audio

MethodPathDescription
POST/api/sandbox/audio/recordRecord audio (returns base64 WAV). Optional: durationMs
POST/api/sandbox/audio/playPlay audio from base64 data. Fields: data, format

Sandbox Computer Use

MethodPathDescription
POST/api/sandbox/computer/clickPerform a mouse click at (x, y)
POST/api/sandbox/computer/typeType text via keyboard
POST/api/sandbox/computer/keypressSend a key press

Sandbox Signing

MethodPathDescription
POST/api/sandbox/signSubmit a signing request
POST/api/sandbox/sign/approveApprove a pending signing request
POST/api/sandbox/sign/rejectReject a pending signing request
GET/api/sandbox/sign/pendingList pending signing approvals
GET/api/sandbox/sign/addressGet the signer address