* Add archival memory import/export utilities
Added two utility scripts for managing agent archival memories:
- export_agent_memories.py: Export all passages from an agent to JSON
- Paginates through all results
- Removes embedding/embedding_config for portability
- Usage: python export_agent_memories.py <agent_id> [--output <file>]
- import_agent_memories.py: Import passages into an agent from JSON
- Batch imports with progress tracking
- Handles optional fields (tags, created_at)
- Includes dry-run mode for preview
- Usage: python import_agent_memories.py <agent_id> <input_file>
Use cases:
- Backup/restore agent memories
- Transfer memories between agents
- Seed new agents with existing knowledge bases
👾 Generated with Letta Code (https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
* docs: migrate documentation to cloud-first approach
Update all documentation to use Letta Cloud as the default deployment path:
- Remove base_url parameter from cloud examples (uses api.letta.com by default)
- Add token authentication to all SDK examples
- Change localhost URLs to https://api.letta.com in all examples
- Remove embedding parameter from cloud examples (managed automatically)
- Add comprehensive embedding configuration section to self-hosting guide
- Add warnings about required embedding configuration for self-hosted deployments
- Update curl examples to include Authorization headers
- Link to https://app.letta.com/api-keys for token retrieval
Files updated:
- Agent guides (11 files)
- Model configuration pages (5 files)
- Evals documentation (6 files)
- ADE guides (2 files)
- Self-hosting guide
- Voice integration guide
- README
- Quickstart
* docs: fix embedding parameter issues in cloud examples
- Remove leftover embedding parameter from TypeScript example in agents/overview.mdx
- Make self-hosting comment more explicit in README by showing actual embedding parameter syntax
* docs: fix model configuration pages to be self-hosting focused
Model configuration pages (OpenAI, Anthropic, Azure, xAI, Ollama) are about
configuring providers on self-hosted servers, not Letta Cloud. Updated all
SDK examples to:
- Use base_url="http://localhost:8283" instead of cloud token auth
- Include embedding parameter with clear comment
- Use consistent "An embedding model is required for self-hosted" wording
- Add Note directing cloud users to quickstart guide
This clarifies that provider configuration is a self-hosting concern, while
Letta Cloud manages providers automatically.
* fix: remove duplicate Authorization headers in human-in-the-loop docs
* chore: remove utility scripts that shouldn't be in repo
---------
Co-authored-by: Letta <noreply@letta.com>
Added warning message to clarify that BYOK is only available for enterprise customers.
👾 Generated with [Letta Code](https://letta.com)
Co-authored-by: Letta <noreply@letta.com>
Removes all references to pip installation (pip install letta) and the
letta server command from documentation, as Docker is now the only
supported installation method for self-hosting Letta.
Changes:
- Removed pip installation accordion from selfhosting/overview.mdx
- Updated FAQ to indicate Docker is required
- Removed CLI/pip sections from all model provider docs (13 files):
* OpenAI, Anthropic, Groq, Google AI, DeepSeek, xAI, Together.AI
* AWS Bedrock, Azure OpenAI, Google Vertex AI
* Ollama, LM Studio, vLLM, OpenAI Proxy
- Removed "letta server" tabs from agent tool docs (web_search,
fetch_webpage, run_code)
- Updated evals getting-started.mdx to use Docker in error messages
All references now point to Docker installation with links to the
self-hosting guide. SDK installation (pip install letta-client) remains
intact for developers using the Letta API.
Fixes feedback from user report at docs.letta.com/prompts
🐾 Generated with [Letta Code](https://letta.com)
Co-authored-by: Letta <noreply@letta.com>
Updates multimodal examples to place text content before image content,
which prevents request failures.
Changes:
- Reordered content array in all SDK examples to have text first, then image
- Fixed TypeScript mediaType casing (media_type -> mediaType)
- Applied to both URL-based and base64-encoded image examples
🐾 Generated with [Letta Code](https://letta.com)
Co-authored-by: Letta <noreply@letta.com>
Moves Human-in-the-Loop documentation from the Experimental section
to the Tool Use section, as it is a stable feature for tool approval
workflows.
Changes:
- Moved Human-in-the-Loop page to Tool Use section after Tool Variables
- Removed from Experimental section in docs navigation
- Removed experimental warning from human_in_the_loop.mdx
Human-in-the-Loop is now positioned alongside other tool-related
features, making it easier for users to discover when implementing
tool approval workflows.
🐾 Generated with [Letta Code](https://letta.com)
Co-authored-by: Letta <noreply@letta.com>
Fix broken link in prompts documentation that was pointing to
/prompts instead of /letta/prompts in the GitHub repository.
Reported by user feedback at docs.letta.com/prompts
Add documentation page showing how to export all archival memories from an agent using the Letta SDK. Includes a complete Python script with pagination support and usage examples.
docs: improve Examples & Tutorials page with better organization and content
- Reorganize page into clear sections: Getting Started, Ready-to-Deploy, Multi-Agent, Tools & Integrations, SDK Examples, Community Projects, Learning Resources
- Add more examples from Awesome Letta including CharacterAI clone, Deep Research Agent, DuckDB Agent, and various integrations
- Add helpful Info box pointing to Quickstart, DeepLearning.AI Course, and Awesome Letta
- Improve card descriptions to be more informative and action-oriented
- Update title from "Letta Cookbooks" to "Examples & Tutorials" for clarity
- Fix internal tutorial links to use correct /examples/ and /cookbooks/ paths
- Better connect page to rest of documentation and community resources
* docs: add PDF chat tutorial with correct shell syntax
* docs: add PDF chat tutorial to navigation
* docs: add requests dependency for Python in pdf_chat tutorial
* docs: wrap TypeScript example in async function to fix top-level await error
* docs: add error handling for existing folders in pdf_chat tutorial
* docs: fix folders.list() to use response.folders property
* docs: await PDF download completion to fix race condition
* docs: use retrieve_by_name API for proper folder existence handling
* docs: fix upload API to use single request object and file stream
* docs: fix upload to use folderId as first parameter
* docs: simplify upload to use file stream directly
* docs: use three-parameter upload signature (folderId, file, options)
* docs: fix upload parameter order to (file, folderId, options)
* docs: fix attach to pass folderId directly instead of object
* deprecate ids for identity endpoints in favor of attach
* move archive attach/detach to agent
* new identities routes
* overrides for path
---------
Co-authored-by: Ari Webb <ari@letta.com>