openapi: 3.1.0 info: title: Letta Admin Steps API version: 1.0.0 description: REST API for Letta, the stateful agents platform. Manage agents, memory blocks, archival passages, sources, custom tools, MCP servers, multi-agent groups, runs, and streaming responses. Available as Letta Cloud (managed) at https://api.letta.com/v1 and as the self-hosted open-source server (Apache-2.0) typically run at http://localhost:8283. contact: name: Letta url: https://www.letta.com/ email: support@letta.com license: name: Apache-2.0 url: https://github.com/letta-ai/letta/blob/main/LICENSE x-logo: url: https://www.letta.com/favicon.ico servers: - url: https://api.letta.com description: Letta Cloud (managed) - url: https://app.letta.com description: Letta Cloud (app) - url: http://localhost:8283 description: Self-hosted Letta server security: - bearerAuth: [] tags: - name: Steps description: Per-step traces of an agent run. paths: /v1/steps/: get: tags: - Steps summary: List Steps description: List steps with optional pagination and date filters. operationId: list_steps parameters: - name: before in: query required: false schema: anyOf: - type: string - type: 'null' description: Return steps before this step ID title: Before description: Return steps before this step ID - name: after in: query required: false schema: anyOf: - type: string - type: 'null' description: Return steps after this step ID title: After description: Return steps after this step ID - name: limit in: query required: false schema: anyOf: - type: integer - type: 'null' description: Maximum number of steps to return default: 50 title: Limit description: Maximum number of steps to return - name: order in: query required: false schema: enum: - asc - desc type: string description: Sort order for steps by creation time. 'asc' for oldest first, 'desc' for newest first default: desc title: Order description: Sort order for steps by creation time. 'asc' for oldest first, 'desc' for newest first - name: order_by in: query required: false schema: const: created_at type: string description: Field to sort by default: created_at title: Order By description: Field to sort by - name: start_date in: query required: false schema: anyOf: - type: string - type: 'null' description: Return steps after this ISO datetime (e.g. "2025-01-29T15:01:19-08:00") title: Start Date description: Return steps after this ISO datetime (e.g. "2025-01-29T15:01:19-08:00") - name: end_date in: query required: false schema: anyOf: - type: string - type: 'null' description: Return steps before this ISO datetime (e.g. "2025-01-29T15:01:19-08:00") title: End Date description: Return steps before this ISO datetime (e.g. "2025-01-29T15:01:19-08:00") - name: model in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by the name of the model used for the step title: Model description: Filter by the name of the model used for the step - name: agent_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by the ID of the agent that performed the step title: Agent Id description: Filter by the ID of the agent that performed the step - name: trace_ids in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: Filter by trace ids returned by the server title: Trace Ids description: Filter by trace ids returned by the server - name: feedback in: query required: false schema: anyOf: - enum: - positive - negative type: string - type: 'null' description: Filter by feedback title: Feedback description: Filter by feedback - name: has_feedback in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Filter by whether steps have feedback (true) or not (false) title: Has Feedback description: Filter by whether steps have feedback (true) or not (false) - name: tags in: query required: false schema: anyOf: - type: array items: type: string - type: 'null' description: Filter by tags title: Tags description: Filter by tags - name: project_id in: query required: false schema: anyOf: - type: string - type: 'null' description: Filter by the project ID that is associated with the step (cloud only). title: Project Id description: Filter by the project ID that is associated with the step (cloud only). - name: X-Project in: header required: false schema: anyOf: - type: string - type: 'null' description: Filter by project slug to associate with the group (cloud only). title: X-Project description: Filter by project slug to associate with the group (cloud only). responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/Step' title: Response List Steps '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/steps/{step_id}: get: tags: - Steps summary: Retrieve Step description: Get a step by ID. operationId: retrieve_step parameters: - name: step_id in: path required: true schema: type: string minLength: 41 maxLength: 41 pattern: ^step-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ description: The ID of the step in the format 'step-' examples: - step-123e4567-e89b-42d3-8456-426614174000 title: Step Id description: The ID of the step in the format 'step-' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Step' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/steps/{step_id}/metrics: get: tags: - Steps summary: Retrieve Metrics for Step description: Get step metrics by step ID. operationId: retrieve_metrics_for_step parameters: - name: step_id in: path required: true schema: type: string minLength: 41 maxLength: 41 pattern: ^step-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ description: The ID of the step in the format 'step-' examples: - step-123e4567-e89b-42d3-8456-426614174000 title: Step Id description: The ID of the step in the format 'step-' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/StepMetrics' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/steps/{step_id}/trace: get: tags: - Steps summary: Retrieve Trace for Step operationId: retrieve_trace_for_step parameters: - name: step_id in: path required: true schema: type: string minLength: 41 maxLength: 41 pattern: ^step-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ description: The ID of the step in the format 'step-' examples: - step-123e4567-e89b-42d3-8456-426614174000 title: Step Id description: The ID of the step in the format 'step-' responses: '200': description: Successful Response content: application/json: schema: anyOf: - $ref: '#/components/schemas/ProviderTrace' - type: 'null' title: Response Retrieve Trace For Step '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/steps/{step_id}/feedback: patch: tags: - Steps summary: Modify Feedback for Step description: Modify feedback for a given step. operationId: modify_feedback_for_step parameters: - name: step_id in: path required: true schema: type: string minLength: 41 maxLength: 41 pattern: ^step-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ description: The ID of the step in the format 'step-' examples: - step-123e4567-e89b-42d3-8456-426614174000 title: Step Id description: The ID of the step in the format 'step-' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ModifyFeedbackRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Step' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/steps/{step_id}/messages: get: tags: - Steps summary: List Messages for Step description: List messages for a given step. operationId: list_messages_for_step parameters: - name: step_id in: path required: true schema: type: string minLength: 41 maxLength: 41 pattern: ^step-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ description: The ID of the step in the format 'step-' examples: - step-123e4567-e89b-42d3-8456-426614174000 title: Step Id description: The ID of the step in the format 'step-' - name: before in: query required: false schema: anyOf: - type: string - type: 'null' description: Message ID cursor for pagination. Returns messages that come before this message ID in the specified sort order title: Before description: Message ID cursor for pagination. Returns messages that come before this message ID in the specified sort order - name: after in: query required: false schema: anyOf: - type: string - type: 'null' description: Message ID cursor for pagination. Returns messages that come after this message ID in the specified sort order title: After description: Message ID cursor for pagination. Returns messages that come after this message ID in the specified sort order - name: limit in: query required: false schema: anyOf: - type: integer - type: 'null' description: Maximum number of messages to return default: 100 title: Limit description: Maximum number of messages to return - name: order in: query required: false schema: enum: - asc - desc type: string description: Sort order for messages by creation time. 'asc' for oldest first, 'desc' for newest first default: asc title: Order description: Sort order for messages by creation time. 'asc' for oldest first, 'desc' for newest first - name: order_by in: query required: false schema: const: created_at type: string description: Sort by field default: created_at title: Order By description: Sort by field responses: '200': description: Successful Response content: application/json: schema: type: array items: oneOf: - $ref: '#/components/schemas/SystemMessage' - $ref: '#/components/schemas/UserMessage' - $ref: '#/components/schemas/ReasoningMessage' - $ref: '#/components/schemas/HiddenReasoningMessage' - $ref: '#/components/schemas/ToolCallMessage' - $ref: '#/components/schemas/ToolReturnMessage' - $ref: '#/components/schemas/AssistantMessage' - $ref: '#/components/schemas/ApprovalRequestMessage' - $ref: '#/components/schemas/ApprovalResponseMessage' - $ref: '#/components/schemas/SummaryMessage' - $ref: '#/components/schemas/EventMessage' discriminator: propertyName: message_type mapping: system_message: '#/components/schemas/SystemMessage' user_message: '#/components/schemas/UserMessage' reasoning_message: '#/components/schemas/ReasoningMessage' hidden_reasoning_message: '#/components/schemas/HiddenReasoningMessage' tool_call_message: '#/components/schemas/ToolCallMessage' tool_return_message: '#/components/schemas/ToolReturnMessage' assistant_message: '#/components/schemas/AssistantMessage' approval_request_message: '#/components/schemas/ApprovalRequestMessage' approval_response_message: '#/components/schemas/ApprovalResponseMessage' summary_message: '#/components/schemas/SummaryMessage' event_message: '#/components/schemas/EventMessage' title: Response List Messages For Step '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: ApprovalReturn: properties: type: type: string const: approval title: Type description: The message type to be created. default: approval tool_call_id: type: string title: Tool Call Id description: The ID of the tool call that corresponds to this approval approve: type: boolean title: Approve description: Whether the tool has been approved reason: anyOf: - type: string - type: 'null' title: Reason description: An optional explanation for the provided approval status type: object required: - tool_call_id - approve title: ApprovalReturn SystemMessage: 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: system_message title: Message Type description: The type of the message. default: system_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 — 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: type: string title: Content description: The message content sent by the system type: object required: - id - date - content title: SystemMessage description: "A message generated by the system. 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 (str): The message content sent by the system" StopReasonType: type: string enum: - end_turn - error - llm_api_error - invalid_llm_response - invalid_tool_call - max_steps - max_tokens_exceeded - no_tool_call - tool_rule - cancelled - insufficient_credits - requires_approval - context_window_overflow_in_system_prompt title: StopReasonType CompactionStats: properties: trigger: type: string title: Trigger description: What triggered the compaction (e.g., 'context_window_exceeded', 'post_step_context_check') context_tokens_before: anyOf: - type: integer - type: 'null' title: Context Tokens Before description: Token count before compaction (from LLM usage stats, includes full context sent to LLM) context_tokens_after: anyOf: - type: integer - type: 'null' title: Context Tokens After description: Token count after compaction (message tokens only, does not include tool definitions) context_window: type: integer title: Context Window description: The model's context window size messages_count_before: type: integer title: Messages Count Before description: Number of messages before compaction messages_count_after: type: integer title: Messages Count After description: Number of messages after compaction type: object required: - trigger - context_window - messages_count_before - messages_count_after title: CompactionStats description: Statistics about a memory compaction operation. BillingContext: properties: plan_type: anyOf: - type: string - type: 'null' title: Plan Type description: Subscription tier cost_source: anyOf: - type: string - type: 'null' title: Cost Source description: 'Cost source: ''quota'' or ''credits''' customer_id: anyOf: - type: string - type: 'null' title: Customer Id description: Customer ID for billing records type: object title: BillingContext description: Billing context for LLM request cost tracking. EventMessage: 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: event_message title: Message Type default: event_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 — 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 event_type: type: string const: compaction title: Event Type event_data: additionalProperties: true type: object title: Event Data type: object required: - id - date - event_type - event_data title: EventMessage description: A message for notifying the developer that an event that has occured (e.g. a compaction). Events are NOT part of the context window. ImageContent: properties: type: type: string const: image title: Type description: The type of the message. default: image source: oneOf: - $ref: '#/components/schemas/UrlImage' - $ref: '#/components/schemas/Base64Image' - $ref: '#/components/schemas/LettaImage' title: Source description: The source of the image. discriminator: propertyName: type mapping: base64: '#/components/schemas/Base64Image' letta: '#/components/schemas/LettaImage' url: '#/components/schemas/UrlImage' type: object required: - source title: ImageContent ToolReturnContent: properties: type: type: string const: tool_return title: Type description: Indicates this content represents a tool return event. default: tool_return tool_call_id: type: string title: Tool Call Id description: References the ID of the ToolCallContent that initiated this tool call. content: type: string title: Content description: The content returned by the tool execution. is_error: type: boolean title: Is Error description: Indicates whether the tool execution resulted in an error. type: object required: - tool_call_id - content - is_error title: ToolReturnContent MessageRole: type: string enum: - assistant - user - tool - function - system - approval - summary title: MessageRole AssistantMessage: 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: assistant_message title: Message Type description: The type of the message. default: assistant_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 — 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/LettaAssistantMessageContentUnion' type: array - type: string title: Content description: The message content sent by the agent (can be a string or an array of content parts) type: object required: - id - date - content title: AssistantMessage description: "A message sent by the LLM in response to user input. Used in the LLM context.\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[LettaAssistantMessageContentUnion]]): The message content sent by the agent (can be a string or an array of content parts)" StepStatus: type: string enum: - pending - success - failed - cancelled title: StepStatus description: Status of a step execution ToolCallDelta: properties: name: anyOf: - type: string - type: 'null' title: Name arguments: anyOf: - type: string - type: 'null' title: Arguments tool_call_id: anyOf: - type: string - type: 'null' title: Tool Call Id type: object title: ToolCallDelta Message: properties: created_by_id: anyOf: - type: string - type: 'null' title: Created By Id description: The id of the user that made this object. last_updated_by_id: anyOf: - type: string - type: 'null' title: Last Updated By Id description: The id of the user that made this object. created_at: type: string format: date-time title: Created At description: The timestamp when the object was created. updated_at: anyOf: - type: string format: date-time - type: 'null' title: Updated At description: The timestamp when the object was last updated. id: type: string pattern: ^message-[a-fA-F0-9]{8} title: Id description: The human-friendly ID of the Message examples: - message-123e4567-e89b-12d3-a456-426614174000 agent_id: anyOf: - type: string - type: 'null' title: Agent Id description: The unique identifier of the agent. model: anyOf: - type: string - type: 'null' title: Model description: The model used to make the function call. role: $ref: '#/components/schemas/MessageRole' description: The role of the participant. content: anyOf: - items: oneOf: - $ref: '#/components/schemas/TextContent' - $ref: '#/components/schemas/ImageContent' - $ref: '#/components/schemas/ToolCallContent' - $ref: '#/components/schemas/ToolReturnContent' - $ref: '#/components/schemas/ReasoningContent' - $ref: '#/components/schemas/RedactedReasoningContent' - $ref: '#/components/schemas/OmittedReasoningContent' - $ref: '#/components/schemas/SummarizedReasoningContent' discriminator: propertyName: type mapping: image: '#/components/schemas/ImageContent' omitted_reasoning: '#/components/schemas/OmittedReasoningContent' reasoning: '#/components/schemas/ReasoningContent' redacted_reasoning: '#/components/schemas/RedactedReasoningContent' summarized_reasoning: '#/components/schemas/SummarizedReasoningContent' text: '#/components/schemas/TextContent' tool_call: '#/components/schemas/ToolCallContent' tool_return: '#/components/schemas/ToolReturnContent' type: array - type: 'null' title: Content description: The content of the message. name: anyOf: - type: string - type: 'null' title: Name description: 'For role user/assistant: the (optional) name of the participant. For role tool/function: the name of the function called.' tool_calls: anyOf: - items: $ref: '#/components/schemas/ChatCompletionMessageFunctionToolCall-Output' type: array - type: 'null' title: Tool Calls description: The list of tool calls requested. Only applicable for role assistant. tool_call_id: anyOf: - type: string - type: 'null' title: Tool Call Id description: The ID of the tool call. Only applicable for role tool. step_id: anyOf: - type: string - type: 'null' title: Step Id description: The id of the step that this message was created in. run_id: anyOf: - type: string - type: 'null' title: Run Id description: The id of the run that this message was created in. otid: anyOf: - type: string - type: 'null' title: Otid description: The offline threading id associated with this message tool_returns: anyOf: - items: $ref: '#/components/schemas/letta__schemas__message__ToolReturn-Output' type: array - type: 'null' title: Tool Returns description: Tool execution return information for prior tool calls group_id: anyOf: - type: string - type: 'null' title: Group Id description: The multi-agent group that the message was sent in sender_id: anyOf: - type: string - type: 'null' title: Sender Id description: The id of the sender of the message, can be an identity id or agent id batch_item_id: anyOf: - type: string - type: 'null' title: Batch Item Id description: The id of the LLMBatchItem that this message is associated with conversation_id: anyOf: - type: string - type: 'null' title: Conversation Id description: The conversation this message belongs to is_err: anyOf: - type: boolean - type: 'null' title: Is Err description: Whether this message is part of an error step. Used only for debugging purposes. approval_request_id: anyOf: - type: string - type: 'null' title: Approval Request Id description: The id of the approval request if this message is associated with a tool call request. approve: anyOf: - type: boolean - type: 'null' title: Approve description: Whether tool call is approved. denial_reason: anyOf: - type: string - type: 'null' title: Denial Reason description: The reason the tool call request was denied. approvals: anyOf: - items: anyOf: - $ref: '#/components/schemas/ApprovalReturn' - $ref: '#/components/schemas/letta__schemas__message__ToolReturn-Output' type: array - type: 'null' title: Approvals description: The list of approvals for this message. additionalProperties: false type: object required: - role title: Message description: " Letta's internal representation of a message. Includes methods to convert to/from LLM provider formats.\n\n Attributes:\n id (str): The unique identifier of the message.\n role (MessageRole): The role of the participant.\n text (str): The text of the message.\n user_id (str): The unique identifier of the user.\n agent_id (str): The unique identifier of the agent.\n model (str): The model used to make the function call.\n name (str): The name of the participant.\n created_at (datetime): The time the message was created.\n tool_calls (List[OpenAIToolCall,]): The list of tool calls requested.\n tool_call_id (str): The id of the tool call.\n step_id (str): The id of the step that this message was created in.\n otid (str): The offline threading id associated with this message.\n tool_returns (List[ToolReturn]): The list of tool returns requested.\n group_id (str): The multi-agent group that the message was sent in.\n sender_id (str): The id of the sender of the message, can be an identity id or agent id.\n conversation_id (str): The conversation this message belongs to.\nt" HiddenReasoningMessage: 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: hidden_reasoning_message title: Message Type description: The type of the message. default: hidden_reasoning_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 — 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 state: type: string enum: - redacted - omitted title: State hidden_reasoning: anyOf: - type: string - type: 'null' title: Hidden Reasoning type: object required: - id - date - state title: HiddenReasoningMessage description: "Representation of an agent's internal reasoning where reasoning content\nhas been hidden from the response.\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 state (Literal[\"redacted\", \"omitted\"]): Whether the reasoning\n content was redacted by the provider or simply omitted by the API\n hidden_reasoning (Optional[str]): The internal reasoning of the agent" letta__schemas__letta_message__ToolReturn: properties: type: type: string const: tool title: Type description: The message type to be created. default: tool tool_return: anyOf: - items: $ref: '#/components/schemas/LettaToolReturnContentUnion' type: array - type: string title: Tool Return description: The tool return value - either a string or list of content parts (text/image) status: type: string enum: - success - error title: Status tool_call_id: type: string title: Tool Call Id stdout: anyOf: - items: type: string type: array - type: 'null' title: Stdout stderr: anyOf: - items: type: string type: array - type: 'null' title: Stderr type: object required: - tool_return - status - tool_call_id title: ToolReturn HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError TextContent: properties: type: type: string const: text title: Type description: The type of the message. default: text text: type: string title: Text description: The text content of the message. signature: anyOf: - type: string - type: 'null' title: Signature description: Stores a unique identifier for any reasoning associated with this text content. type: object required: - text title: TextContent LettaUserMessageContentUnion: oneOf: - $ref: '#/components/schemas/TextContent' - $ref: '#/components/schemas/ImageContent' discriminator: propertyName: type mapping: text: '#/components/schemas/TextContent' image: '#/components/schemas/ImageContent' Step: properties: id: type: string title: Id description: The id of the step. Assigned by the database. origin: anyOf: - type: string - type: 'null' title: Origin description: The surface that this agent step was initiated from. provider_id: anyOf: - type: string - type: 'null' title: Provider Id description: The unique identifier of the provider that was configured for this step run_id: anyOf: - type: string - type: 'null' title: Run Id description: The unique identifier of the run that this step belongs to. Only included for async calls. agent_id: anyOf: - type: string - type: 'null' title: Agent Id description: The ID of the agent that performed the step. provider_name: anyOf: - type: string - type: 'null' title: Provider Name description: The name of the provider used for this step. provider_category: anyOf: - type: string - type: 'null' title: Provider Category description: The category of the provider used for this step. model: anyOf: - type: string - type: 'null' title: Model description: The name of the model used for this step. model_handle: anyOf: - type: string - type: 'null' title: Model Handle description: The model handle (e.g., 'openai/gpt-4o-mini') used for this step. model_endpoint: anyOf: - type: string - type: 'null' title: Model Endpoint description: The model endpoint url used for this step. context_window_limit: anyOf: - type: integer - type: 'null' title: Context Window Limit description: The context window limit configured for this step. completion_tokens: anyOf: - type: integer - type: 'null' title: Completion Tokens description: The number of tokens generated by the agent during this step. prompt_tokens: anyOf: - type: integer - type: 'null' title: Prompt Tokens description: The number of tokens in the prompt during this step. total_tokens: anyOf: - type: integer - type: 'null' title: Total Tokens description: The total number of tokens processed by the agent during this step. cached_input_tokens: anyOf: - type: integer - type: 'null' title: Cached Input Tokens description: The number of input tokens served from cache. None if not reported by provider. cache_write_tokens: anyOf: - type: integer - type: 'null' title: Cache Write Tokens description: The number of input tokens written to cache (Anthropic only). None if not reported by provider. reasoning_tokens: anyOf: - type: integer - type: 'null' title: Reasoning Tokens description: The number of reasoning/thinking tokens generated. None if not reported by provider. completion_tokens_details: anyOf: - additionalProperties: true type: object - type: 'null' title: Completion Tokens Details description: Detailed completion token breakdown (e.g., reasoning_tokens). prompt_tokens_details: anyOf: - additionalProperties: true type: object - type: 'null' title: Prompt Tokens Details description: Detailed prompt token breakdown (e.g., cached_tokens, cache_read_tokens, cache_creation_tokens). stop_reason: anyOf: - $ref: '#/components/schemas/StopReasonType' - type: 'null' description: The stop reason associated with the step. tags: items: type: string type: array title: Tags description: Metadata tags. default: [] tid: anyOf: - type: string - type: 'null' title: Tid description: The unique identifier of the transaction that processed this step. trace_id: anyOf: - type: string - type: 'null' title: Trace Id description: The trace id of the agent step. request_id: anyOf: - type: string - type: 'null' title: Request Id description: The API request log ID from cloud-api for correlating steps with API requests. messages: items: $ref: '#/components/schemas/Message' type: array title: Messages description: 'The messages generated during this step. Deprecated: use `GET /v1/steps/{step_id}/messages` endpoint instead' default: [] deprecated: true feedback: anyOf: - type: string enum: - positive - negative - type: 'null' title: Feedback description: The feedback for this step. Must be either 'positive' or 'negative'. project_id: anyOf: - type: string - type: 'null' title: Project Id description: The project that the agent that executed this step belongs to (cloud only). error_type: anyOf: - type: string - type: 'null' title: Error Type description: The type/class of the error that occurred error_data: anyOf: - additionalProperties: true type: object - type: 'null' title: Error Data description: Error details including message, traceback, and additional context status: anyOf: - $ref: '#/components/schemas/StepStatus' - type: 'null' description: 'Step status: pending, success, or failed' default: pending additionalProperties: false type: object required: - id title: Step ToolCallContent: properties: type: type: string const: tool_call title: Type description: Indicates this content represents a tool call event. default: tool_call id: type: string title: Id description: A unique identifier for this specific tool call instance. name: type: string title: Name description: The name of the tool being called. input: additionalProperties: true type: object title: Input description: The parameters being passed to the tool, structured as a dictionary of parameter names to values. signature: anyOf: - type: string - type: 'null' title: Signature description: Stores a unique identifier for any reasoning associated with this tool call. type: object required: - id - name - input title: ToolCallContent ToolReturnMessage: 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_return_message title: Message Type description: The type of the message. default: tool_return_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 — 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_return: type: string title: Tool Return deprecated: true status: type: string enum: - success - error title: Status deprecated: true tool_call_id: type: string title: Tool Call Id deprecated: true stdout: anyOf: - items: type: string type: array - type: 'null' title: Stdout deprecated: true stderr: anyOf: - items: type: string type: array - type: 'null' title: Stderr deprecated: true tool_returns: anyOf: - items: $ref: '#/components/schemas/letta__schemas__letta_message__ToolReturn' type: array - type: 'null' title: Tool Returns type: object required: - id - date - tool_return - status - tool_call_id title: ToolReturnMessage description: "A message representing the return value of a tool call (generated by Letta executing the requested tool).\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_return (str): The return value of the tool (deprecated, use tool_returns)\n status (Literal[\"success\", \"error\"]): The status of the tool call (deprecated, use tool_returns)\n tool_call_id (str): A unique identifier for the tool call that generated this message (deprecated, use tool_returns)\n stdout (Optional[List(str)]): Captured stdout (e.g. prints, logs) from the tool invocation (deprecated, use tool_returns)\n stderr (Optional[List(str)]): Captured stderr from the tool invocation (deprecated, use tool_returns)\n tool_returns (Optional[List[ToolReturn]]): List of tool returns for multi-tool support" OmittedReasoningContent: properties: type: type: string const: omitted_reasoning title: Type description: Indicates this is an omitted reasoning step. default: omitted_reasoning signature: anyOf: - type: string - type: 'null' title: Signature description: A unique identifier for this reasoning step. type: object title: OmittedReasoningContent description: A placeholder for reasoning content we know is present, but isn't returned by the provider (e.g. OpenAI GPT-5 on ChatCompletions) 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 — 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 title: ToolCallMessage 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" ApprovalResponseMessage: 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: approval_response_message title: Message Type description: The type of the message. default: approval_response_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 — 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 approvals: anyOf: - items: oneOf: - $ref: '#/components/schemas/ApprovalReturn' - $ref: '#/components/schemas/letta__schemas__letta_message__ToolReturn' discriminator: propertyName: type mapping: approval: '#/components/schemas/ApprovalReturn' tool: '#/components/schemas/letta__schemas__letta_message__ToolReturn' type: array - type: 'null' title: Approvals description: The list of approval responses approve: anyOf: - type: boolean - type: 'null' title: Approve description: Whether the tool has been approved deprecated: true approval_request_id: anyOf: - type: string - type: 'null' title: Approval Request Id description: The message ID of the approval request deprecated: true reason: anyOf: - type: string - type: 'null' title: Reason description: An optional explanation for the provided approval status deprecated: true type: object required: - id - date title: ApprovalResponseMessage description: "A message representing a response form the user indicating whether a tool has been approved to run.\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 approve: (bool) Whether the tool has been approved\n approval_request_id: The ID of the approval request\n reason: (Optional[str]) An optional explanation for the provided approval status" LettaToolReturnContentUnion: oneOf: - $ref: '#/components/schemas/TextContent' - $ref: '#/components/schemas/ImageContent' discriminator: propertyName: type mapping: text: '#/components/schemas/TextContent' image: '#/components/schemas/ImageContent' ReasoningMessage: 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: reasoning_message title: Message Type description: The type of the message. default: reasoning_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 — 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 source: type: string enum: - reasoner_model - non_reasoner_model title: Source default: non_reasoner_model reasoning: type: string title: Reasoning signature: anyOf: - type: string - type: 'null' title: Signature type: object required: - id - date - reasoning title: ReasoningMessage description: "Representation of an agent's internal reasoning.\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 source (Literal[\"reasoner_model\", \"non_reasoner_model\"]): Whether the reasoning\n content was generated natively by a reasoner model or derived via prompting\n reasoning (str): The internal reasoning of the agent\n signature (Optional[str]): The model-generated signature of the reasoning step" RedactedReasoningContent: properties: type: type: string const: redacted_reasoning title: Type description: Indicates this is a redacted thinking step. default: redacted_reasoning data: type: string title: Data description: The redacted or filtered intermediate reasoning content. type: object required: - data title: RedactedReasoningContent description: Sent via the Anthropic Messages API Base64Image: properties: type: type: string const: base64 title: Type description: The source type for the image. default: base64 media_type: type: string title: Media Type description: The media type for the image. data: type: string title: Data description: The base64 encoded image data. detail: anyOf: - type: string - type: 'null' title: Detail description: What level of detail to use when processing and understanding the image (low, high, or auto to let the model decide) type: object required: - media_type - data title: Base64Image SummaryMessage: 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: summary_message title: Message Type default: summary_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 — 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 summary: type: string title: Summary compaction_stats: anyOf: - $ref: '#/components/schemas/CompactionStats' - type: 'null' type: object required: - id - date - summary title: SummaryMessage description: A message representing a summary of the conversation. Sent to the LLM as a user or system message depending on the provider. letta__schemas__message__ToolReturn-Output: properties: tool_call_id: anyOf: - {} - type: 'null' title: Tool Call Id description: The ID for the tool call status: type: string enum: - success - error title: Status description: The status of the tool call stdout: anyOf: - items: type: string type: array - type: 'null' title: Stdout description: Captured stdout (e.g. prints, logs) from the tool invocation stderr: anyOf: - items: type: string type: array - type: 'null' title: Stderr description: Captured stderr from the tool invocation func_response: anyOf: - type: string - items: oneOf: - $ref: '#/components/schemas/TextContent' - $ref: '#/components/schemas/ImageContent' discriminator: propertyName: type mapping: image: '#/components/schemas/ImageContent' text: '#/components/schemas/TextContent' type: array - type: 'null' title: Func Response description: The function response - either a string or list of content parts (text/image) type: object required: - status title: ToolReturn ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type type: object required: - loc - msg - type title: ValidationError ApprovalRequestMessage: 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: approval_request_message title: Message Type description: The type of the message. default: approval_request_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 — 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 description: The tool call that has been requested by the llm to run deprecated: true tool_calls: anyOf: - items: $ref: '#/components/schemas/ToolCall' type: array - $ref: '#/components/schemas/ToolCallDelta' - type: 'null' title: Tool Calls description: The tool calls that have been requested by the llm to run, which are pending approval type: object required: - id - date - tool_call title: ApprovalRequestMessage description: "A message representing a request for approval 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 (ToolCall): The tool call" LettaImage: properties: type: type: string const: letta title: Type description: The source type for the image. default: letta file_id: type: string title: File Id description: The unique identifier of the image file persisted in storage. media_type: anyOf: - type: string - type: 'null' title: Media Type description: The media type for the image. data: anyOf: - type: string - type: 'null' title: Data description: The base64 encoded image data. detail: anyOf: - type: string - type: 'null' title: Detail description: What level of detail to use when processing and understanding the image (low, high, or auto to let the model decide) type: object required: - file_id title: LettaImage Function-Output: properties: arguments: type: string title: Arguments name: type: string title: Name additionalProperties: true type: object required: - arguments - name title: Function description: The function that the model called. UrlImage: properties: type: type: string const: url title: Type description: The source type for the image. default: url url: type: string title: Url description: The URL of the image. type: object required: - url title: UrlImage ProviderTrace: properties: created_by_id: anyOf: - type: string - type: 'null' title: Created By Id description: The id of the user that made this object. last_updated_by_id: anyOf: - type: string - type: 'null' title: Last Updated By Id description: The id of the user that made this object. created_at: type: string format: date-time title: Created At description: The timestamp when the object was created. updated_at: anyOf: - type: string format: date-time - type: 'null' title: Updated At description: The timestamp when the object was last updated. id: type: string pattern: ^provider_trace-[a-fA-F0-9]{8} title: Id description: The human-friendly ID of the Provider_trace examples: - provider_trace-123e4567-e89b-12d3-a456-426614174000 request_json: additionalProperties: true type: object title: Request Json description: JSON content of the provider request response_json: additionalProperties: true type: object title: Response Json description: JSON content of the provider response step_id: anyOf: - type: string - type: 'null' title: Step Id description: ID of the step that this trace is associated with agent_id: anyOf: - type: string - type: 'null' title: Agent Id description: ID of the agent that generated this trace agent_tags: anyOf: - items: type: string type: array - type: 'null' title: Agent Tags description: Tags associated with the agent for filtering call_type: anyOf: - type: string - type: 'null' title: Call Type description: Type of call (agent_step, summarization, etc.) run_id: anyOf: - type: string - type: 'null' title: Run Id description: ID of the run this trace is associated with source: anyOf: - type: string - type: 'null' title: Source description: Source service that generated this trace (memgpt-server, lettuce-py) org_id: anyOf: - type: string - type: 'null' title: Org Id description: ID of the organization compaction_settings: anyOf: - additionalProperties: true type: object - type: 'null' title: Compaction Settings description: Compaction/summarization settings (summarization calls only) llm_config: anyOf: - additionalProperties: true type: object - type: 'null' title: Llm Config description: LLM configuration used for this call (non-summarization calls only) billing_context: anyOf: - $ref: '#/components/schemas/BillingContext' - type: 'null' description: Billing context from request headers additionalProperties: false type: object required: - request_json - response_json title: ProviderTrace description: "Letta's internal representation of a provider trace.\n\nAttributes:\n id (str): The unique identifier of the provider trace.\n request_json (Dict[str, Any]): JSON content of the provider request.\n response_json (Dict[str, Any]): JSON content of the provider response.\n step_id (str): ID of the step that this trace is associated with.\n agent_id (str): ID of the agent that generated this trace.\n agent_tags (list[str]): Tags associated with the agent for filtering.\n call_type (str): Type of call (agent_step, summarization, etc.).\n run_id (str): ID of the run this trace is associated with.\n source (str): Source service that generated this trace (memgpt-server, lettuce-py).\n organization_id (str): The unique identifier of the organization.\n user_id (str): The unique identifier of the user who initiated the request.\n compaction_settings (Dict[str, Any]): Compaction/summarization settings (only for summarization calls).\n llm_config (Dict[str, Any]): LLM configuration used for this call (only for non-summarization calls).\n created_at (datetime): The timestamp when the object was created." LettaAssistantMessageContentUnion: oneOf: - $ref: '#/components/schemas/TextContent' discriminator: propertyName: type mapping: text: '#/components/schemas/TextContent' ModifyFeedbackRequest: properties: feedback: anyOf: - $ref: '#/components/schemas/FeedbackType' - type: 'null' description: Whether this feedback is positive or negative tags: anyOf: - items: type: string type: array - type: 'null' title: Tags description: Feedback tags to add to the step type: object title: ModifyFeedbackRequest SummarizedReasoningContent: properties: type: type: string const: summarized_reasoning title: Type description: Indicates this is a summarized reasoning step. default: summarized_reasoning id: type: string title: Id description: The unique identifier for this reasoning step. summary: items: $ref: '#/components/schemas/SummarizedReasoningContentPart' type: array title: Summary description: Summaries of the reasoning content. encrypted_content: type: string title: Encrypted Content description: The encrypted reasoning content. type: object required: - id - summary title: SummarizedReasoningContent description: The style of reasoning content returned by the OpenAI Responses API ReasoningContent: properties: type: type: string const: reasoning title: Type description: Indicates this is a reasoning/intermediate step. default: reasoning is_native: type: boolean title: Is Native description: Whether the reasoning content was generated by a reasoner model that processed this step. reasoning: type: string title: Reasoning description: The intermediate reasoning or thought process content. signature: anyOf: - type: string - type: 'null' title: Signature description: A unique identifier for this reasoning step. type: object required: - is_native - reasoning title: ReasoningContent description: Sent via the Anthropic Messages API FeedbackType: type: string enum: - positive - negative title: FeedbackType StepMetrics: properties: id: type: string title: Id description: The id of the step this metric belongs to (matches steps.id). provider_id: anyOf: - type: string - type: 'null' title: Provider Id description: The unique identifier of the provider. run_id: anyOf: - type: string - type: 'null' title: Run Id description: The unique identifier of the run. agent_id: anyOf: - type: string - type: 'null' title: Agent Id description: The unique identifier of the agent. step_start_ns: anyOf: - type: integer - type: 'null' title: Step Start Ns description: The timestamp of the start of the step in nanoseconds. llm_request_start_ns: anyOf: - type: integer - type: 'null' title: Llm Request Start Ns description: The timestamp of the start of the llm request in nanoseconds. llm_request_ns: anyOf: - type: integer - type: 'null' title: Llm Request Ns description: Time spent on LLM requests in nanoseconds. tool_execution_ns: anyOf: - type: integer - type: 'null' title: Tool Execution Ns description: Time spent on tool execution in nanoseconds. step_ns: anyOf: - type: integer - type: 'null' title: Step Ns description: Total time for the step in nanoseconds. base_template_id: anyOf: - type: string - type: 'null' title: Base Template Id description: The base template ID that the step belongs to (cloud only). template_id: anyOf: - type: string - type: 'null' title: Template Id description: The template ID that the step belongs to (cloud only). project_id: anyOf: - type: string - type: 'null' title: Project Id description: The project that the step belongs to (cloud only). additionalProperties: false type: object required: - id title: StepMetrics ToolCall: properties: name: type: string title: Name arguments: type: string title: Arguments tool_call_id: type: string title: Tool Call Id type: object required: - name - arguments - tool_call_id title: ToolCall ChatCompletionMessageFunctionToolCall-Output: properties: id: type: string title: Id function: $ref: '#/components/schemas/Function-Output' type: type: string const: function title: Type additionalProperties: true type: object required: - id - function - type title: ChatCompletionMessageFunctionToolCall description: A call to a function tool created by the model. 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 — 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 title: UserMessage 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)" SummarizedReasoningContentPart: properties: index: type: integer title: Index description: The index of the summary part. text: type: string title: Text description: The text of the summary part. type: object required: - index - text title: SummarizedReasoningContentPart securitySchemes: bearerAuth: type: http scheme: bearer