Letta website screenshot

Letta

Letta (formerly MemGPT) is a stateful AI agents platform built around long-term memory, tool execution, and multi-agent coordination. The Letta REST API exposes 239 endpoints across 36 public resource categories — agents, memory blocks, archival memory, sources (RAG), custom tools (sandboxed/client-side/MCP), MCP servers, multi-agent groups, identities, runs, scheduled messages, and a streaming voice-mode endpoint. Open-source server (Apache-2.0, 22.9k+ stars) is available on GitHub; Letta Cloud is the managed offering; the Agent Development Environment (ADE) provides a web UI for inspecting context windows, memory blocks, and run history. Python and TypeScript SDKs ship alongside the REST API, and the open `.af` agent file format lets agents migrate between deployments.

3 APIs 0 Features
AIAgentsStateful AgentsMemoryMemGPTContinual LearningMCPMulti-AgentRAGOpen Source

APIs

Letta Cloud API

REST API for managing stateful agents, memory blocks (in-context + archival/RAG), custom tools (sandboxed Python, client-side, MCP-delegated), sources, multi-agent groups (super...

Letta Self-Hosted Server

Open-source Letta server (Apache-2.0) for self-hosted agent deployments. Same REST API surface as Letta Cloud, free to run; pay only for hosting and underlying LLM API usage. De...

Letta Code

Letta's memory-first coding agent — a CLI plus a desktop app (and an action for GitHub repos). "The memory-first coding agent that remembers and learns." Builds on the Letta Cod...

Collections

Letta API

OPEN

Pricing Plans

Letta Plans Pricing

3 plans

PLANS

Rate Limits

Letta Rate Limits

2 limits

RATE LIMITS

FinOps

Letta Finops

FINOPS

Semantic Vocabularies

Letta Context

35 classes · 34 properties

JSON-LD

JSON Structure

Letta Agent Structure

0 properties

JSON STRUCTURE

Letta Archive Structure

0 properties

JSON STRUCTURE

Letta Block Structure

0 properties

JSON STRUCTURE

Letta Embedding Config Structure

0 properties

JSON STRUCTURE

Letta Group Structure

0 properties

JSON STRUCTURE

Letta Identity Structure

0 properties

JSON STRUCTURE

Letta Job Structure

0 properties

JSON STRUCTURE

Letta Llm Config Structure

0 properties

JSON STRUCTURE

Letta Message Structure

0 properties

JSON STRUCTURE

Letta Passage Structure

0 properties

JSON STRUCTURE

Letta Provider Structure

0 properties

JSON STRUCTURE

Letta Run Structure

0 properties

JSON STRUCTURE

Letta Source Structure

0 properties

JSON STRUCTURE

Letta Structure

0 properties

JSON STRUCTURE

Letta Tool Structure

0 properties

JSON STRUCTURE

Example Payloads

Letta Agent Payload Example

14 fields

EXAMPLE

Letta Block Payload Example

10 fields

EXAMPLE

Letta Create Agent Example

6 fields

EXAMPLE

Letta Create Source Example

6 fields

EXAMPLE

Letta Create Tool Example

6 fields

EXAMPLE

Letta Group Payload Example

7 fields

EXAMPLE

Letta List Agents Example

6 fields

EXAMPLE

Letta List Runs Example

6 fields

EXAMPLE

Letta List Tools Example

6 fields

EXAMPLE

Letta Retrieve Agent Example

6 fields

EXAMPLE

Letta Retrieve Run Example

6 fields

EXAMPLE

Letta Run Payload Example

8 fields

EXAMPLE

Letta Source Payload Example

6 fields

EXAMPLE

Letta Tool Payload Example

9 fields

EXAMPLE

Resources

🔗
LinkedIn
LinkedIn
🔗
Website
Website
📰
Blog
Blog
🔗
Documentation
Documentation
🔗
LlmsText
LlmsText
👥
GitHub
GitHub
👥
GitHubOrg
GitHubOrg
📦
PythonSDK
PythonSDK
📦
TypeScriptSDK
TypeScriptSDK
🔗
Login
Login
💰
Pricing
Pricing
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
SpectralRuleset
SpectralRuleset
🔗
JSONLDContext
JSONLDContext
🔗
Vocabulary
Vocabulary
🔗
AgentFileFormat
AgentFileFormat
🔗
LlmsText
LlmsText

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Letta API
  version: 1.0.0
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Archives
    type: folder
  items:
  - info:
      name: List Archives
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/archives/
      params:
      - name: before
        value: ''
        type: query
        description: Archive ID cursor for pagination. Returns archives that come before this archive ID in the specified
          sort order
      - name: after
        value: ''
        type: query
        description: Archive ID cursor for pagination. Returns archives that come after this archive ID in the specified sort
          order
      - name: limit
        value: ''
        type: query
        description: Maximum number of archives to return
      - name: order
        value: ''
        type: query
        description: Sort order for archives by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: order_by
        value: ''
        type: query
        description: Field to sort by
      - name: name
        value: ''
        type: query
        description: Filter by archive name (exact match)
      - name: agent_id
        value: ''
        type: query
        description: Only archives attached to this agent ID
    docs: Get a list of all archives for the current organization with optional filters and pagination.
  - info:
      name: Create Archive
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/archives/
      body:
        type: json
        data: '{}'
    docs: Create a new archive.
  - info:
      name: Retrieve Archive
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/archives/:archive_id
      params:
      - name: archive_id
        value: ''
        type: path
        description: The ID of the archive in the format 'archive-<uuid4>'
    docs: Get a single archive by its ID.
  - info:
      name: Modify Archive
      type: http
    http:
      method: PATCH
      url: https://api.letta.com/v1/archives/:archive_id
      params:
      - name: archive_id
        value: ''
        type: path
        description: The ID of the archive in the format 'archive-<uuid4>'
      body:
        type: json
        data: '{}'
    docs: Update an existing archive's name and/or description.
  - info:
      name: Delete Archive
      type: http
    http:
      method: DELETE
      url: https://api.letta.com/v1/archives/:archive_id
      params:
      - name: archive_id
        value: ''
        type: path
        description: The ID of the archive in the format 'archive-<uuid4>'
    docs: Delete an archive by its ID.
  - info:
      name: List Agents for Archive
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/archives/:archive_id/agents
      params:
      - name: archive_id
        value: ''
        type: path
        description: The ID of the archive in the format 'archive-<uuid4>'
      - name: before
        value: ''
        type: query
        description: Agent ID cursor for pagination. Returns agents that come before this agent ID in the specified sort order
      - name: after
        value: ''
        type: query
        description: Agent ID cursor for pagination. Returns agents that come after this agent ID in the specified sort order
      - name: limit
        value: ''
        type: query
        description: Maximum number of agents to return
      - name: order
        value: ''
        type: query
        description: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: include
        value: ''
        type: query
        description: Specify which relational fields to include in the response. No relationships are included by default.
    docs: Get a list of agents that have access to an archive with pagination support.
  - info:
      name: Create Passage in Archive
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/archives/:archive_id/passages
      params:
      - name: archive_id
        value: ''
        type: path
        description: The ID of the archive in the format 'archive-<uuid4>'
      body:
        type: json
        data: '{}'
    docs: 'Create a new passage in an archive.


      This adds a passage to the archive and creates embeddings for vector storage.'
  - info:
      name: Create Passages in Archive
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/archives/:archive_id/passages/batch
      params:
      - name: archive_id
        value: ''
        type: path
        description: The ID of the archive in the format 'archive-<uuid4>'
      body:
        type: json
        data: '{}'
    docs: 'Create multiple passages in an archive.


      This adds passages to the archive and creates embeddings for vector storage.'
  - info:
      name: Delete Passage from Archive
      type: http
    http:
      method: DELETE
      url: https://api.letta.com/v1/archives/:archive_id/passages/:passage_id
      params:
      - name: archive_id
        value: ''
        type: path
        description: The ID of the archive in the format 'archive-<uuid4>'
      - name: passage_id
        value: ''
        type: path
        description: The ID of the passage in the format 'passage-<uuid4>'
    docs: 'Delete a passage from an archive.


      This permanently removes the passage from both the database and vector storage (if applicable).'
- info:
    name: Tools
    type: folder
  items:
  - info:
      name: Retrieve Tool
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/tools/:tool_id
      params:
      - name: tool_id
        value: ''
        type: path
        description: The ID of the tool in the format 'tool-<uuid4>'
    docs: Get a tool by ID
  - info:
      name: Modify Tool
      type: http
    http:
      method: PATCH
      url: https://api.letta.com/v1/tools/:tool_id
      params:
      - name: tool_id
        value: ''
        type: path
        description: The ID of the tool in the format 'tool-<uuid4>'
      body:
        type: json
        data: '{}'
    docs: Update an existing tool
  - info:
      name: Delete Tool
      type: http
    http:
      method: DELETE
      url: https://api.letta.com/v1/tools/:tool_id
      params:
      - name: tool_id
        value: ''
        type: path
        description: The ID of the tool in the format 'tool-<uuid4>'
    docs: Delete a tool by name
  - info:
      name: Count Tools
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/tools/count
      params:
      - name: name
        value: ''
        type: query
      - name: names
        value: ''
        type: query
        description: Filter by specific tool names
      - name: tool_ids
        value: ''
        type: query
        description: Filter by specific tool IDs - accepts repeated params or comma-separated values
      - name: search
        value: ''
        type: query
        description: Search tool names (case-insensitive partial match)
      - name: tool_types
        value: ''
        type: query
        description: Filter by tool type(s) - accepts repeated params or comma-separated values
      - name: exclude_tool_types
        value: ''
        type: query
        description: Tool type(s) to exclude - accepts repeated params or comma-separated values
      - name: return_only_letta_tools
        value: ''
        type: query
        description: Count only tools with tool_type starting with 'letta_'
      - name: exclude_letta_tools
        value: ''
        type: query
        description: Exclude built-in Letta tools from the count
    docs: Get a count of all tools available to agents belonging to the org of the user.
  - info:
      name: List Tools
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/tools/
      params:
      - name: before
        value: ''
        type: query
        description: Tool ID cursor for pagination. Returns tools that come before this tool ID in the specified sort order
      - name: after
        value: ''
        type: query
        description: Tool ID cursor for pagination. Returns tools that come after this tool ID in the specified sort order
      - name: limit
        value: ''
        type: query
        description: Maximum number of tools to return
      - name: order
        value: ''
        type: query
        description: Sort order for tools by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: order_by
        value: ''
        type: query
        description: Field to sort by
      - name: name
        value: ''
        type: query
        description: Filter by single tool name
      - name: names
        value: ''
        type: query
        description: Filter by specific tool names
      - name: tool_ids
        value: ''
        type: query
        description: Filter by specific tool IDs - accepts repeated params or comma-separated values
      - name: search
        value: ''
        type: query
        description: Search tool names (case-insensitive partial match)
      - name: tool_types
        value: ''
        type: query
        description: Filter by tool type(s) - accepts repeated params or comma-separated values
      - name: exclude_tool_types
        value: ''
        type: query
        description: Tool type(s) to exclude - accepts repeated params or comma-separated values
      - name: return_only_letta_tools
        value: ''
        type: query
        description: Return only tools with tool_type starting with 'letta_'
    docs: Get a list of all tools available to agents.
  - info:
      name: Create Tool
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/tools/
      body:
        type: json
        data: '{}'
    docs: Create a new tool
  - info:
      name: Upsert Tool
      type: http
    http:
      method: PUT
      url: https://api.letta.com/v1/tools/
      body:
        type: json
        data: '{}'
    docs: Create or update a tool
  - info:
      name: Search Tools
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/tools/search
      body:
        type: json
        data: '{}'
    docs: 'Search tools using semantic search.


      Requires tool embedding to be enabled (embed_tools=True). Uses vector search,

      full-text search, or hybrid mode to find tools matching the query.


      Returns tools ranked by relevance with their search scores.'
  - info:
      name: Upsert Base Tools
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/tools/add-base-tools
    docs: Upsert base tools
  - info:
      name: Run Tool from Source
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/tools/run
      body:
        type: json
        data: '{}'
    docs: Attempt to build a tool from source, then run it on the provided arguments
  - info:
      name: List MCP Servers
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/tools/mcp/servers
    docs: Get a list of all configured MCP servers
  - info:
      name: Add MCP Server to Config
      type: http
    http:
      method: PUT
      url: https://api.letta.com/v1/tools/mcp/servers
      body:
        type: json
        data: '{}'
    docs: Add a new MCP server to the Letta MCP server config
  - info:
      name: List MCP Tools by Server
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/tools/mcp/servers/:mcp_server_name/tools
      params:
      - name: mcp_server_name
        value: ''
        type: path
    docs: Get a list of all tools for a specific MCP server
  - info:
      name: Resync MCP Server Tools
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/tools/mcp/servers/:mcp_server_name/resync
      params:
      - name: mcp_server_name
        value: ''
        type: path
      - name: agent_id
        value: ''
        type: query
    docs: 'Resync tools for an MCP server by:

      1. Fetching current tools from the MCP server

      2. Deleting tools that no longer exist on the server

      3. Updating schemas for existing tools

      4. Adding new tools from the server


      Returns a summary of changes made.'
  - info:
      name: Add MCP Tool
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/tools/mcp/servers/:mcp_server_name/:mcp_tool_name
      params:
      - name: mcp_server_name
        value: ''
        type: path
      - name: mcp_tool_name
        value: ''
        type: path
    docs: Register a new MCP tool as a Letta server by MCP server + tool name
  - info:
      name: Update MCP Server
      type: http
    http:
      method: PATCH
      url: https://api.letta.com/v1/tools/mcp/servers/:mcp_server_name
      params:
      - name: mcp_server_name
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update an existing MCP server configuration
  - info:
      name: Delete MCP Server from Config
      type: http
    http:
      method: DELETE
      url: https://api.letta.com/v1/tools/mcp/servers/:mcp_server_name
      params:
      - name: mcp_server_name
        value: ''
        type: path
    docs: Delete a MCP server configuration
  - info:
      name: Test MCP Server
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/tools/mcp/servers/test
      body:
        type: json
        data: '{}'
    docs: 'Test connection to an MCP server without adding it.

      Returns the list of available tools if successful.'
  - info:
      name: Connect MCP Server
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/tools/mcp/servers/connect
      body:
        type: json
        data: '{}'
    docs: 'Connect to an MCP server with support for OAuth via SSE.

      Returns a stream of events handling authorization state and exchange if OAuth is required.'
  - info:
      name: Execute MCP Tool
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/tools/mcp/servers/:mcp_server_name/tools/:tool_name/execute
      params:
      - name: mcp_server_name
        value: ''
        type: path
      - name: tool_name
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: 'Execute a specific MCP tool from a configured server.

      Returns the tool execution result.'
  - info:
      name: MCP Oauth Callback
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/tools/mcp/oauth/callback
      params:
      - name: code
        value: ''
        type: query
        description: OAuth authorization code
      - name: state
        value: ''
        type: query
        description: OAuth state parameter
      - name: error
        value: ''
        type: query
        description: OAuth error
      - name: error_description
        value: ''
        type: query
        description: OAuth error description
    docs: 'Handle OAuth callback for MCP server authentication.

      Session is identified via the state parameter instead of URL path.'
- info:
    name: Sources
    type: folder
  items:
  - info:
      name: Count Sources
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/sources/count
    docs: Count all data sources created by a user.
  - info:
      name: Retrieve Source
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/sources/:source_id
      params:
      - name: source_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
    docs: Get all sources
  - info:
      name: Modify Source
      type: http
    http:
      method: PATCH
      url: https://api.letta.com/v1/sources/:source_id
      params:
      - name: source_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      body:
        type: json
        data: '{}'
    docs: Update the name or documentation of an existing data source.
  - info:
      name: Delete Source
      type: http
    http:
      method: DELETE
      url: https://api.letta.com/v1/sources/:source_id
      params:
      - name: source_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
    docs: Delete a data source.
  - info:
      name: Get Source ID by Name
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/sources/name/:source_name
      params:
      - name: source_name
        value: ''
        type: path
    docs: Get a source by name
  - info:
      name: Get Sources Metadata
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/sources/metadata
      params:
      - name: include_detailed_per_source_metadata
        value: ''
        type: query
    docs: 'Get aggregated metadata for all sources in an organization.


      Returns structured metadata including:

      - Total number of sources

      - Total number of files across all sources

      - Total size of all files

      - Per-source breakdown with file details (file_name, file_size per file) if include_detailed_per_source_metadata is
      True'
  - info:
      name: List Sources
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/sources/
    docs: List all data sources created by a user.
  - info:
      name: Create Source
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/sources/
      body:
        type: json
        data: '{}'
    docs: Create a new data source.
  - info:
      name: Upload File to Source
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/sources/:source_id/upload
      params:
      - name: source_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: duplicate_handling
        value: ''
        type: query
        description: How to handle duplicate filenames
      - name: name
        value: ''
        type: query
        description: Optional custom name to override the uploaded file's name
      body:
        type: multipart-form
        data: []
    docs: Upload a file to a data source.
  - info:
      name: Get Agents for Source
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/sources/:source_id/agents
      params:
      - name: source_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
    docs: Get all agent IDs that have the specified source attached.
  - info:
      name: List Source Passages
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/sources/:source_id/passages
      params:
      - name: source_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: after
        value: ''
        type: query
        description: Message after which to retrieve the returned messages.
      - name: before
        value: ''
        type: query
        description: Message before which to retrieve the returned messages.
      - name: limit
        value: ''
        type: query
        description: Maximum number of messages to retrieve.
    docs: List all passages associated with a data source.
  - info:
      name: List Source Files
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/sources/:source_id/files
      params:
      - name: source_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: limit
        value: ''
        type: query
        description: Number of files to return
      - name: after
        value: ''
        type: query
        description: Pagination cursor to fetch the next set of results
      - name: include_content
        value: ''
        type: query
        description: Whether to include full file content
      - name: check_status_updates
        value: ''
        type: query
        description: Whether to check and update file processing status (from the vector db service). If False, will not fetch
          and update the status, which may lead to performance gains.
    docs: List paginated files associated with a data source.
  - info:
      name: Get File Metadata
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/sources/:source_id/files/:file_id
      params:
      - name: source_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: file_id
        value: ''
        type: path
        description: The ID of the file in the format 'file-<uuid4>'
      - name: include_content
        value: ''
        type: query
        description: Whether to include full file content
    docs: Retrieve metadata for a specific file by its ID.
  - info:
      name: Delete File from Source
      type: http
    http:
      method: DELETE
      url: https://api.letta.com/v1/sources/:source_id/:file_id
      params:
      - name: source_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: file_id
        value: ''
        type: path
        description: The ID of the file in the format 'file-<uuid4>'
    docs: Delete a data source.
- info:
    name: Folders
    type: folder
  items:
  - info:
      name: Count Folders
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/folders/count
    docs: Count all data folders created by a user.
  - info:
      name: Retrieve Folder
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/folders/:folder_id
      params:
      - name: folder_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
    docs: Get a folder by ID
  - info:
      name: Modify Folder
      type: http
    http:
      method: PATCH
      url: https://api.letta.com/v1/folders/:folder_id
      params:
      - name: folder_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      body:
        type: json
        data: '{}'
    docs: Update the name or documentation of an existing data folder.
  - info:
      name: Delete Folder
      type: http
    http:
      method: DELETE
      url: https://api.letta.com/v1/folders/:folder_id
      params:
      - name: folder_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
    docs: Delete a data folder.
  - info:
      name: Get Folder by Name
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/folders/name/:folder_name
      params:
      - name: folder_name
        value: ''
        type: path
    docs: '**Deprecated**: Please use the list endpoint `GET /v1/folders?name=` instead.



      Get a folder by name.'
  - info:
      name: Retrieve Metadata
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/folders/metadata
      params:
      - name: include_detailed_per_source_metadata
        value: ''
        type: query
    docs: 'Get aggregated metadata for all folders in an organization.


      Returns structured metadata including:

      - Total number of folders

      - Total number of files across all folders

      - Total size of all files

      - Per-source breakdown with file details (file_name, file_size per file) if include_detailed_per_source_metadata is
      True'
  - info:
      name: List Folders
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/folders/
      params:
      - name: before
        value: ''
        type: query
        description: Folder ID cursor for pagination. Returns folders that come before this folder ID in the specified sort
          order
      - name: after
        value: ''
        type: query
        description: Folder ID cursor for pagination. Returns folders that come after this folder ID in the specified sort
          order
      - name: limit
        value: ''
        type: query
        description: Maximum number of folders to return
      - name: order
        value: ''
        type: query
        description: Sort order for folders by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: order_by
        value: ''
        type: query
        description: Field to sort by
      - name: name
        value: ''
        type: query
        description: Folder name to filter by
    docs: List all data folders created by a user.
  - info:
      name: Create Folder
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/folders/
      body:
        type: json
        data: '{}'
    docs: Create a new data folder.
  - info:
      name: Upload File to Folder
      type: http
    http:
      method: POST
      url: https://api.letta.com/v1/folders/:folder_id/upload
      params:
      - name: folder_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: duplicate_handling
        value: ''
        type: query
        description: How to handle duplicate filenames
      - name: name
        value: ''
        type: query
        description: Optional custom name to override the uploaded file's name
      body:
        type: multipart-form
        data: []
    docs: Upload a file to a data folder.
  - info:
      name: List Agents for Folder
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/folders/:folder_id/agents
      params:
      - name: folder_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: before
        value: ''
        type: query
        description: Agent ID cursor for pagination. Returns agents that come before this agent ID in the specified sort order
      - name: after
        value: ''
        type: query
        description: Agent ID cursor for pagination. Returns agents that come after this agent ID in the specified sort order
      - name: limit
        value: ''
        type: query
        description: Maximum number of agents to return
      - name: order
        value: ''
        type: query
        description: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: order_by
        value: ''
        type: query
        description: Field to sort by
    docs: Get all agent IDs that have the specified folder attached.
  - info:
      name: List Folder Passages
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/folders/:folder_id/passages
      params:
      - name: folder_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: before
        value: ''
        type: query
        description: Passage ID cursor for pagination. Returns passages that come before this passage ID in the specified
          sort order
      - name: after
        value: ''
        type: query
        description: Passage ID cursor for pagination. Returns passages that come after this passage ID in the specified sort
          order
      - name: limit
        value: ''
        type: query
        description: Maximum number of passages to return
      - name: order
        value: ''
        type: query
        description: Sort order for passages by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: order_by
        value: ''
        type: query
        description: Field to sort by
    docs: List all passages associated with a data folder.
  - info:
      name: List Files for Folder
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/folders/:folder_id/files
      params:
      - name: folder_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: before
        value: ''
        type: query
        description: File ID cursor for pagination. Returns files that come before this file ID in the specified sort order
      - name: after
        value: ''
        type: query
        description: File ID cursor for pagination. Returns files that come after this file ID in the specified sort order
      - name: limit
        value: ''
        type: query
        description: Maximum number of files to return
      - name: order
        value: ''
        type: query
        description: Sort order for files by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: order_by
        value: ''
        type: query
        description: Field to sort by
      - name: include_content
        value: ''
        type: query
        description: Whether to include full file content
    docs: List paginated files associated with a data folder.
  - info:
      name: Retrieve File
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/folders/:folder_id/files/:file_id
      params:
      - name: folder_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: file_id
        value: ''
        type: path
        description: The ID of the file in the format 'file-<uuid4>'
      - name: include_content
        value: ''
        type: query
        description: Whether to include full file content
    docs: Retrieve a file from a folder by ID.
  - info:
      name: Delete File from Folder
      type: http
    http:
      method: DELETE
      url: https://api.letta.com/v1/folders/:folder_id/:file_id
      params:
      - name: folder_id
        value: ''
        type: path
        description: The ID of the source in the format 'source-<uuid4>'
      - name: file_id
        value: ''
        type: path
        description: The ID of the file in the format 'file-<uuid4>'
    docs: Delete a file from a folder.
- info:
    name: Agents
    type: folder
  items:
  - info:
      name: List Agents
      type: http
    http:
      method: GET
      url: https://api.letta.com/v1/agents/
      params:
      - name: name
        value: ''
        type: query
        description: Name of the agent
      - name: tags
        value: ''
        type: query
        description: List of tags to filter agents by
      - name: match_all_tags
        value: ''
        type: query
        description: If True, only returns agents that match ALL given tags. Otherwise, return agents that have ANY of the
          passed-in tags.
      - name: before
        value: ''
        type: query
        description: Cursor for pagination
      - name: after
        value: ''
        type: query
        description: Cursor for pagination
      - name: limit
        value: ''
        type: query
        description: Limit for pagination
      - name: query_text
        value: ''
        type: query
        description: Search agents by name
      - name: project_id
        value: ''
        type: query
        description: Search agents by project ID - this will default to your default project on cloud
      - name: template_id
        value: ''
        type: query
        description: Search agents by template ID
      - name: base_template_id
        value: ''
        type: query
        description: Search agents by base template ID
      - name: identity_id
        value: ''
        type: query
        description: Search agents by identity ID
      - name: identifier_keys
        value: ''
        type: query
        description: Search agents by identifier keys
      - name: include_relationships
        value: ''
        type: query
        description: Specify which relational fields (e.g., 'tools', 'sources', 'memory') to include in the response. If not
          provided, all relationships are loaded by default. Using this can optimize performance by reducing unnecessary joins.This
          is a legacy parameter, and no longer supported after 1.0.0 SDK versions.
      - name: include
        value: ''
        type: query
        description: Specify which relational fields to include in the response. No relationships are included by default.
   

# --- truncated at 32 KB (177 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/apis.yml