You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Complete reference for all Eliza REST API endpoints, organized by resource group.
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.
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.
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.
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." }'
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
Autonomy
Method
Path
Description
GET
/api/agent/autonomy
Get autonomy state (enabled)
POST
/api/agent/autonomy
Enable or disable autonomy ({ enabled: boolean })
Agent Events
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)
Onboarding
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
Provider
Method
Path
Description
POST
/api/provider/switch
Atomically switch the active AI provider selection and persist canonical routing state
Character
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
Chat & Conversations
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
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.
Inbox (Canonical Messages)
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
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).
Config
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
Connectors
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
Plugins
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
Secrets
Method
Path
Description
GET
/api/secrets
Get all plugin-declared sensitive parameters with current set/unset 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)
Triggers
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
Workflows Workflows
Method
Path
Description
GET
/api/workflow/workflows
List workflows
GET
/api/workflow/status
Get workflow integration status (mode, health, platform)
Trajectories
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)
Training & Fine-Tuning
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
Cloud
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 } }
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.
Get the full emote catalog for 3D avatar animations
POST
/api/emote
Trigger an emote animation by ID
TTS (Text-to-Speech)
Method
Path
Description
POST
/api/tts/elevenlabs
Generate speech audio via ElevenLabs
POST
/api/tts/cloud
Generate speech audio via Eliza Cloud
Terminal
Method
Path
Description
POST
/api/terminal/run
Execute a shell command in the agent workspace
Wallet
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
Wallet Cloud
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
Wallet Trading
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
Wallet Steward Bridge
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
Drop / Mint
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)
Whitelist Verification
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
Update Management
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)
Share Ingest
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
Streaming
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
NFA (Non-Fungible Agent)
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
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.
Sandbox
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
Sandbox Screen
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
Sandbox Audio
Method
Path
Description
POST
/api/sandbox/audio/record
Record audio (returns base64 WAV). Optional: durationMs