Letta · Schema

ToolReturnCreate

Submit tool return(s) from client-side tool execution. This is the preferred way to send tool results back to the agent after client-side tool execution. It is equivalent to sending an ApprovalCreate with tool return approvals, but provides a cleaner API for the common case.

AIAgentsStateful AgentsMemoryMemGPTContinual LearningMCPMulti-AgentRAGOpen Source

Properties

Name Type Description
type string The message type to be created.
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
group_id object The multi-agent group that the message was sent in
tool_returns array List of tool returns from client-side execution
View JSON Schema on GitHub

JSON Schema

letta-toolreturncreate-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ToolReturnCreate",
  "title": "ToolReturnCreate",
  "properties": {
    "type": {
      "type": "string",
      "const": "tool_return",
      "title": "Type",
      "description": "The message type to be created.",
      "default": "tool_return"
    },
    "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."
    },
    "group_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Group Id",
      "description": "The multi-agent group that the message was sent in"
    },
    "tool_returns": {
      "items": {
        "$ref": "#/components/schemas/letta__schemas__letta_message__ToolReturn"
      },
      "type": "array",
      "title": "Tool Returns",
      "description": "List of tool returns from client-side execution"
    }
  },
  "type": "object",
  "required": [
    "tool_returns"
  ],
  "description": "Submit tool return(s) from client-side tool execution.\n\nThis is the preferred way to send tool results back to the agent after\nclient-side tool execution. It is equivalent to sending an ApprovalCreate\nwith tool return approvals, but provides a cleaner API for the common case."
}