Letta Models API

List available chat and embedding models exposed by configured providers.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-agent-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-block-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-tool-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-source-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-run-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-group-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-identity-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-message-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-passage-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-archive-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-job-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-llm-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-embedding-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-provider-schema.json

Other Resources

OpenAPI Specification

letta-models-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Letta Admin Models API
  version: 1.0.0
  description: REST API for Letta, the stateful agents platform. Manage agents, memory blocks, archival passages, sources, custom tools, MCP servers, multi-agent groups, runs, and streaming responses. Available as Letta Cloud (managed) at https://api.letta.com/v1 and as the self-hosted open-source server (Apache-2.0) typically run at http://localhost:8283.
  contact:
    name: Letta
    url: https://www.letta.com/
    email: support@letta.com
  license:
    name: Apache-2.0
    url: https://github.com/letta-ai/letta/blob/main/LICENSE
  x-logo:
    url: https://www.letta.com/favicon.ico
servers:
- url: https://api.letta.com
  description: Letta Cloud (managed)
- url: https://app.letta.com
  description: Letta Cloud (app)
- url: http://localhost:8283
  description: Self-hosted Letta server
security:
- bearerAuth: []
tags:
- name: Models
  description: List available chat and embedding models exposed by configured providers.
paths:
  /v1/models/:
    get:
      tags:
      - Models
      summary: List LLM Models
      description: 'List available LLM models using the asynchronous implementation for improved performance.


        Returns Model format which extends LLMConfig with additional metadata fields.

        Legacy LLMConfig fields are marked as deprecated but still available for backward compatibility.'
      operationId: list_models
      parameters:
      - name: provider_category
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              $ref: '#/components/schemas/ProviderCategory'
          - type: 'null'
          title: Provider Category
      - name: provider_name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider Name
      - name: provider_type
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/ProviderType'
          - type: 'null'
          title: Provider Type
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Model'
                title: Response List Models
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/models/embedding:
    get:
      tags:
      - Models
      summary: List Embedding Models
      description: 'List available embedding models using the asynchronous implementation for improved performance.


        Returns EmbeddingModel format which extends EmbeddingConfig with additional metadata fields.

        Legacy EmbeddingConfig fields are marked as deprecated but still available for backward compatibility.'
      operationId: list_embedding_models
      parameters: []
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EmbeddingModel'
                title: Response List Embedding Models
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/models/embeddings:
    get:
      tags:
      - Models
      parameters: []
      operationId: models.listEmbeddingModels
      responses:
        '200':
          description: '200'
