Letta · Schema
AgentState
Representation of an agent's state. This is the state of the agent at a given time, and is persisted in the DB backend. The state has all the information needed to recreate a persisted agent.
AIAgentsStateful AgentsMemoryMemGPTContinual LearningMCPMulti-AgentRAGOpen Source
Properties
| Name | Type | Description |
|---|---|---|
| created_by_id | object | The id of the user that made this object. |
| last_updated_by_id | object | The id of the user that made this object. |
| created_at | object | The timestamp when the object was created. |
| updated_at | object | The timestamp when the object was last updated. |
| id | string | The id of the agent. Assigned by the database. |
| name | string | The name of the agent. |
| tool_rules | object | The list of tool rules. |
| message_ids | object | The ids of the messages in the agent's in-context memory. |
| system | string | The system prompt used by the agent. |
| agent_type | object | |
| llm_config | object | |
| embedding_config | object | Deprecated: Use `embedding` field instead. The embedding configuration used by the agent. |
| model | object | The model handle used by the agent (format: provider/model-name). |
| embedding | object | The embedding model handle used by the agent (format: provider/model-name). |
| model_settings | object | The model settings used by the agent. |
| compaction_settings | object | The compaction settings configuration used for compaction. |
| response_format | object | The response format used by the agent |
| description | object | The description of the agent. |
| metadata | object | The metadata of the agent. |
| memory | object | |
| blocks | array | The memory blocks used by the agent. |
| tools | array | The tools used by the agent. |
| sources | array | Deprecated: Use `folders` field instead. The sources used by the agent. |
| tags | array | The tags associated with the agent. |
| tool_exec_environment_variables | array | Deprecated: use `secrets` field instead. |
| secrets | array | The environment variables for tool execution specific to this agent. |
| project_id | object | The id of the project the agent belongs to. |
| template_id | object | The id of the template the agent belongs to. |
| base_template_id | object | The base template id of the agent. |
| deployment_id | object | The id of the deployment. |
| entity_id | object | The id of the entity within the template. |
| identity_ids | array | Deprecated: Use `identities` field instead. The ids of the identities associated with this agent. |
| identities | array | The identities associated with this agent. |
| pending_approval | object | The latest approval request message pending for this agent, if any. |
| message_buffer_autoclear | boolean | If set to True, the agent will not remember previous messages (though the agent will still retain state via core memory blocks and archival/recall memory). Not recommended unless you have an advanced |
| enable_sleeptime | object | If set to True, memory management will move to a background agent thread. |
| multi_agent_group | object | Deprecated: Use `managed_group` field instead. The multi-agent group that this agent manages. |
| managed_group | object | The multi-agent group that this agent manages |
| last_run_completion | object | The timestamp when the agent last completed a run. |
| last_run_duration_ms | object | The duration in milliseconds of the agent's last run. |
| last_stop_reason | object | The stop reason from the agent's last run. |
| timezone | object | The timezone of the agent (IANA format). |
| max_files_open | object | Maximum number of files that can be open at once for this agent. Setting this too high may exceed the context window, which will break the agent. |
| per_file_view_window_char_limit | object | The per-file view window character limit for this agent. Setting this too high may exceed the context window, which will break the agent. |
| hidden | object | If set to True, the agent will be hidden. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/letta/main/json-schema/letta-agent-schema.json",
"title": "AgentState",
"description": "Representation of an agent's state. This is the state of the agent at a given time, and is persisted in the DB backend. The state has all the information needed to recreate a persisted agent.",
"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": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"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",
"title": "Id",
"description": "The id of the agent. Assigned by the database."
},
"name": {
"type": "string",
"title": "Name",
"description": "The name of the agent."
},
"tool_rules": {
"anyOf": [
{
"items": {
"oneOf": [
{
"$ref": "#/$defs/ChildToolRule"
},
{
"$ref": "#/$defs/InitToolRule"
},
{
"$ref": "#/$defs/TerminalToolRule"
},
{
"$ref": "#/$defs/ConditionalToolRule"
},
{
"$ref": "#/$defs/ContinueToolRule"
},
{
"$ref": "#/$defs/RequiredBeforeExitToolRule"
},
{
"$ref": "#/$defs/MaxCountPerStepToolRule"
},
{
"$ref": "#/$defs/ParentToolRule"
},
{
"$ref": "#/$defs/RequiresApprovalToolRule"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"conditional": "#/components/schemas/ConditionalToolRule",
"constrain_child_tools": "#/components/schemas/ChildToolRule",
"continue_loop": "#/components/schemas/ContinueToolRule",
"exit_loop": "#/components/schemas/TerminalToolRule",
"max_count_per_step": "#/components/schemas/MaxCountPerStepToolRule",
"parent_last_tool": "#/components/schemas/ParentToolRule",
"required_before_exit": "#/components/schemas/RequiredBeforeExitToolRule",
"requires_approval": "#/components/schemas/RequiresApprovalToolRule",
"run_first": "#/components/schemas/InitToolRule"
}
}
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tool Rules",
"description": "The list of tool rules."
},
"message_ids": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Message Ids",
"description": "The ids of the messages in the agent's in-context memory."
},
"system": {
"type": "string",
"title": "System",
"description": "The system prompt used by the agent."
},
"agent_type": {
"$ref": "#/$defs/AgentType"
},
"llm_config": {
"$ref": "#/$defs/LLMConfig"
},
"embedding_config": {
"anyOf": [
{
"$ref": "#/$defs/EmbeddingConfig"
},
{
"type": "null"
}
],
"description": "Deprecated: Use `embedding` field instead. The embedding configuration used by the agent.",
"deprecated": true
},
"model": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Model",
"description": "The model handle used by the agent (format: provider/model-name)."
},
"embedding": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Embedding",
"description": "The embedding model handle used by the agent (format: provider/model-name)."
},
"model_settings": {
"anyOf": [
{
"oneOf": [
{
"$ref": "#/$defs/OpenAIModelSettings"
},
{
"$ref": "#/$defs/SGLangModelSettings"
},
{
"$ref": "#/$defs/AnthropicModelSettings"
},
{
"$ref": "#/$defs/GoogleAIModelSettings"
},
{
"$ref": "#/$defs/GoogleVertexModelSettings"
},
{
"$ref": "#/$defs/AzureModelSettings"
},
{
"$ref": "#/$defs/XAIModelSettings"
},
{
"$ref": "#/$defs/ZAIModelSettings"
},
{
"$ref": "#/$defs/GroqModelSettings"
},
{
"$ref": "#/$defs/DeepseekModelSettings"
},
{
"$ref": "#/$defs/TogetherModelSettings"
},
{
"$ref": "#/$defs/BedrockModelSettings"
},
{
"$ref": "#/$defs/BasetenModelSettings"
},
{
"$ref": "#/$defs/OpenRouterModelSettings"
},
{
"$ref": "#/$defs/ChatGPTOAuthModelSettings"
}
],
"discriminator": {
"propertyName": "provider_type",
"mapping": {
"anthropic": "#/components/schemas/AnthropicModelSettings",
"azure": "#/components/schemas/AzureModelSettings",
"baseten": "#/components/schemas/BasetenModelSettings",
"bedrock": "#/components/schemas/BedrockModelSettings",
"chatgpt_oauth": "#/components/schemas/ChatGPTOAuthModelSettings",
"deepseek": "#/components/schemas/DeepseekModelSettings",
"google_ai": "#/components/schemas/GoogleAIModelSettings",
"google_vertex": "#/components/schemas/GoogleVertexModelSettings",
"groq": "#/components/schemas/GroqModelSettings",
"openai": "#/components/schemas/OpenAIModelSettings",
"openrouter": "#/components/schemas/OpenRouterModelSettings",
"sglang": "#/components/schemas/SGLangModelSettings",
"together": "#/components/schemas/TogetherModelSettings",
"xai": "#/components/schemas/XAIModelSettings",
"zai": "#/components/schemas/ZAIModelSettings"
}
}
},
{
"type": "null"
}
],
"title": "Model Settings",
"description": "The model settings used by the agent."
},
"compaction_settings": {
"anyOf": [
{
"$ref": "#/$defs/CompactionSettings-Output"
},
{
"type": "null"
}
],
"description": "The compaction settings configuration used for compaction."
},
"response_format": {
"anyOf": [
{
"oneOf": [
{
"$ref": "#/$defs/TextResponseFormat"
},
{
"$ref": "#/$defs/JsonSchemaResponseFormat"
},
{
"$ref": "#/$defs/JsonObjectResponseFormat"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"json_object": "#/components/schemas/JsonObjectResponseFormat",
"json_schema": "#/components/schemas/JsonSchemaResponseFormat",
"text": "#/components/schemas/TextResponseFormat"
}
}
},
{
"type": "null"
}
],
"title": "Response Format",
"description": "The response format used by the agent"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description",
"description": "The description of the agent."
},
"metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Metadata",
"description": "The metadata of the agent."
},
"memory": {
"$ref": "#/$defs/Memory"
},
"blocks": {
"items": {
"$ref": "#/$defs/Block"
},
"type": "array",
"title": "Blocks",
"description": "The memory blocks used by the agent."
},
"tools": {
"items": {
"$ref": "#/$defs/Tool"
},
"type": "array",
"title": "Tools",
"description": "The tools used by the agent."
},
"sources": {
"items": {
"$ref": "#/$defs/Source"
},
"type": "array",
"title": "Sources",
"description": "Deprecated: Use `folders` field instead. The sources used by the agent.",
"deprecated": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags",
"description": "The tags associated with the agent."
},
"tool_exec_environment_variables": {
"items": {
"$ref": "#/$defs/AgentEnvironmentVariable"
},
"type": "array",
"title": "Tool Exec Environment Variables",
"description": "Deprecated: use `secrets` field instead.",
"deprecated": true
},
"secrets": {
"items": {
"$ref": "#/$defs/AgentEnvironmentVariable"
},
"type": "array",
"title": "Secrets",
"description": "The environment variables for tool execution specific to this agent."
},
"project_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Project Id",
"description": "The id of the project the agent belongs to."
},
"template_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Template Id",
"description": "The id of the template the agent belongs to."
},
"base_template_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Base Template Id",
"description": "The base template id of the agent."
},
"deployment_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deployment Id",
"description": "The id of the deployment."
},
"entity_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Entity Id",
"description": "The id of the entity within the template."
},
"identity_ids": {
"items": {
"type": "string"
},
"type": "array",
"title": "Identity Ids",
"description": "Deprecated: Use `identities` field instead. The ids of the identities associated with this agent.",
"default": [],
"deprecated": true
},
"identities": {
"items": {
"$ref": "#/$defs/Identity"
},
"type": "array",
"title": "Identities",
"description": "The identities associated with this agent.",
"default": []
},
"pending_approval": {
"anyOf": [
{
"$ref": "#/$defs/ApprovalRequestMessage"
},
{
"type": "null"
}
],
"description": "The latest approval request message pending for this agent, if any."
},
"message_buffer_autoclear": {
"type": "boolean",
"title": "Message Buffer Autoclear",
"description": "If set to True, the agent will not remember previous messages (though the agent will still retain state via core memory blocks and archival/recall memory). Not recommended unless you have an advanced use case.",
"default": false
},
"enable_sleeptime": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Enable Sleeptime",
"description": "If set to True, memory management will move to a background agent thread."
},
"multi_agent_group": {
"anyOf": [
{
"$ref": "#/$defs/Group"
},
{
"type": "null"
}
],
"description": "Deprecated: Use `managed_group` field instead. The multi-agent group that this agent manages.",
"deprecated": true
},
"managed_group": {
"anyOf": [
{
"$ref": "#/$defs/Group"
},
{
"type": "null"
}
],
"description": "The multi-agent group that this agent manages"
},
"last_run_completion": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Last Run Completion",
"description": "The timestamp when the agent last completed a run."
},
"last_run_duration_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Last Run Duration Ms",
"description": "The duration in milliseconds of the agent's last run."
},
"last_stop_reason": {
"anyOf": [
{
"$ref": "#/$defs/StopReasonType"
},
{
"type": "null"
}
],
"description": "The stop reason from the agent's last run."
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Timezone",
"description": "The timezone of the agent (IANA format)."
},
"max_files_open": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Files Open",
"description": "Maximum number of files that can be open at once for this agent. Setting this too high may exceed the context window, which will break the agent."
},
"per_file_view_window_char_limit": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Per File View Window Char Limit",
"description": "The per-file view window character limit for this agent. Setting this too high may exceed the context window, which will break the agent."
},
"hidden": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Hidden",
"description": "If set to True, the agent will be hidden."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"id",
"name",
"system",
"agent_type",
"llm_config",
"memory",
"blocks",
"tools",
"sources",
"tags"
],
"$defs": {
"ChildToolRule": {
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"description": "The name of the tool. Must exist in the database for the user's organization."
},
"type": {
"type": "string",
"const": "constrain_child_tools",
"title": "Type",
"default": "constrain_child_tools"
},
"prompt_template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Template",
"description": "Optional template string (ignored)."
},
"children": {
"items": {
"type": "string"
},
"type": "array",
"title": "Children",
"description": "The children tools that can be invoked."
},
"child_arg_nodes": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/ToolCallNode"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Child Arg Nodes",
"description": "Optional list of typed child argument overrides. Each node must reference a child in 'children'."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tool_name",
"children"
],
"title": "ChildToolRule",
"description": "A ToolRule represents a tool that can be invoked by the agent."
},
"ToolCallNode": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "The name of the child tool to invoke next."
},
"args": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Args",
"description": "Optional prefilled arguments for this child tool. Keys must match the tool's parameter names and values must satisfy the tool's JSON schema. Supports partial prefill; non-overlapping parameters are left to the model."
}
},
"type": "object",
"required": [
"name"
],
"title": "ToolCallNode",
"description": "Typed child override for prefilled arguments.\n\nWhen used in a ChildToolRule, if this child is selected next, its `args` will be\napplied as prefilled arguments (overriding overlapping LLM-provided values)."
},
"InitToolRule": {
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"description": "The name of the tool. Must exist in the database for the user's organization."
},
"type": {
"type": "string",
"const": "run_first",
"title": "Type",
"default": "run_first"
},
"prompt_template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Template",
"description": "Optional template string (ignored). Rendering uses fast built-in formatting for performance."
},
"args": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Args",
"description": "Optional prefilled arguments for this tool. When present, these values will override any LLM-provided arguments with the same keys during invocation. Keys must match the tool's parameter names and values must satisfy the tool's JSON schema. Supports partial prefill; non-overlapping parameters are left to the model."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tool_name"
],
"title": "InitToolRule",
"description": "Represents the initial tool rule configuration."
},
"TerminalToolRule": {
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"description": "The name of the tool. Must exist in the database for the user's organization."
},
"type": {
"type": "string",
"const": "exit_loop",
"title": "Type",
"default": "exit_loop"
},
"prompt_template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Template",
"description": "Optional template string (ignored)."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tool_name"
],
"title": "TerminalToolRule",
"description": "Represents a terminal tool rule configuration where if this tool gets called, it must end the agent loop."
},
"ConditionalToolRule": {
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"description": "The name of the tool. Must exist in the database for the user's organization."
},
"type": {
"type": "string",
"const": "conditional",
"title": "Type",
"default": "conditional"
},
"prompt_template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Template",
"description": "Optional template string (ignored)."
},
"default_child": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Default Child",
"description": "The default child tool to be called. If None, any tool can be called."
},
"child_output_mapping": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Child Output Mapping",
"description": "The output case to check for mapping"
},
"require_output_mapping": {
"type": "boolean",
"title": "Require Output Mapping",
"description": "Whether to throw an error when output doesn't match any case",
"default": false
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tool_name",
"child_output_mapping"
],
"title": "ConditionalToolRule",
"description": "A ToolRule that conditionally maps to different child tools based on the output."
},
"ContinueToolRule": {
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"description": "The name of the tool. Must exist in the database for the user's organization."
},
"type": {
"type": "string",
"const": "continue_loop",
"title": "Type",
"default": "continue_loop"
},
"prompt_template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Template",
"description": "Optional template string (ignored)."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tool_name"
],
"title": "ContinueToolRule",
"description": "Represents a tool rule configuration where if this tool gets called, it must continue the agent loop."
},
"RequiredBeforeExitToolRule": {
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"description": "The name of the tool. Must exist in the database for the user's organization."
},
"type": {
"type": "string",
"const": "required_before_exit",
"title": "Type",
"default": "required_before_exit"
},
"prompt_template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Template",
"description": "Optional template string (ignored)."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tool_name"
],
"title": "RequiredBeforeExitToolRule",
"description": "Represents a tool rule configuration where this tool must be called before the agent loop can exit."
},
"MaxCountPerStepToolRule": {
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"description": "The name of the tool. Must exist in the database for the user's organization."
},
"type": {
"type": "string",
"const": "max_count_per_step",
"title": "Type",
"default": "max_count_per_step"
},
"prompt_template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Template",
"description": "Optional template string (ignored)."
},
"max_count_limit": {
"type": "integer",
"title": "Max Count Limit",
"description": "The max limit for the total number of times this tool can be invoked in a single step."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tool_name",
"max_count_limit"
],
"title": "MaxCountPerStepToolRule",
"description": "Represents a tool rule configuration which constrains the total number of times this tool can be invoked in a single step."
},
"ParentToolRule": {
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"description": "The name of the tool. Must exist in the database for the user's organization."
},
"type": {
"type": "string",
"const": "parent_last_tool",
"title": "Type",
"default": "parent_last_tool"
},
"prompt_template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Template",
"description": "Optional template string (ignored)."
},
"children": {
"items": {
"type": "string"
},
"type": "array",
"title": "Children",
"description": "The children tools that can be invoked."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tool_name",
"children"
],
"title": "ParentToolRule",
"description": "A ToolRule that only allows a child tool to be called if the parent has been called."
},
"RequiresApprovalToolRule": {
"properties": {
"tool_name": {
"type": "string",
"title": "Tool Name",
"description": "The name of the tool. Must exist in the database for the user's organization."
},
"type": {
"type": "string",
"const": "requires_approval",
"title": "Type",
"default": "requires_approval"
},
"prompt_template": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Prompt Template",
"description": "Optional template string (ignored). Rendering uses fast built-in formatting for performance."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"tool_name"
],
"title": "RequiresApprovalToolRule",
"description": "Represents a tool rule configuration which requires approval before the tool can be invoked."
},
"AgentType": {
"type": "string",
"enum": [
"memgpt_agent",
"memgpt_v2_agent",
"letta_v1_agent",
"react_agent",
"workflow_agent",
"split_thread_agent",
"sleeptime_agent",
"voice_convo_agent",
"voice_sleeptime_agent"
],
"title": "AgentType",
"description": "Enum to represent the type of agent."
},
"LLMConfig": {
"properties": {
"model": {
"type": "string",
"title": "Model",
"description": "LLM model name. "
},
"display_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Display Name",
"description": "A human-friendly display name for the model."
},
"model_endpoint_type": {
"type": "string",
"enum": [
"openai",
"anthropic",
"google_ai",
"google_vertex",
"azure",
"groq",
"ollama",
"webui",
"webui-legacy",
"lmstudio",
"lmstudio-legacy",
"lmstudio-chatcompletions",
"llamacpp",
"koboldcpp",
"vllm",
"hugging-face",
"minimax",
"mistral",
"together",
"bedrock",
"deepseek",
"xai",
"zai",
"zai_coding",
"baseten",
"fireworks",
"openrouter",
"chatgpt_oauth"
],
"title": "Model Endpoint Type",
"description": "The endpoint type for the model."
},
"model_endpoint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Model Endpoint",
"description": "The endpoint for the model."
},
"provider_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Provider Name",
"description": "The provider name for the model."
},
"provider_category": {
"anyOf": [
{
"$ref": "#/$defs/ProviderCategory"
},
{
"type": "null"
}
],
"description": "The provider category for the model."
},
"model_wrapper": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Model Wrapper",
"description": "The wrapper for the model."
},
"context_window": {
"type": "integer",
"title": "Context Window",
"description": "The context window size for the model."
},
"put_inner_thoughts_in_kwargs": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Put Inner Thoughts In Kwargs",
"description": "Puts 'inner_thoughts' as a kwarg in the function call if this is set to True. This helps with function calling performance and also the generation of inner thoughts.",
"default": false
},
"handle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Handle",
"description": "The handle for this config, in the format provider/model-name."
},
"temperature": {
"type": "number",
"title": "Temperature",
"description": "The temperature to use when generating text with the model. A higher temperature will result in more random text.",
"default": 1
},
"max_tokens": {
# --- truncated at 32 KB (121 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/json-schema/letta-agent-schema.json