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.
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
{
"$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."
}