components:
  schemas:
    Model:
      properties:
        handle:
          anyOf:
          - type: string
          - type: 'null'
          title: Handle
          description: The handle for this config, in the format provider/model-name.
        name:
          type: string
          title: Name
          description: The actual model name used by the provider
        display_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Display Name
          description: A human-friendly display name for the model.
        provider_type:
          $ref: '#/components/schemas/ProviderType'
          description: The type of the provider
        provider_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider Name
          description: The provider name for the model.
        model_type:
          type: string
          const: llm
          title: Model Type
          description: Type of model (llm or embedding)
          default: llm
        model:
          type: string
          title: Model
          description: 'Deprecated: Use ''name'' field instead. LLM model name.'
          deprecated: true
        model_endpoint_type:
          type: string
          enum:
          - openai
          - anthropic
          - google_ai
          - google_vertex
          - azure
          - groq
          - ollama
          - webui
          - webui-legacy
          - lmstudio
          - lmstudio-legacy
          - lmstudio-chatcompletions
          - llamacpp
          - koboldcpp
          - vllm
          - hugging-face
          - baseten
          - minimax
          - mistral
          - together
          - bedrock
          - deepseek
          - xai
          - zai
          - zai_coding
          - openrouter
          - chatgpt_oauth
          title: Model Endpoint Type
          description: 'Deprecated: Use ''provider_type'' field instead. The endpoint type for the model.'
          deprecated: true
        model_endpoint:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Endpoint
          description: 'Deprecated: The endpoint for the model.'
          deprecated: true
        provider_category:
          anyOf:
          - $ref: '#/components/schemas/ProviderCategory'
          - type: 'null'
          description: 'Deprecated: The provider category for the model.'
          deprecated: true
        model_wrapper:
          anyOf:
          - type: string
          - type: 'null'
          title: Model Wrapper
          description: 'Deprecated: The wrapper for the model.'
          deprecated: true
        context_window:
          type: integer
          title: Context Window
          description: 'Deprecated: Use ''max_context_window'' field instead. The context window size for the model.'
          deprecated: true
        put_inner_thoughts_in_kwargs:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Put Inner Thoughts In Kwargs
          description: 'Deprecated: Puts ''inner_thoughts'' as a kwarg in the function call.'
          default: true
          deprecated: true
        temperature:
          type: number
          title: Temperature
          description: 'Deprecated: The temperature to use when generating text with the model.'
          default: 0.7
          deprecated: true
        max_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Tokens
          description: 'Deprecated: The maximum number of tokens to generate.'
          deprecated: true
        enable_reasoner:
          type: boolean
          title: Enable Reasoner
          description: 'Deprecated: Whether or not the model should use extended thinking if it is a ''reasoning'' style model.'
          default: true
          deprecated: true
        reasoning_effort:
          anyOf:
          - type: string
            enum:
            - none
            - minimal
            - low
            - medium
            - high
            - xhigh
          - type: 'null'
          title: Reasoning Effort
          description: 'Deprecated: The reasoning effort to use when generating text reasoning models.'
          deprecated: true
        max_reasoning_tokens:
          type: integer
          title: Max Reasoning Tokens
          description: 'Deprecated: Configurable thinking budget for extended thinking.'
          default: 0
          deprecated: true
        effort:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
            - max
          - type: 'null'
          title: Effort
          description: The effort level for Anthropic models that support it (Opus 4.5, Opus 4.6). Controls token spending and thinking behavior. Not setting this gives similar performance to 'high'.
        frequency_penalty:
          anyOf:
          - type: number
          - type: 'null'
          title: Frequency Penalty
          description: 'Deprecated: Positive values penalize new tokens based on their existing frequency in the text so far.'
          deprecated: true
        compatibility_type:
          anyOf:
          - type: string
            enum:
            - gguf
            - mlx
          - type: 'null'
          title: Compatibility Type
          description: 'Deprecated: The framework compatibility type for the model.'
          deprecated: true
        verbosity:
          anyOf:
          - type: string
            enum:
            - low
            - medium
            - high
          - type: 'null'
          title: Verbosity
          description: 'Deprecated: Soft control for how verbose model output should be.'
          deprecated: true
        tier:
          anyOf:
          - type: string
          - type: 'null'
          title: Tier
          description: 'Deprecated: The cost tier for the model (cloud only).'
          deprecated: true
        parallel_tool_calls:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Parallel Tool Calls
          description: 'Deprecated: If set to True, enables parallel tool calling.'
          default: false
          deprecated: true
        response_format:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/TextResponseFormat'
            - $ref: '#/components/schemas/JsonSchemaResponseFormat'
            - $ref: '#/components/schemas/JsonObjectResponseFormat'
            discriminator:
              propertyName: type
              mapping:
                json_object: '#/components/schemas/JsonObjectResponseFormat'
                json_schema: '#/components/schemas/JsonSchemaResponseFormat'
                text: '#/components/schemas/TextResponseFormat'
          - type: 'null'
          title: Response Format
          description: The response format for the model's output. Supports text, json_object, and json_schema (structured outputs). Can be set via model_settings.
        strict:
          type: boolean
          title: Strict
          description: 'Enable strict mode for tool calling. When true, tool schemas include strict: true and additionalProperties: false, guaranteeing tool outputs match JSON schemas.'
          default: false
        return_logprobs:
          type: boolean
          title: Return Logprobs
          description: Whether to return log probabilities of the output tokens. Useful for RL training.
          default: false
        top_logprobs:
          anyOf:
          - type: integer
          - type: 'null'
          title: Top Logprobs
          description: Number of most likely tokens to return at each position (0-20). Requires return_logprobs=True.
        return_token_ids:
          type: boolean
          title: Return Token Ids
          description: Whether to return token IDs for all LLM generations via SGLang native endpoint. Required for multi-turn RL training with loss masking. Only works with SGLang provider.
          default: false
        tool_call_parser:
          anyOf:
          - type: string
          - type: 'null'
          title: Tool Call Parser
          description: SGLang tool call parser name (e.g. 'glm47', 'qwen25', 'hermes'). Used by the SGLang native adapter to parse tool calls from raw model output.
        max_context_window:
          type: integer
          title: Max Context Window
          description: The maximum context window for the model
      type: object
      required:
      - name
      - provider_type
      - model
      - model_endpoint_type
      - context_window
      - max_context_window
      title: Model
    JsonObjectResponseFormat:
      properties:
        type:
          type: string
          const: json_object
          title: Type
          description: The type of the response format.
          default: json_object
      type: object
      title: JsonObjectResponseFormat
      description: Response format for JSON object responses.
    EmbeddingModel:
      properties:
        handle:
          anyOf:
          - type: string
          - type: 'null'
          title: Handle
          description: The handle for this config, in the format provider/model-name.
        name:
          type: string
          title: Name
          description: The actual model name used by the provider
        display_name:
          type: string
          title: Display Name
          description: Display name for the model shown in UI
        provider_type:
          $ref: '#/components/schemas/ProviderType'
          description: The type of the provider
        provider_name:
          type: string
          title: Provider Name
          description: The name of the provider
        model_type:
          type: string
          const: embedding
          title: Model Type
          description: Type of model (llm or embedding)
          default: embedding
        embedding_endpoint_type:
          type: string
          enum:
          - openai
          - anthropic
          - bedrock
          - google_ai
          - google_vertex
          - azure
          - groq
          - ollama
          - webui
          - webui-legacy
          - lmstudio
          - lmstudio-legacy
          - llamacpp
          - koboldcpp
          - vllm
          - hugging-face
          - mistral
          - together
          - pinecone
          title: Embedding Endpoint Type
          description: 'Deprecated: Use ''provider_type'' field instead. The endpoint type for the embedding model.'
          deprecated: true
        embedding_endpoint:
          anyOf:
          - type: string
          - type: 'null'
          title: Embedding Endpoint
          description: 'Deprecated: The endpoint for the model.'
          deprecated: true
        embedding_model:
          type: string
          title: Embedding Model
          description: 'Deprecated: Use ''name'' field instead. Embedding model name.'
          deprecated: true
        embedding_dim:
          type: integer
          title: Embedding Dim
          description: The dimension of the embedding
        embedding_chunk_size:
          anyOf:
          - type: integer
          - type: 'null'
          title: Embedding Chunk Size
          description: 'Deprecated: The chunk size of the embedding.'
          default: 300
          deprecated: true
        batch_size:
          type: integer
          title: Batch Size
          description: 'Deprecated: The maximum batch size for processing embeddings.'
          default: 32
          deprecated: true
        azure_endpoint:
          anyOf:
          - type: string
          - type: 'null'
          title: Azure Endpoint
          description: 'Deprecated: The Azure endpoint for the model.'
          deprecated: true
        azure_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Azure Version
          description: 'Deprecated: The Azure version for the model.'
          deprecated: true
        azure_deployment:
          anyOf:
          - type: string
          - type: 'null'
          title: Azure Deployment
          description: 'Deprecated: The Azure deployment for the model.'
          deprecated: true
      type: object
      required:
      - name
      - display_name
      - provider_type
      - provider_name
      - embedding_endpoint_type
      - embedding_model
      - embedding_dim
      title: EmbeddingModel
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ProviderCategory:
      type: string
      enum:
      - base
      - byok
      title: ProviderCategory
    ProviderType:
      type: string
      enum:
      - anthropic
      - azure
      - baseten
      - bedrock
      - cerebras
      - chatgpt_oauth
      - deepseek
      - fireworks
      - google_ai
      - google_vertex
      - groq
      - hugging-face
      - letta
      - lmstudio_openai
      - minimax
      - mistral
      - ollama
      - openai
      - together
      - vllm
      - sglang
      - openrouter
      - xai
      - zai
      - zai_coding
      title: ProviderType
    TextResponseFormat:
      properties:
        type:
          type: string
          const: text
          title: Type
          description: The type of the response format.
          default: text
      type: object
      title: TextResponseFormat
      description: Response format for plain text responses.
    JsonSchemaResponseFormat:
      properties:
        type:
          type: string
          const: json_schema
          title: Type
          description: The type of the response format.
          default: json_schema
        json_schema:
          additionalProperties: true
          type: object
          title: Json Schema
          description: The JSON schema of the response.
      type: object
      required:
      - json_schema
      title: JsonSchemaResponseFormat
      description: Response format for JSON schema-based responses.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer