Letta Identities API

Map external user identities to agents and memory contexts.

Operations 10

GET /v1/identities/ List Identities #
POST /v1/identities/ Create Identity #
PUT /v1/identities/ Upsert Identity #
GET /v1/identities/count Count Identities #
GET /v1/identities/{identity_id} Retrieve Identity #
PATCH /v1/identities/{identity_id} Modify Identity #
DELETE /v1/identities/{identity_id} Delete Identity #
PUT /v1/identities/{identity_id}/properties Upsert Properties for Identity #
GET /v1/identities/{identity_id}/agents List Agents for Identity #
GET /v1/identities/{identity_id}/blocks List Blocks for Identity #

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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/letta-identities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

letta-identities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Letta Admin Identities 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: Identities
  description: Map external user identities to agents and memory contexts.
paths:
  /v1/identities/:
    get:
      tags:
      - Identities
      summary: List Identities
      description: Get a list of all identities in the database
      operationId: list_identities
      deprecated: true
      parameters:
      - name: name
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: '[DEPRECATED: Use X-Project-Id header instead] Filter identities by project ID'
          deprecated: true
          title: Project Id
        description: '[DEPRECATED: Use X-Project-Id header instead] Filter identities by project ID'
        deprecated: true
      - name: identifier_key
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Identifier Key
      - name: identity_type
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/IdentityType'
          - type: 'null'
          title: Identity Type
      - name: before
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Identity ID cursor for pagination. Returns identities that come before this identity ID in the specified sort order
          title: Before
        description: Identity ID cursor for pagination. Returns identities that come before this identity ID in the specified sort order
      - name: after
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Identity ID cursor for pagination. Returns identities that come after this identity ID in the specified sort order
          title: After
        description: Identity ID cursor for pagination. Returns identities that come after this identity ID in the specified sort order
      - name: limit
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Maximum number of identities to return
          default: 50
          title: Limit
        description: Maximum number of identities to return
      - name: order
        in: query
        required: false
        schema:
          enum:
          - asc
          - desc
          type: string
          description: Sort order for identities by creation time. 'asc' for oldest first, 'desc' for newest first
          default: desc
          title: Order
        description: Sort order for identities by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: order_by
        in: query
        required: false
        schema:
          const: created_at
          type: string
          description: Field to sort by
          default: created_at
          title: Order By
        description: Field to sort by
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Identity'
                title: Response List Identities
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    post:
      tags:
      - Identities
      summary: Create Identity
      operationId: create_identity
      deprecated: true
      parameters:
      - name: X-Project
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The project slug to associate with the identity (cloud only).
          title: X-Project
        description: The project slug to associate with the identity (cloud only).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityCreate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Identities
      summary: Upsert Identity
      operationId: upsert_identity
      deprecated: true
      parameters:
      - name: X-Project
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: The project slug to associate with the identity (cloud only).
          title: X-Project
        description: The project slug to associate with the identity (cloud only).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityUpsert'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/identities/count:
    get:
      tags:
      - Identities
      summary: Count Identities
      description: Get count of all identities for a user
      operationId: count_identities
      deprecated: true
      parameters: []
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: integer
                title: Response Count Identities
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/identities/{identity_id}:
    get:
      tags:
      - Identities
      summary: Retrieve Identity
      operationId: retrieve_identity
      deprecated: true
      parameters:
      - name: identity_id
        in: path
        required: true
        schema:
          type: string
          minLength: 45
          maxLength: 45
          pattern: ^identity-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          description: The ID of the identity in the format 'identity-<uuid4>'
          examples:
          - identity-123e4567-e89b-42d3-8456-426614174000
          title: Identity Id
        description: The ID of the identity in the format 'identity-<uuid4>'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - Identities
      summary: Modify Identity
      operationId: update_identity
      deprecated: true
      parameters:
      - name: identity_id
        in: path
        required: true
        schema:
          type: string
          minLength: 45
          maxLength: 45
          pattern: ^identity-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          description: The ID of the identity in the format 'identity-<uuid4>'
          examples:
          - identity-123e4567-e89b-42d3-8456-426614174000
          title: Identity Id
        description: The ID of the identity in the format 'identity-<uuid4>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdentityUpdate'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Identity'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Identities
      summary: Delete Identity
      description: Delete an identity by its identifier key
      operationId: delete_identity
      deprecated: true
      parameters:
      - name: identity_id
        in: path
        required: true
        schema:
          type: string
          minLength: 45
          maxLength: 45
          pattern: ^identity-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          description: The ID of the identity in the format 'identity-<uuid4>'
          examples:
          - identity-123e4567-e89b-42d3-8456-426614174000
          title: Identity Id
        description: The ID of the identity in the format 'identity-<uuid4>'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/identities/{identity_id}/properties:
    put:
      tags:
      - Identities
      summary: Upsert Properties for Identity
      operationId: upsert_properties_for_identity
      deprecated: true
      parameters:
      - name: identity_id
        in: path
        required: true
        schema:
          type: string
          minLength: 45
          maxLength: 45
          pattern: ^identity-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          description: The ID of the identity in the format 'identity-<uuid4>'
          examples:
          - identity-123e4567-e89b-42d3-8456-426614174000
          title: Identity Id
        description: The ID of the identity in the format 'identity-<uuid4>'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IdentityProperty'
              title: Properties
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/identities/{identity_id}/agents:
    get:
      tags:
      - Identities
      summary: List Agents for Identity
      description: Get all agents associated with the specified identity.
      operationId: list_agents_for_identity
      deprecated: true
      parameters:
      - name: identity_id
        in: path
        required: true
        schema:
          type: string
          minLength: 45
          maxLength: 45
          pattern: ^identity-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          description: The ID of the identity in the format 'identity-<uuid4>'
          examples:
          - identity-123e4567-e89b-42d3-8456-426614174000
          title: Identity Id
        description: The ID of the identity in the format 'identity-<uuid4>'
      - name: before
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Agent ID cursor for pagination. Returns agents that come before this agent ID in the specified sort order
          title: Before
        description: Agent ID cursor for pagination. Returns agents that come before this agent ID in the specified sort order
      - name: after
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Agent ID cursor for pagination. Returns agents that come after this agent ID in the specified sort order
          title: After
        description: Agent ID cursor for pagination. Returns agents that come after this agent ID in the specified sort order
      - name: limit
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Maximum number of agents to return
          default: 50
          title: Limit
        description: Maximum number of agents to return
      - name: order
        in: query
        required: false
        schema:
          enum:
          - asc
          - desc
          type: string
          description: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for newest first
          default: desc
          title: Order
        description: Sort order for agents by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: order_by
        in: query
        required: false
        schema:
          const: created_at
          type: string
          description: Field to sort by
          default: created_at
          title: Order By
        description: Field to sort by
      - name: include
        in: query
        required: false
        schema:
          type: array
          items:
            enum:
            - agent.blocks
            - agent.identities
            - agent.managed_group
            - agent.pending_approval
            - agent.secrets
            - agent.sources
            - agent.tags
            - agent.tools
            type: string
          description: Specify which relational fields to include in the response. No relationships are included by default.
          default: []
          title: Include
        description: Specify which relational fields to include in the response. No relationships are included by default.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgentState'
                title: Response List Agents For Identity
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/identities/{identity_id}/blocks:
    get:
      tags:
      - Identities
      summary: List Blocks for Identity
      description: Get all blocks associated with the specified identity.
      operationId: list_blocks_for_identity
      deprecated: true
      parameters:
      - name: identity_id
        in: path
        required: true
        schema:
          type: string
          minLength: 45
          maxLength: 45
          pattern: ^identity-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          description: The ID of the identity in the format 'identity-<uuid4>'
          examples:
          - identity-123e4567-e89b-42d3-8456-426614174000
          title: Identity Id
        description: The ID of the identity in the format 'identity-<uuid4>'
      - name: before
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Block ID cursor for pagination. Returns blocks that come before this block ID in the specified sort order
          title: Before
        description: Block ID cursor for pagination. Returns blocks that come before this block ID in the specified sort order
      - name: after
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Block ID cursor for pagination. Returns blocks that come after this block ID in the specified sort order
          title: After
        description: Block ID cursor for pagination. Returns blocks that come after this block ID in the specified sort order
      - name: limit
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          description: Maximum number of blocks to return
          default: 50
          title: Limit
        description: Maximum number of blocks to return
      - name: order
        in: query
        required: false
        schema:
          enum:
          - asc
          - desc
          type: string
          description: Sort order for blocks by creation time. 'asc' for oldest first, 'desc' for newest first
          default: desc
          title: Order
        description: Sort order for blocks by creation time. 'asc' for oldest first, 'desc' for newest first
      - name: order_by
        in: query
        required: false
        schema:
          const: created_at
          type: string
          description: Field to sort by
          default: created_at
          title: Order By
        description: Field to sort by
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BlockResponse'
                title: Response List Blocks For Identity
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ZAIThinking:
      properties:
        type:
          type: string
          enum:
          - enabled
          - disabled
          title: Type
          description: Whether thinking is enabled or disabled.
          default: enabled
        clear_thinking:
          type: boolean
          title: Clear Thinking
          description: If False, preserved thinking is used (recommended for agents).
          default: false
      type: object
      title: ZAIThinking
      description: Thinking configuration for ZAI GLM-4.5+ models.
    FileBlock:
      properties:
        value:
          type: string
          title: Value
          description: Value of the block.
        limit:
          type: integer
          title: Limit
          description: Character limit of the block.
          default: 100000
        project_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Id
          description: The associated project id.
        template_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Template Name
          description: Name of the block if it is a template.
        is_template:
          type: boolean
          title: Is Template
          description: Whether the block is a template (e.g. saved human/persona options).
          default: false
        template_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Template Id
          description: The id of the template.
        base_template_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Base Template Id
          description: The base template id of the block.
        deployment_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Deployment Id
          description: The id of the deployment.
        entity_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Entity Id
          description: The id of the entity within the template.
        preserve_on_migration:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Preserve On Migration
          description: Preserve the block on template migration.
          default: false
        label:
          anyOf:
          - type: string
          - type: 'null'
          title: Label
          description: Label of the block (e.g. 'human', 'persona') in the context window.
        read_only:
          type: boolean
          title: Read Only
          description: Whether the agent has read-only access to the block.
          default: false
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: Description of the block.
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
          description: Metadata of the block.
          default: {}
        hidden:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Hidden
          description: If set to True, the block will be hidden.
        id:
          type: string
          pattern: ^block-[a-fA-F0-9]{8}
          title: Id
          description: The human-friendly ID of the Block
          examples:
          - block-123e4567-e89b-12d3-a456-426614174000
        created_by_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By Id
          description: The id of the user that made this Block.
        last_updated_by_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Updated By Id
          description: The id of the user that last updated this Block.
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Tags
          description: The tags associated with the block.
          default: []
        file_id:
          type: string
          title: File Id
          description: Unique identifier of the file.
        source_id:
          type: string
          title: Source Id
          description: 'Deprecated: Use `folder_id` field instead. Unique identifier of the source.'
          deprecated: true
        is_open:
          type: boolean
          title: Is Open
          description: True if the agent currently has the file open.
        last_accessed_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Last Accessed At
          description: UTC timestamp of the agent’s most recent access to this file. Any operations from the open, close, or search tools will update this field.
      type: object
      required:
      - value
      - file_id
      - source_id
      - is_open
      title: FileBlock
    AgentState:
      properties:
        created_by_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Created By Id
          description: The id of the user that made this object.
        last_updated_by_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Last Updated By Id
          description: The id of the user that made this object.
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
          description: The timestamp when the object was created.
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updated At
          description: The timestamp when the object was last updated.
        id:
          type: string
          title: Id
          description: The id of the agent. Assigned by the database.
        name:
          type: string
          title: Name
          description: The name of the agent.
        tool_rules:
          anyOf:
          - items:
              oneOf:
              - $ref: '#/components/schemas/ChildToolRule'
              - $ref: '#/components/schemas/InitToolRule'
              - $ref: '#/components/schemas/TerminalToolRule'
              - $ref: '#/components/schemas/ConditionalToolRule'
              - $ref: '#/components/schemas/ContinueToolRule'
              - $ref: '#/components/schemas/RequiredBeforeExitToolRule'
              - $ref: '#/components/schemas/MaxCountPerStepToolRule'
              - $ref: '#/components/schemas/ParentToolRule'
              - $ref: '#/components/schemas/RequiresApprovalToolRule'
              discriminator:
                propertyName: type
                mapping:
                  conditional: '#/components/schemas/ConditionalToolRule'
                  constrain_child_tools: '#/components/schemas/ChildToolRule'
                  continue_loop: '#/components/schemas/ContinueToolRule'
                  exit_loop: '#/components/schemas/TerminalToolRule'
                  max_count_per_step: '#/components/schemas/MaxCountPerStepToolRule'
                  parent_last_tool: '#/components/schemas/ParentToolRule'
                  required_before_exit: '#/components/schemas/RequiredBeforeExitToolRule'
                  requires_approval: '#/components/schemas/RequiresApprovalToolRule'
                  run_first: '#/components/schemas/InitToolRule'
            type: array
          - type: 'null'
          title: Tool Rules
          description: The list of tool rules.
        message_ids:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Message Ids
          description: The ids of the messages in the agent's in-context memory.
        system:
          type: string
          title: System
          description: The system prompt used by the agent.
        agent_type:
          $ref: '#/components/schemas/AgentType'
          description: The type of agent.
        llm_config:
          $ref: '#/components/schemas/LLMConfig'
          description: 'Deprecated: Use `model` field instead. The LLM configuration used by the agent.'
          deprecated: true
        embedding_config:
          anyOf:
          - $ref: '#/components/schemas/EmbeddingConfig'
          - type: 'null'
          description: 'Deprecated: Use `embedding` field instead. The embedding configuration used by the agent.'
          deprecated: true
        model:
          anyOf:
          - type: string
          - type: 'null'
          title: Model
          description: 'The model handle used by the agent (format: provider/model-name).'
        embedding:
          anyOf:
          - type: string
          - type: 'null'
          title: Embedding
          description: 'The embedding model handle used by the agent (format: provider/model-name).'
        model_settings:
          anyOf:
          - oneOf:
            - $ref: '#/components/schemas/OpenAIModelSettings'
            - $ref: '#/components/schemas/SGLangModelSettings'
            - $ref: '#/components/schemas/AnthropicModelSettings'
            - $ref: '#/components/schemas/GoogleAIModelSettings'
            - $ref: '#/components/schemas/GoogleVertexModelSettings'
            - $ref: '#/components/schemas/AzureModelSettings'
            - $ref: '#/components/schemas/XAIModelSettings'
            - $ref: '#/components/schemas/ZAIModelSettings'
            - $ref: '#/components/schemas/GroqModelSettings'
            - $ref: '#/components/schemas/DeepseekModelSettings'
            - $ref: '#/components/schemas/TogetherModelSettings'
            - $ref: '#/components/schemas/BedrockModelSettings'
            - $ref: '#/components/schemas/BasetenModelSettings'
            - $ref: '#/components/schemas/OpenRouterModelSettings'
            - $ref: '#/components/schemas/ChatGPTOAuthModelSettings'
            discriminator:
              propertyName: provider_type
              mapping:
                anthropic: '#/components/schemas/AnthropicModelSettings'
                azure: '#/components/schemas/AzureModelSettings'
                baseten: '#/components/schemas/BasetenModelSettings'
                bedrock: '#/components/schemas/BedrockModelSettings'
                chatgpt_oauth: '#/components/schemas/ChatGPTOAuthModelSettings'
                deepseek: '#/components/schemas/DeepseekModelSettings'
                google_ai: '#/components/schemas/GoogleAIModelSettings'
                google_vertex: '#/components/schemas/GoogleVertexModelSettings'
                groq: '#/components/schemas/GroqModelSettings'
                openai: '#/components/schemas/OpenAIModelSettings'
                openrouter: '#/components/schemas/OpenRouterModelSettings'
                sglang: '#/components/schemas/SGLangModelSettings'
                together: '#/components/schemas/TogetherModelSettings'
                xai: '#/components/schemas/XAIModelSettings'
                zai: '#/components/schemas/ZAIModelSettings'
          - type: 'null'
          title: Model Settings
          description: The model settings used by the agent.
        compaction_settings:
          anyOf:
          - $ref: '#/components/schemas/CompactionSettings-Output'
          - type: 'null'
          description: The compaction settings configuration used for compaction.
        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 used by the agent
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
          description: The description of the agent.
        metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Metadata
          description: The metadata of the agent.
        memory:
          $ref: '#/components/schemas/Memory'
          description: 'Deprecated: Use `blocks` field instead. The in-context memory of the agent.'
          deprecated: true
        blocks:
          items:
            $ref: '#/components/schemas/Block'
          type: array
          title: Blocks
          description: The memory blocks used by the agent.
        tools:
          items:
            $ref: '#/components/schemas/Tool'
          type: array
          title: Tools
          description: The tools used by the agent.
        sources:
          items:
            $ref: '#/components/schemas/Source'
          type: array
          title: Sources
          description: 'Deprecated: Use `folders` field instead. The sources used by the agent.'
          deprecated: true
        tags:
          items:
            type: string
          type: array
          title: Tags
          description: The tags associated with the agent.
        tool_exec_environment_variables:
          items:
            $ref: '#/components/schemas/AgentEnvironmentVariable'
          type: array
          title: Tool Exec Environment Variables
          description: 'Deprecated: use `secrets` field instead.'
          deprecate

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