# ElizaOS Documentation ## Docs - [Create a new agent](https://eliza.how/api-reference/agents/create-a-new-agent.md): Creates a new agent from character configuration - [Create a world for an agent](https://eliza.how/api-reference/agents/create-a-world-for-an-agent.md): Create a new world for a specific agent - [Delete an agent](https://eliza.how/api-reference/agents/delete-an-agent.md): Permanently deletes an agent - [Get agent details](https://eliza.how/api-reference/agents/get-agent-details.md): Returns detailed information about a specific agent - [Get agent panels](https://eliza.how/api-reference/agents/get-agent-panels.md): Get public UI panels available for this agent from its plugins - [Get all worlds](https://eliza.how/api-reference/agents/get-all-worlds.md): Get all worlds across all agents - [List all agents](https://eliza.how/api-reference/agents/list-all-agents.md): Returns a list of all available agents - [Start an agent](https://eliza.how/api-reference/agents/start-an-agent.md): Starts an existing agent - [Stop an agent](https://eliza.how/api-reference/agents/stop-an-agent.md): Stops a running agent - [Update a world](https://eliza.how/api-reference/agents/update-a-world.md): Update world properties - [Update agent](https://eliza.how/api-reference/agents/update-agent.md): Update an existing agent - [Convert conversation to speech](https://eliza.how/api-reference/audio/convert-conversation-to-speech.md): Convert a conversation (multiple messages) to speech - [Generate speech from text](https://eliza.how/api-reference/audio/generate-speech-from-text.md): Generate speech audio from text using agent's voice settings - [Process audio message](https://eliza.how/api-reference/audio/process-audio-message.md): Process an audio message - transcribe and get agent response - [Synthesize speech from text](https://eliza.how/api-reference/audio/synthesize-speech-from-text.md): Convert text to speech using agent's voice settings - [Transcribe audio](https://eliza.how/api-reference/audio/transcribe-audio.md): Transcribe audio file to text - [Clear system logs](https://eliza.how/api-reference/logs/clear-system-logs.md): Clear all system logs - [Delete a specific log entry](https://eliza.how/api-reference/logs/delete-a-specific-log-entry.md): Delete a specific log entry for an agent - [Get agent logs](https://eliza.how/api-reference/logs/get-agent-logs.md): Retrieve logs for a specific agent - [Get system logs](https://eliza.how/api-reference/logs/get-system-logs.md): Retrieve system logs with optional filtering - [Get system logs (POST)](https://eliza.how/api-reference/logs/get-system-logs-post.md): Retrieve system logs with optional filtering using POST method - [Upload media for agent](https://eliza.how/api-reference/media/upload-media-for-agent.md): Upload image or video media for an agent - [Upload media to channel](https://eliza.how/api-reference/media/upload-media-to-channel.md): Upload media file to a specific channel - [Create a room](https://eliza.how/api-reference/memory/create-a-room.md): Create a new room for an agent - [Delete all agent memories](https://eliza.how/api-reference/memory/delete-all-agent-memories.md): Delete all memories for a specific agent - [Delete all memories for a room](https://eliza.how/api-reference/memory/delete-all-memories-for-a-room.md): Delete all memories for a specific room - [Get agent memories](https://eliza.how/api-reference/memory/get-agent-memories.md): Retrieve all memories for a specific agent - [Get room memories](https://eliza.how/api-reference/memory/get-room-memories.md): Retrieves memories for a specific room - [Update a memory](https://eliza.how/api-reference/memory/update-a-memory.md): Update a specific memory for an agent - [Add agent to channel](https://eliza.how/api-reference/messaging/add-agent-to-channel.md): Add an agent to a specific channel - [Add agent to server](https://eliza.how/api-reference/messaging/add-agent-to-server.md): Add an agent to a server - [Create central channel](https://eliza.how/api-reference/messaging/create-central-channel.md): Create a channel in the central database - [Create channel](https://eliza.how/api-reference/messaging/create-channel.md): Create a new channel - [Create group channel](https://eliza.how/api-reference/messaging/create-group-channel.md): Create a group channel with multiple participants - [Create server](https://eliza.how/api-reference/messaging/create-server.md): Create a new server - [Delete all channel messages](https://eliza.how/api-reference/messaging/delete-all-channel-messages.md): Delete all messages in a channel - [Delete all channel messages by user](https://eliza.how/api-reference/messaging/delete-all-channel-messages-by-user.md): Delete all messages by a specific user in a channel - [Delete channel](https://eliza.how/api-reference/messaging/delete-channel.md): Delete a channel - [Delete channel message](https://eliza.how/api-reference/messaging/delete-channel-message.md): Delete a specific message from a channel - [Get central server channels](https://eliza.how/api-reference/messaging/get-central-server-channels.md): Get all channels for a server from central database - [Get central servers](https://eliza.how/api-reference/messaging/get-central-servers.md): Get all servers from central database - [Get channel details](https://eliza.how/api-reference/messaging/get-channel-details.md): Get details for a specific channel - [Get channel info](https://eliza.how/api-reference/messaging/get-channel-info.md): Get basic information for a specific channel (alias for details) - [Get channel messages](https://eliza.how/api-reference/messaging/get-channel-messages.md): Get messages for a channel - [Get channel participants](https://eliza.how/api-reference/messaging/get-channel-participants.md): Get all participants in a channel - [Get or create DM channel](https://eliza.how/api-reference/messaging/get-or-create-dm-channel.md): Get or create a direct message channel between users - [Get server agents](https://eliza.how/api-reference/messaging/get-server-agents.md): Get all agents for a server - [Get server channels](https://eliza.how/api-reference/messaging/get-server-channels.md): Get all channels for a server - [Ingest messages from external platforms](https://eliza.how/api-reference/messaging/ingest-messages-from-external-platforms.md): Ingest messages from external platforms (Discord, Telegram, etc.) into the central messaging system. This endpoint handles messages from external sources and routes them to the appropriate agents through the central message bus. - [Mark message processing as complete](https://eliza.how/api-reference/messaging/mark-message-processing-as-complete.md): Notify the system that an agent has finished processing a message. This is used to signal completion of agent responses and update the message state. - [Process external message](https://eliza.how/api-reference/messaging/process-external-message.md): Process a message from an external platform - [Remove agent from server](https://eliza.how/api-reference/messaging/remove-agent-from-server.md): Remove an agent from a server - [Send message to channel](https://eliza.how/api-reference/messaging/send-message-to-channel.md): Send a message to a channel - [Submit a message to the central messaging system](https://eliza.how/api-reference/messaging/submit-a-message-to-the-central-messaging-system.md): Submit a message to the central messaging bus for agent processing. This is the primary endpoint for sending messages to agents, replacing the deprecated agent-specific message endpoints. The message is submitted to a central channel and the appropriate agent(s) will process it based on the channel and room configuration. This architecture allows for multi-agent conversations and better message routing. **Important**: Do not use `/api/agents/{agentId}/message` - that endpoint no longer exists. All messages should go through this central messaging system. - [Update channel](https://eliza.how/api-reference/messaging/update-channel.md): Update channel details - [Create a room](https://eliza.how/api-reference/rooms/create-a-room.md): Creates a new room for an agent - [Delete a room](https://eliza.how/api-reference/rooms/delete-a-room.md): Deletes a specific room - [Get agent rooms](https://eliza.how/api-reference/rooms/get-agent-rooms.md): Retrieves all rooms for a specific agent - [Get room details](https://eliza.how/api-reference/rooms/get-room-details.md): Retrieves details about a specific room - [Update a room](https://eliza.how/api-reference/rooms/update-a-room.md): Updates a specific room - [Basic health check](https://eliza.how/api-reference/system/basic-health-check.md): Simple hello world test endpoint - [Get local environment variables](https://eliza.how/api-reference/system/get-local-environment-variables.md): Retrieve local environment variables from .env file - [Get server debug info](https://eliza.how/api-reference/system/get-server-debug-info.md): Get debug information about active servers (debug endpoint) - [Get server debug info](https://eliza.how/api-reference/system/get-server-debug-info-1.md): Get debug information about active servers (debug endpoint) - [Get system status](https://eliza.how/api-reference/system/get-system-status.md): Returns the current status of the system with agent count and timestamp - [Health check endpoint](https://eliza.how/api-reference/system/health-check-endpoint.md): Detailed health check for the system - [Ping health check](https://eliza.how/api-reference/system/ping-health-check.md): Simple ping endpoint to check if server is responsive - [Stop the server](https://eliza.how/api-reference/system/stop-the-server.md): Initiates server shutdown - [Update local environment variables](https://eliza.how/api-reference/system/update-local-environment-variables.md): Update local environment variables in .env file - [Socket.IO Real-time Connection](https://eliza.how/api-reference/websocket/socketio-real-time-connection.md): Socket.IO connection for real-time bidirectional communication. The server uses Socket.IO v4.x for WebSocket transport with automatic fallback. **Connection URL**: `ws://localhost:3000/socket.io/` (or `wss://` for secure connections) **Socket.IO Client Connection Example**: ```javascript import { io } from 'socket.io-client'; const socket = io('http://localhost:3000'); ``` **Events**: ### Client to Server Events: - `join` - Join a room/channel ```json { "roomId": "uuid", "agentId": "uuid" } ``` - `leave` - Leave a room/channel ```json { "roomId": "uuid", "agentId": "uuid" } ``` - `message` - Send a message ```json { "text": "string", "roomId": "uuid", "userId": "uuid", "name": "string" } ``` - `request-world-state` - Request current state ```json { "roomId": "uuid" } ``` ### Server to Client Events: - `messageBroadcast` - New message broadcast ```json { "senderId": "uuid", "senderName": "string", "text": "string", "roomId": "uuid", "serverId": "uuid", "createdAt": "timestamp", "source": "string", "id": "uuid", "thought": "string", "actions": ["string"], "attachments": [] } ``` - `messageComplete` - Message processing complete ```json { "channelId": "uuid", "serverId": "uuid" } ``` - `world-state` - World state update ```json { "agents": {}, "users": {}, "channels": {}, "messages": {} } ``` - `logEntry` - Real-time log entry ```json { "level": "number", "time": "timestamp", "msg": "string", "agentId": "uuid", "agentName": "string" } ``` - `error` - Error event ```json { "error": "string", "details": {} } ``` - [Agent Command](https://eliza.how/cli-reference/agent.md): Managing elizaOS agents through the CLI - list, configure, start, stop, and update agents - [Create Command](https://eliza.how/cli-reference/create.md): Initialize a new project, plugin, or agent with an interactive setup process - [Development Mode](https://eliza.how/cli-reference/dev.md): Run elizaOS projects in development mode with hot reloading and debugging - [Environment Configuration](https://eliza.how/cli-reference/env.md): Configure environment variables and API keys for elizaOS projects - [Monorepo Command](https://eliza.how/cli-reference/monorepo.md): Clone the elizaOS monorepo for development or contribution - [elizaOS CLI Overview](https://eliza.how/cli-reference/overview.md): Comprehensive guide to the elizaOS Command Line Interface (CLI) tools and commands - [Plugin Management](https://eliza.how/cli-reference/plugins.md): Manage elizaOS plugins within a project - list, add, remove - [Publish Command](https://eliza.how/cli-reference/publish.md): Publish a plugin to npm, create a GitHub repository, and submit to the elizaOS registry - [Start Command](https://eliza.how/cli-reference/start.md): Launch and manage elizaOS projects and agents in production mode - [TEE Command](https://eliza.how/cli-reference/tee.md): Manage TEE deployments on elizaOS - [Test Command](https://eliza.how/cli-reference/test.md): Run and manage tests for elizaOS projects and plugins - [Update Command](https://eliza.how/cli-reference/update.md): Update your project's elizaOS dependencies and CLI to the latest published versions - [Agents](https://eliza.how/core-concepts/agents.md): AI personalities in elizaOS - [Overview](https://eliza.how/core-concepts/index.md): The building blocks of elizaOS - [Plugins](https://eliza.how/core-concepts/plugins.md): Extend agent capabilities with plugins - [Actions](https://eliza.how/core-concepts/plugins/actions.md): Things agents can do - [Evaluators](https://eliza.how/core-concepts/plugins/evaluators.md): Assess and filter agent responses - [Providers](https://eliza.how/core-concepts/plugins/providers.md): Supply data to agents - [Projects](https://eliza.how/core-concepts/projects.md): Collections of agents and plugins - [Architecture Overview](https://eliza.how/deep-dive/architecture.md): Deep dive into elizaOS architecture - [Plugin Internals](https://eliza.how/deep-dive/plugin-internals.md): Comprehensive guide to the elizaOS plugin system architecture and implementation - [Real-World Plugin and Project Patterns](https://eliza.how/deep-dive/real-world-patterns.md): Practical patterns and structures used in the elizaOS framework based on real implementations - [AgentRuntime](https://eliza.how/deep-dive/runtime.md): The core engine of elizaOS - [Service System](https://eliza.how/deep-dive/services.md): Background tasks and integrations - [Development](https://eliza.how/development.md): Learn how to develop with elizaOS - from simple character modifications to core framework contributions - [State Management](https://eliza.how/guides/compose-state-guide.md): Comprehensive documentation on the composeState method in elizaOS and how it interacts with different types of providers to build contextual state for agent decision-making - [Plugin Developer Guide](https://eliza.how/guides/plugin-developer-guide.md): Comprehensive guide covering all aspects of plugin development in the elizaOS system - [Advanced Topics](https://eliza.how/guides/plugin-migration/advanced-migration-guide.md): Advanced breaking changes for evaluators, services, and runtime methods - [Final Setup](https://eliza.how/guides/plugin-migration/completion-requirements.md): Essential steps to complete before committing and publishing your plugin - [Basic Migration Steps](https://eliza.how/guides/plugin-migration/migration-guide.md): General framework for migrating elizaOS plugins to v1.x - [Overview](https://eliza.how/guides/plugin-migration/overview.md): Complete guide for migrating elizaOS plugins from version 0.x to 1.x - [Prompts & Generation](https://eliza.how/guides/plugin-migration/prompt-and-generation-guide.md): Migrating from `composeContext` to new prompt composition methods and `useModel` - [State & Providers](https://eliza.how/guides/plugin-migration/state-and-providers-guide.md): Comprehensive documentation for the `composeState` method and Providers in v1.x - [Testing](https://eliza.how/guides/plugin-migration/testing-guide.md): Instructions for writing tests for elizaOS plugins using Bun's test runner - [Plugin Publishing Guide](https://eliza.how/guides/plugin-publishing-guide.md): A complete guide to creating, developing, and publishing elizaOS plugins - [Introduction](https://eliza.how/index.md): Get started with the most popular AI agentic framework - [Message Processing Core](https://eliza.how/plugins/bootstrap.md): Comprehensive documentation for @elizaos/plugin-bootstrap - the core message handler and event system for elizaOS agents - [Complete Developer Guide](https://eliza.how/plugins/bootstrap/complete-documentation.md): Comprehensive technical documentation for the bootstrap plugin's architecture, components, and implementation - [Implementation Examples](https://eliza.how/plugins/bootstrap/examples.md): Practical examples and recipes for building agents with the bootstrap plugin - [Message Processing Flow](https://eliza.how/plugins/bootstrap/message-flow.md): Step-by-step breakdown of how messages flow through the bootstrap plugin system - [Testing Guide](https://eliza.how/plugins/bootstrap/testing-guide.md): Testing patterns and best practices for the bootstrap plugin - [Overview](https://eliza.how/plugins/defi/evm.md): Integrate EVM blockchain capabilities into your AI agent - [Developer Guide](https://eliza.how/plugins/defi/evm/complete-documentation.md): Comprehensive guide to the EVM plugin architecture, implementation, and usage - [Operations Flow](https://eliza.how/plugins/defi/evm/defi-operations-flow.md): How DeFi operations work in the EVM plugin - [Examples](https://eliza.how/plugins/defi/evm/examples.md): Practical examples for configuring and using the EVM plugin - [Testing Guide](https://eliza.how/plugins/defi/evm/testing-guide.md): How to test the EVM plugin safely on real networks - [Overview](https://eliza.how/plugins/defi/solana.md): Enable high-performance Solana blockchain interactions for your AI agent - [Developer Guide](https://eliza.how/plugins/defi/solana/complete-documentation.md): In-depth technical documentation for the Solana blockchain plugin - [Operations Flow](https://eliza.how/plugins/defi/solana/defi-operations-flow.md): How DeFi operations work in the Solana plugin - [Examples](https://eliza.how/plugins/defi/solana/examples.md): Practical examples for configuring and using the Solana plugin - [Testing Guide](https://eliza.how/plugins/defi/solana/testing-guide.md): How to test the Solana plugin safely on mainnet - [Knowledge & RAG System](https://eliza.how/plugins/knowledge.md): The core RAG (Retrieval-Augmented Generation) system for elizaOS agents - [Architecture & Flow Diagrams](https://eliza.how/plugins/knowledge/architecture-flow.md): Visual guide to the Knowledge plugin's internal architecture and data flows - [Complete Developer Guide](https://eliza.how/plugins/knowledge/complete-documentation.md): Comprehensive technical reference for the Knowledge plugin - [Contextual Embeddings](https://eliza.how/plugins/knowledge/contextual-embeddings.md): Enhanced retrieval accuracy using Anthropic's contextual retrieval technique - [Examples & Recipes](https://eliza.how/plugins/knowledge/examples.md): Practical examples and code recipes for the Knowledge plugin - [Quick Start Guide](https://eliza.how/plugins/knowledge/quick-start.md): Get up and running with the Knowledge Plugin in 5 minutes - [Language Model Configuration](https://eliza.how/plugins/llm.md): Understanding and configuring Language Model plugins in elizaOS - [Anthropic Plugin](https://eliza.how/plugins/llm/anthropic.md): Claude models integration for elizaOS - [Google GenAI Plugin](https://eliza.how/plugins/llm/google-genai.md): Google Gemini models integration for elizaOS - [Ollama Plugin](https://eliza.how/plugins/llm/ollama.md): Local model execution via Ollama for elizaOS - [OpenAI Plugin](https://eliza.how/plugins/llm/openai.md): OpenAI GPT models integration for elizaOS - [OpenRouter Plugin](https://eliza.how/plugins/llm/openrouter.md): Multi-provider LLM access through OpenRouter - [Plugin System Overview](https://eliza.how/plugins/overview.md): Comprehensive guide to the elizaOS plugin system architecture and implementation - [Discord Integration](https://eliza.how/plugins/platform/discord.md): Welcome to the comprehensive documentation for the @elizaos/plugin-discord package. This index provides organized access to all documentation resources. - [Developer Guide](https://eliza.how/plugins/platform/discord/complete-documentation.md): Comprehensive Discord integration for elizaOS agents. It enables agents to operate as fully-featured Discord bots with advanced features and capabilities. - [Event Flow](https://eliza.how/plugins/platform/discord/event-flow.md): This document provides a comprehensive breakdown of how events flow through the Discord plugin system. - [Examples](https://eliza.how/plugins/platform/discord/examples.md): This document provides practical examples of using the @elizaos/plugin-discord package in various scenarios. - [Testing Guide](https://eliza.how/plugins/platform/discord/testing-guide.md): This guide covers testing strategies, patterns, and best practices for the @elizaos/plugin-discord package. - [Telegram Integration](https://eliza.how/plugins/platform/telegram.md): Welcome to the comprehensive documentation for the @elizaos/plugin-telegram package. This index provides organized access to all documentation resources. - [Developer Guide](https://eliza.how/plugins/platform/telegram/complete-documentation.md): Comprehensive Telegram Bot API integration for elizaOS agents. It enables agents to operate as Telegram bots with advanced features and capabilities. - [Examples](https://eliza.how/plugins/platform/telegram/examples.md): This document provides practical examples of using the @elizaos/plugin-telegram package in various scenarios. - [Message Flow](https://eliza.how/plugins/platform/telegram/message-flow.md): This document provides a comprehensive breakdown of how messages flow through the Telegram plugin system. - [Testing Guide](https://eliza.how/plugins/platform/telegram/testing-guide.md): Testing strategies, patterns, and best practices for the Telegram plugin package. - [Twitter/X Integration](https://eliza.how/plugins/platform/twitter.md): Welcome to the comprehensive documentation for the @elizaos/plugin-twitter package. This index provides organized access to all documentation resources. - [Developer Guide](https://eliza.how/plugins/platform/twitter/complete-documentation.md): Comprehensive Twitter/X API v2 integration for elizaOS agents. It enables agents to operate as fully autonomous Twitter bots with advanced capabilities. - [Examples](https://eliza.how/plugins/platform/twitter/examples.md): This document provides practical examples of using the @elizaos/plugin-twitter package in various scenarios. - [Testing Guide](https://eliza.how/plugins/platform/twitter/testing-guide.md): This guide covers testing strategies, patterns, and best practices for the @elizaos/plugin-twitter package. - [Timeline Flow](https://eliza.how/plugins/platform/twitter/timeline-flow.md): This document provides a comprehensive breakdown of how the Twitter plugin processes timeline data and generates interactions. - [Database Management](https://eliza.how/plugins/sql.md): Database integration and management for elizaOS - [Database Adapters](https://eliza.how/plugins/sql/database-adapters.md): Understanding PGLite and PostgreSQL adapters in the SQL plugin - [Examples](https://eliza.how/plugins/sql/examples.md): Practical code examples and patterns - [Plugin Tables Guide](https://eliza.how/plugins/sql/plugin-tables.md): How plugins can define their own database tables - [Schema Management](https://eliza.how/plugins/sql/schema-management.md): Dynamic schema management and migrations in the SQL plugin - [Quickstart](https://eliza.how/quickstart.md): Get elizaOS up and running in under 5 minutes