Steps
ModelsExpand Collapse
class ProviderTrace: …
Letta’s internal representation of a provider trace.
Attributes: id (str): The unique identifier of the provider trace. request_json (Dict[str, Any]): JSON content of the provider request. response_json (Dict[str, Any]): JSON content of the provider response. step_id (str): ID of the step that this trace is associated with. agent_id (str): ID of the agent that generated this trace. agent_tags (list[str]): Tags associated with the agent for filtering. call_type (str): Type of call (agent_step, summarization, etc.). run_id (str): ID of the run this trace is associated with. source (str): Source service that generated this trace (memgpt-server, lettuce-py). organization_id (str): The unique identifier of the organization. user_id (str): The unique identifier of the user who initiated the request. compaction_settings (Dict[str, Any]): Compaction/summarization settings (only for summarization calls). llm_config (Dict[str, Any]): LLM configuration used for this call (only for non-summarization calls). created_at (datetime): The timestamp when the object was created.
class Step: …
cache_write_tokens: Optional[int]
The number of input tokens written to cache (Anthropic only). None if not reported by provider.
cached_input_tokens: Optional[int]
The number of input tokens served from cache. None if not reported by provider.
completion_tokens_details: Optional[Dict[str, object]]
Detailed completion token breakdown (e.g., reasoning_tokens).
error_data: Optional[Dict[str, object]]
Error details including message, traceback, and additional context
The messages generated during this step. Deprecated: use GET /v1/steps/{step_id}/messages endpoint instead
approval_request_id: Optional[str]
The id of the approval request if this message is associated with a tool call request.
approvals: Optional[List[Approval]]
The list of approvals for this message.
class ApprovalLettaSchemasMessageToolReturnOutput: …
func_response: Optional[Union[str, List[ApprovalLettaSchemasMessageToolReturnOutputFuncResponseUnionMember1], null]]
The function response - either a string or list of content parts (text/image)
List[ApprovalLettaSchemasMessageToolReturnOutputFuncResponseUnionMember1]
content: Optional[List[Content]]
The content of the message.
class ImageContent: …
class ToolCallContent: …
class ReasoningContent: …
is_err: Optional[bool]
Whether this message is part of an error step. Used only for debugging purposes.
name: Optional[str]
For role user/assistant: the (optional) name of the participant. For role tool/function: the name of the function called.
tool_returns: Optional[List[ToolReturn]]
Tool execution return information for prior tool calls
func_response: Optional[Union[str, List[ToolReturnFuncResponseUnionMember1], null]]
The function response - either a string or list of content parts (text/image)
List[ToolReturnFuncResponseUnionMember1]
project_id: Optional[str]
The project that the agent that executed this step belongs to (cloud only).
prompt_tokens_details: Optional[Dict[str, object]]
Detailed prompt token breakdown (e.g., cached_tokens, cache_read_tokens, cache_creation_tokens).
reasoning_tokens: Optional[int]
The number of reasoning/thinking tokens generated. None if not reported by provider.
request_id: Optional[str]
The API request log ID from cloud-api for correlating steps with API requests.
run_id: Optional[str]
The unique identifier of the run that this step belongs to. Only included for async calls.
StepsMetrics
Retrieve Metrics For Step
StepsTrace
Retrieve Trace For Step
StepsFeedback
Modify Feedback For Step
StepsMessages
List Messages For Step
ModelsExpand Collapse
A message generated by the system. 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 (str): The message content sent by the system
class SystemMessage: …
A message generated by the system. 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 (str): The message content sent by the system
class 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)
The message content sent by the user (can be a string or an array of multi-modal content parts)
class ReasoningMessage: …
Representation of an agent’s internal reasoning.
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 source (Literal[“reasoner_model”, “non_reasoner_model”]): Whether the reasoning content was generated natively by a reasoner model or derived via prompting reasoning (str): The internal reasoning of the agent signature (Optional[str]): The model-generated signature of the reasoning step
otid: Optional[str]
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 request should reuse the same OTIDs.
class HiddenReasoningMessage: …
Representation of an agent’s internal reasoning where reasoning content has been hidden from the response.
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 state (Literal[“redacted”, “omitted”]): Whether the reasoning content was redacted by the provider or simply omitted by the API hidden_reasoning (Optional[str]): The internal reasoning of the agent
class 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
otid: Optional[str]
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 request should reuse the same OTIDs.
tool_calls: Optional[ToolCalls]
List[ToolCall]
class ToolReturnMessage: …
A message representing the return value of a tool call (generated by Letta executing the requested tool).
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_return (str): The return value of the tool (deprecated, use tool_returns) status (Literal[“success”, “error”]): The status of the tool call (deprecated, use tool_returns) tool_call_id (str): A unique identifier for the tool call that generated this message (deprecated, use tool_returns) stdout (Optional[List(str)]): Captured stdout (e.g. prints, logs) from the tool invocation (deprecated, use tool_returns) stderr (Optional[List(str)]): Captured stderr from the tool invocation (deprecated, use tool_returns) tool_returns (Optional[List[ToolReturn]]): List of tool returns for multi-tool support
otid: Optional[str]
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 request should reuse the same OTIDs.
tool_return: Union[List[ToolReturnUnionMember0], str]
The tool return value - either a string or list of content parts (text/image)
List[ToolReturnUnionMember0]
class AssistantMessage: …
A message sent by the LLM in response to user input. Used in the LLM context.
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[LettaAssistantMessageContentUnion]]): The message content sent by the agent (can be a string or an array of content parts)
class ApprovalRequestMessage: …
A message representing a request for approval 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 (ToolCall): The tool call
otid: Optional[str]
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 request should reuse the same OTIDs.
tool_calls: Optional[ToolCalls]
The tool calls that have been requested by the llm to run, which are pending approval
List[ToolCall]
class ApprovalResponseMessage: …
A message representing a response form the user indicating whether a tool has been approved to run.
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 approve: (bool) Whether the tool has been approved approval_request_id: The ID of the approval request reason: (Optional[str]) An optional explanation for the provided approval status
approvals: Optional[List[Approval]]
The list of approval responses
class ToolReturn: …
tool_return: Union[List[ToolReturnUnionMember0], str]
The tool return value - either a string or list of content parts (text/image)
List[ToolReturnUnionMember0]
class SummaryMessage: …
A message representing a summary of the conversation. Sent to the LLM as a user or system message depending on the provider.
compaction_stats: Optional[CompactionStats]
class EventMessage: …
A message for notifying the developer that an event that has occured (e.g. a compaction). Events are NOT part of the context window.
Skip to content