Letta · Schema

ToolCallMessage

A message representing a request to call a tool (generated by the LLM to trigger tool execution). 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 tool_call (Union[ToolCall, ToolCallDelta]): The tool call

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
tool_call object
tool_calls object
View JSON Schema on GitHub

JSON Schema

letta-toolcallmessage-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ToolCallMessage",
  "title": "ToolCallMessage",
  "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": "tool_call_message",
      "title": "Message Type",
      "description": "The type of the message.",
      "default": "tool_call_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"
    },
    "tool_call": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ToolCall"
        },
        {
          "$ref": "#/components/schemas/ToolCallDelta"
        }
      ],
      "title": "Tool Call",
      "deprecated": true
    },
    "tool_calls": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/components/schemas/ToolCall"
          },
          "type": "array"
        },
        {
          "$ref": "#/components/schemas/ToolCallDelta"
        },
        {
          "type": "null"
        }
      ],
      "title": "Tool Calls"
    }
  },
  "type": "object",
  "required": [
    "id",
    "date",
    "tool_call"
  ],
  "description": "A message representing a request to call a tool (generated by the LLM to trigger tool execution).\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    tool_call (Union[ToolCall, ToolCallDelta]): The tool call"
}