Letta · Schema

UserMessage

A message sent by the user. Never streamed back on a response, only used for cursor pagination. Args: id (str): The ID of the message date (datetime): The date the message was created in ISO format name (Optional[str]): The name of the sender of the message content (Union[str, List[LettaUserMessageContentUnion]]): The message content sent by the user (can be a string or an array of multi-modal content parts)

AIAgentsStateful AgentsMemoryMemGPTContinual LearningMCPMulti-AgentRAGOpen Source

Properties

Name Type Description
id string
date string
name object
message_type string The type of the message.
otid object The offline threading id (OTID). Set by the client to deduplicate requests. Used for idempotency in background streaming mode — each message in a request must have a unique OTID. Retries of the same r
sender_id object
step_id object
is_err object
seq_id object
run_id object
content object The message content sent by the user (can be a string or an array of multi-modal content parts)
View JSON Schema on GitHub

JSON Schema

letta-usermessage-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/UserMessage",
  "title": "UserMessage",
  "properties": {
    "id": {
      "type": "string",
      "title": "Id"
    },
    "date": {
      "type": "string",
      "format": "date-time",
      "title": "Date"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Name"
    },
    "message_type": {
      "type": "string",
      "const": "user_message",
      "title": "Message Type",
      "description": "The type of the message.",
      "default": "user_message"
    },
    "otid": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Otid",
      "description": "The offline threading id (OTID). Set by the client to deduplicate requests. Used for idempotency in background streaming mode \u2014 each message in a request must have a unique OTID. Retries of the same request should reuse the same OTIDs."
    },
    "sender_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sender Id"
    },
    "step_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Step Id"
    },
    "is_err": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Is Err"
    },
    "seq_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Seq Id"
    },
    "run_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Run Id"
    },
    "content": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/components/schemas/LettaUserMessageContentUnion"
          },
          "type": "array"
        },
        {
          "type": "string"
        }
      ],
      "title": "Content",
      "description": "The message content sent by the user (can be a string or an array of multi-modal content parts)"
    }
  },
  "type": "object",
  "required": [
    "id",
    "date",
    "content"
  ],
  "description": "A message sent by the user. Never streamed back on a response, only used for cursor pagination.\n\nArgs:\n    id (str): The ID of the message\n    date (datetime): The date the message was created in ISO format\n    name (Optional[str]): The name of the sender of the message\n    content (Union[str, List[LettaUserMessageContentUnion]]): The message content sent by the user (can be a string or an array of multi-modal content parts)"
}