{ "$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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Tokens", "description": "The maximum number of tokens to generate. If not set, the model will use its default value." }, "enable_reasoner": { "type": "boolean", "title": "Enable Reasoner", "description": "Whether or not the model should use extended thinking if it is a 'reasoning' style model", "default": true }, "reasoning_effort": { "anyOf": [ { "type": "string", "enum": [ "none", "minimal", "low", "medium", "high", "xhigh" ] }, { "type": "null" } ], "title": "Reasoning Effort", "description": "The reasoning effort to use when generating text reasoning models" }, "max_reasoning_tokens": { "type": "integer", "title": "Max Reasoning Tokens", "description": "Configurable thinking budget for extended thinking. Used for enable_reasoner and also for Google Vertex models like Gemini 2.5 Flash. Minimum value is 1024 when used with enable_reasoner.", "default": 0 }, "effort": { "anyOf": [ { "type": "string", "enum": [ "low", "medium", "high", "max" ] }, { "type": "null" } ], "title": "Effort", "description": "The effort level for Anthropic models that support it (Opus 4.5, Opus 4.6). Controls token spending and thinking behavior. Not setting this gives similar performance to 'high'." }, "frequency_penalty": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Frequency Penalty", "description": "Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. From OpenAI: Number between -2.0 and 2.0." }, "compatibility_type": { "anyOf": [ { "type": "string", "enum": [ "gguf", "mlx" ] }, { "type": "null" } ], "title": "Compatibility Type", "description": "The framework compatibility type for the model." }, "verbosity": { "anyOf": [ { "type": "string", "enum": [ "low", "medium", "high" ] }, { "type": "null" } ], "title": "Verbosity", "description": "Soft control for how verbose model output should be, used for GPT-5 models." }, "tier": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tier", "description": "The cost tier for the model (cloud only)." }, "parallel_tool_calls": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Parallel Tool Calls", "description": "Deprecated: Use model_settings to configure parallel tool calls instead. If set to True, enables parallel tool calling. Defaults to False.", "default": false, "deprecated": true }, "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 for the model's output. Supports text, json_object, and json_schema (structured outputs). Can be set via model_settings." }, "strict": { "type": "boolean", "title": "Strict", "description": "Enable strict mode for tool calling. When true, tool schemas include strict: true and additionalProperties: false, guaranteeing tool outputs match JSON schemas.", "default": false }, "return_logprobs": { "type": "boolean", "title": "Return Logprobs", "description": "Whether to return log probabilities of the output tokens. Useful for RL training.", "default": false }, "top_logprobs": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Top Logprobs", "description": "Number of most likely tokens to return at each position (0-20). Requires return_logprobs=True." }, "return_token_ids": { "type": "boolean", "title": "Return Token Ids", "description": "Whether to return token IDs for all LLM generations via SGLang native endpoint. Required for multi-turn RL training with loss masking. Only works with SGLang provider.", "default": false }, "tool_call_parser": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tool Call Parser", "description": "SGLang tool call parser name (e.g. 'glm47', 'qwen25', 'hermes'). Used by the SGLang native adapter to parse tool calls from raw model output." } }, "type": "object", "required": [ "model", "model_endpoint_type", "context_window" ], "title": "LLMConfig", "description": "Configuration for Language Model (LLM) connection and generation parameters.\n\n.. deprecated::\n LLMConfig is deprecated and should not be used as an input or return type in API calls.\n Use the schemas in letta.schemas.model (ModelSettings, OpenAIModelSettings, etc.) instead.\n For conversion, use the _to_model() method or Model._from_llm_config() method." }, "ProviderCategory": { "type": "string", "enum": [ "base", "byok" ], "title": "ProviderCategory" }, "TextResponseFormat": { "properties": { "type": { "type": "string", "const": "text", "title": "Type", "description": "The type of the response format.", "default": "text" } }, "type": "object", "title": "TextResponseFormat", "description": "Response format for plain text responses." }, "JsonSchemaResponseFormat": { "properties": { "type": { "type": "string", "const": "json_schema", "title": "Type", "description": "The type of the response format.", "default": "json_schema" }, "json_schema": { "additionalProperties": true, "type": "object", "title": "Json Schema", "description": "The JSON schema of the response." } }, "type": "object", "required": [ "json_schema" ], "title": "JsonSchemaResponseFormat", "description": "Response format for JSON schema-based responses." }, "JsonObjectResponseFormat": { "properties": { "type": { "type": "string", "const": "json_object", "title": "Type", "description": "The type of the response format.", "default": "json_object" } }, "type": "object", "title": "JsonObjectResponseFormat", "description": "Response format for JSON object responses." }, "EmbeddingConfig": { "properties": { "embedding_endpoint_type": { "type": "string", "enum": [ "openai", "anthropic", "bedrock", "google_ai", "google_vertex", "azure", "groq", "ollama", "webui", "webui-legacy", "lmstudio", "lmstudio-legacy", "llamacpp", "koboldcpp", "vllm", "hugging-face", "mistral", "together", "pinecone" ], "title": "Embedding Endpoint Type", "description": "The endpoint type for the model." }, "embedding_endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Embedding Endpoint", "description": "The endpoint for the model (`None` if local)." }, "embedding_model": { "type": "string", "title": "Embedding Model", "description": "The model for the embedding." }, "embedding_dim": { "type": "integer", "title": "Embedding Dim", "description": "The dimension of the embedding." }, "embedding_chunk_size": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Embedding Chunk Size", "description": "The chunk size of the embedding.", "default": 300 }, "handle": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Handle", "description": "The handle for this config, in the format provider/model-name." }, "batch_size": { "type": "integer", "title": "Batch Size", "description": "The maximum batch size for processing embeddings.", "default": 32 }, "azure_endpoint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Azure Endpoint", "description": "The Azure endpoint for the model." }, "azure_version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Azure Version", "description": "The Azure version for the model." }, "azure_deployment": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Azure Deployment", "description": "The Azure deployment for the model." } }, "type": "object", "required": [ "embedding_endpoint_type", "embedding_model", "embedding_dim" ], "title": "EmbeddingConfig", "description": "Configuration for embedding model connection and processing parameters." }, "OpenAIModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "openai", "title": "Provider Type", "description": "The type of the provider.", "default": "openai" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "reasoning": { "$ref": "#/$defs/OpenAIReasoning" }, "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 for the model." }, "strict": { "type": "boolean", "title": "Strict", "description": "Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.", "default": true } }, "type": "object", "title": "OpenAIModelSettings" }, "OpenAIReasoning": { "properties": { "reasoning_effort": { "type": "string", "enum": [ "none", "minimal", "low", "medium", "high", "xhigh" ], "title": "Reasoning Effort", "description": "The reasoning effort to use when generating text reasoning models", "default": "minimal" } }, "type": "object", "title": "OpenAIReasoning" }, "SGLangModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "sglang", "title": "Provider Type", "description": "The type of the provider.", "default": "sglang" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "reasoning": { "$ref": "#/$defs/OpenAIReasoning" }, "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 for the model." }, "strict": { "type": "boolean", "title": "Strict", "description": "Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.", "default": true }, "tool_call_parser": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tool Call Parser", "description": "SGLang tool call parser name (for example 'glm47', 'qwen25', or 'hermes')." } }, "type": "object", "title": "SGLangModelSettings", "description": "SGLang model configuration (OpenAI-compatible runtime with SGLang-specific parsing)." }, "AnthropicModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "anthropic", "title": "Provider Type", "description": "The type of the provider.", "default": "anthropic" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 1 }, "thinking": { "$ref": "#/$defs/AnthropicThinking" }, "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 for the model." }, "verbosity": { "anyOf": [ { "type": "string", "enum": [ "low", "medium", "high" ] }, { "type": "null" } ], "title": "Verbosity", "description": "Soft control for how verbose model output should be, used for GPT-5 models." }, "effort": { "anyOf": [ { "type": "string", "enum": [ "low", "medium", "high", "max" ] }, { "type": "null" } ], "title": "Effort", "description": "Effort level for supported Anthropic models (controls token spending). 'max' is only available on Opus 4.6. Not setting this gives similar performance to 'high'." }, "strict": { "type": "boolean", "title": "Strict", "description": "Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.", "default": false } }, "type": "object", "title": "AnthropicModelSettings" }, "AnthropicThinking": { "properties": { "type": { "type": "string", "enum": [ "enabled", "disabled" ], "title": "Type", "description": "The type of thinking to use.", "default": "enabled" }, "budget_tokens": { "type": "integer", "title": "Budget Tokens", "description": "The maximum number of tokens the model can use for extended thinking.", "default": 1024 } }, "type": "object", "title": "AnthropicThinking" }, "GoogleAIModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 65536 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "google_ai", "title": "Provider Type", "description": "The type of the provider.", "default": "google_ai" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "thinking_config": { "$ref": "#/$defs/GeminiThinkingConfig" }, "response_schema": { "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 Schema", "description": "The response schema for the model." } }, "type": "object", "title": "GoogleAIModelSettings" }, "GeminiThinkingConfig": { "properties": { "include_thoughts": { "type": "boolean", "title": "Include Thoughts", "description": "Whether to include thoughts in the model's response.", "default": true }, "thinking_budget": { "type": "integer", "title": "Thinking Budget", "description": "The thinking budget for the model.", "default": 1024 } }, "type": "object", "title": "GeminiThinkingConfig" }, "GoogleVertexModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 65536 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "google_vertex", "title": "Provider Type", "description": "The type of the provider.", "default": "google_vertex" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "thinking_config": { "$ref": "#/$defs/GeminiThinkingConfig" }, "response_schema": { "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 Schema", "description": "The response schema for the model." } }, "type": "object", "title": "GoogleVertexModelSettings" }, "AzureModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "azure", "title": "Provider Type", "description": "The type of the provider.", "default": "azure" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "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 for the model." } }, "type": "object", "title": "AzureModelSettings", "description": "Azure OpenAI model configuration (OpenAI-compatible)." }, "XAIModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "xai", "title": "Provider Type", "description": "The type of the provider.", "default": "xai" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "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 for the model." } }, "type": "object", "title": "XAIModelSettings", "description": "xAI model configuration (OpenAI-compatible)." }, "ZAIModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "zai", "title": "Provider Type", "description": "The type of the provider.", "default": "zai" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "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 for the model." }, "thinking": { "$ref": "#/$defs/ZAIThinking" } }, "type": "object", "title": "ZAIModelSettings", "description": "Z.ai (ZhipuAI) model configuration (OpenAI-compatible)." }, "ZAIThinking": { "properties": { "type": { "type": "string", "enum": [ "enabled", "disabled" ], "title": "Type", "description": "Whether thinking is enabled or disabled.", "default": "enabled" }, "clear_thinking": { "type": "boolean", "title": "Clear Thinking", "description": "If False, preserved thinking is used (recommended for agents).", "default": false } }, "type": "object", "title": "ZAIThinking", "description": "Thinking configuration for ZAI GLM-4.5+ models." }, "GroqModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "groq", "title": "Provider Type", "description": "The type of the provider.", "default": "groq" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "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 for the model." } }, "type": "object", "title": "GroqModelSettings", "description": "Groq model configuration (OpenAI-compatible)." }, "DeepseekModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "deepseek", "title": "Provider Type", "description": "The type of the provider.", "default": "deepseek" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "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 for the model." } }, "type": "object", "title": "DeepseekModelSettings", "description": "Deepseek model configuration (OpenAI-compatible)." }, "TogetherModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "together", "title": "Provider Type", "description": "The type of the provider.", "default": "together" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "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 for the model." } }, "type": "object", "title": "TogetherModelSettings", "description": "Together AI model configuration (OpenAI-compatible)." }, "BedrockModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "bedrock", "title": "Provider Type", "description": "The type of the provider.", "default": "bedrock" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "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 for the model." } }, "type": "object", "title": "BedrockModelSettings", "description": "AWS Bedrock model configuration." }, "BasetenModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "baseten", "title": "Provider Type", "description": "The type of the provider.", "default": "baseten" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 } }, "type": "object", "title": "BasetenModelSettings", "description": "Baseten model configuration (OpenAI-compatible)." }, "OpenRouterModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "openrouter", "title": "Provider Type", "description": "The type of the provider.", "default": "openrouter" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "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 for the model." } }, "type": "object", "title": "OpenRouterModelSettings", "description": "OpenRouter model configuration (OpenAI-compatible)." }, "ChatGPTOAuthModelSettings": { "properties": { "max_output_tokens": { "type": "integer", "title": "Max Output Tokens", "description": "The maximum number of tokens the model can generate.", "default": 4096 }, "parallel_tool_calls": { "type": "boolean", "title": "Parallel Tool Calls", "description": "Whether to enable parallel tool calling.", "default": true }, "provider_type": { "type": "string", "const": "chatgpt_oauth", "title": "Provider Type", "description": "The type of the provider.", "default": "chatgpt_oauth" }, "temperature": { "type": "number", "title": "Temperature", "description": "The temperature of the model.", "default": 0.7 }, "reasoning": { "$ref": "#/$defs/ChatGPTOAuthReasoning" } }, "type": "object", "title": "ChatGPTOAuthModelSettings", "description": "ChatGPT OAuth model configuration (uses ChatGPT backend API)." }, "ChatGPTOAuthReasoning": { "properties": { "reasoning_effort": { "type": "string", "enum": [ "none", "low", "medium", "high", "xhigh" ], "title": "Reasoning Effort", "description": "The reasoning effort level for GPT-5.x and o-series models.", "default": "medium" } }, "type": "object", "title": "ChatGPTOAuthReasoning", "description": "Reasoning configuration for ChatGPT OAuth models (GPT-5.x, o-series)." }, "CompactionSettings-Output": { "properties": { "model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Model", "description": "Model handle to use for sliding_window/all summarization (format: provider/model-name). If None, uses lightweight provider-specific defaults." }, "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": "Optional model settings used to override defaults for the summarizer model." }, "prompt": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Prompt", "description": "The prompt to use for summarization. If None, uses mode-specific default." }, "prompt_acknowledgement": { "type": "boolean", "title": "Prompt Acknowledgement", "description": "Whether to include an acknowledgement post-prompt (helps prevent non-summary outputs).", "default": false }, "clip_chars": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Clip Chars", "description": "The maximum length of the summary in characters. If none, no clipping is performed.", "default": 50000 }, "mode": { "type": "string", "enum": [ "all", "sliding_window", "self_compact_all", "self_compact_sliding_window" ], "title": "Mode", "description": "The type of summarization technique use.", "default": "sliding_window" }, "sliding_window_percentage": { "type": "number", "title": "Sliding Window Percentage", "description": "The percentage of the context window to keep post-summarization (only used in sliding window modes)." } }, "type": "object", "title": "CompactionSettings", "description": "Configuration for conversation compaction / summarization.\n\nPer-model settings (temperature,\nmax tokens, etc.) are derived from the default configuration for that handle." }, "Memory": { "properties": { "agent_type": { "anyOf": [ { "$ref": "#/$defs/AgentType" }, { "type": "string" }, { "type": "null" } ], "title": "Agent Type", "description": "Agent type controlling prompt rendering." }, "git_enabled": { "type": "boolean", "title": "Git Enabled", "description": "Whether this agent uses git-backed memory with structured labels.", "default": false }, "blocks": { "items": { "$ref": "#/$defs/Block" }, "type": "array", "title": "Blocks", "description": "Memory blocks contained in the agent's in-context memory" }, "file_blocks": { "items": { "$ref": "#/$defs/FileBlock" }, "type": "array", "title": "File Blocks", "description": "Special blocks representing the agent's in-context memory of an attached file" }, "prompt_template": { "type": "string", "title": "Prompt Template", "description": "Deprecated. Ignored for performance.", "default": "" } }, "type": "object", "required": [ "blocks" ], "title": "Memory", "description": "Represents the in-context memory (i.e. Core memory) of the agent. This includes both the `Block` objects (labelled by sections), as well as tools to edit the blocks." }, "Block": { "properties": { "value": { "type": "string", "title": "Value", "description": "Value of the block." }, "limit": { "type": "integer", "title": "Limit", "description": "Character limit of the block.", "default": 100000 }, "project_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Project Id", "description": "The associated project id." }, "template_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Template Name", "description": "Name of the block if it is a template." }, "is_template": { "type": "boolean", "title": "Is Template", "description": "Whether the block is a template (e.g. saved human/persona options).", "default": false }, "template_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Template Id", "description": "The id of the template." }, "base_template_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Base Template Id", "description": "The base template id of the block." }, "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." }, "preserve_on_migration": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Preserve On Migration", "description": "Preserve the block on template migration.", "default": false }, "label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Label", "description": "Label of the block (e.g. 'human', 'persona') in the context window." }, "read_only": { "type": "boolean", "title": "Read Only", "description": "Whether the agent has read-only access to the block.", "default": false }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "Description of the block." }, "metadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Metadata", "description": "Metadata of the block.", "default": {} }, "hidden": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Hidden", "description": "If set to True, the block will be hidden." }, "id": { "type": "string", "pattern": "^block-[a-fA-F0-9]{8}", "title": "Id", "description": "The human-friendly ID of the Block", "examples": [ "block-123e4567-e89b-12d3-a456-426614174000" ] }, "created_by_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created By Id", "description": "The id of the user that made this Block." }, "last_updated_by_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Updated By Id", "description": "The id of the user that last updated this Block." }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags", "description": "The tags associated with the block.", "default": [] } }, "type": "object", "required": [ "value" ], "title": "Block", "description": "A Block represents a reserved section of the LLM's context window." }, "FileBlock": { "properties": { "value": { "type": "string", "title": "Value", "description": "Value of the block." }, "limit": { "type": "integer", "title": "Limit", "description": "Character limit of the block.", "default": 100000 }, "project_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Project Id", "description": "The associated project id." }, "template_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Template Name", "description": "Name of the block if it is a template." }, "is_template": { "type": "boolean", "title": "Is Template", "description": "Whether the block is a template (e.g. saved human/persona options).", "default": false }, "template_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Template Id", "description": "The id of the template." }, "base_template_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Base Template Id", "description": "The base template id of the block." }, "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." }, "preserve_on_migration": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Preserve On Migration", "description": "Preserve the block on template migration.", "default": false }, "label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Label", "description": "Label of the block (e.g. 'human', 'persona') in the context window." }, "read_only": { "type": "boolean", "title": "Read Only", "description": "Whether the agent has read-only access to the block.", "default": false }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "Description of the block." }, "metadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Metadata", "description": "Metadata of the block.", "default": {} }, "hidden": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Hidden", "description": "If set to True, the block will be hidden." }, "id": { "type": "string", "pattern": "^block-[a-fA-F0-9]{8}", "title": "Id", "description": "The human-friendly ID of the Block", "examples": [ "block-123e4567-e89b-12d3-a456-426614174000" ] }, "created_by_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created By Id", "description": "The id of the user that made this Block." }, "last_updated_by_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Updated By Id", "description": "The id of the user that last updated this Block." }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags", "description": "The tags associated with the block.", "default": [] }, "file_id": { "type": "string", "title": "File Id", "description": "Unique identifier of the file." }, "source_id": { "type": "string", "title": "Source Id", "description": "Deprecated: Use `folder_id` field instead. Unique identifier of the source.", "deprecated": true }, "is_open": { "type": "boolean", "title": "Is Open", "description": "True if the agent currently has the file open." }, "last_accessed_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Last Accessed At", "description": "UTC timestamp of the agent\u2019s most recent access to this file. Any operations from the open, close, or search tools will update this field." } }, "type": "object", "required": [ "value", "file_id", "source_id", "is_open" ], "title": "FileBlock" }, "Tool": { "properties": { "id": { "type": "string", "pattern": "^tool-[a-fA-F0-9]{8}", "title": "Id", "description": "The human-friendly ID of the Tool", "examples": [ "tool-123e4567-e89b-12d3-a456-426614174000" ] }, "tool_type": { "$ref": "#/$defs/ToolType" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "The description of the tool." }, "source_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Source Type", "description": "The type of the source code." }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name", "description": "The name of the function." }, "tags": { "items": { "type": "string" }, "type": "array", "title": "Tags", "description": "Metadata tags.", "default": [] }, "source_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Source Code", "description": "The source code of the function." }, "json_schema": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Json Schema", "description": "The JSON schema of the function." }, "args_json_schema": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Args Json Schema", "description": "The args JSON schema of the function." }, "return_char_limit": { "type": "integer", "maximum": 1000000, "minimum": 1, "title": "Return Char Limit", "description": "The maximum number of characters in the response.", "default": 50000 }, "pip_requirements": { "anyOf": [ { "items": { "$ref": "#/$defs/PipRequirement" }, "type": "array" }, { "type": "null" } ], "title": "Pip Requirements", "description": "Optional list of pip packages required by this tool." }, "npm_requirements": { "anyOf": [ { "items": { "$ref": "#/$defs/NpmRequirement" }, "type": "array" }, { "type": "null" } ], "title": "Npm Requirements", "description": "Optional list of npm packages required by this tool." }, "default_requires_approval": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Default Requires Approval", "description": "Default value for whether or not executing this tool requires approval." }, "enable_parallel_execution": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Enable Parallel Execution", "description": "If set to True, then this tool will potentially be executed concurrently with other tools. Default False.", "default": false }, "created_by_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created By Id", "description": "The id of the user that made this Tool." }, "last_updated_by_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Updated By Id", "description": "The id of the user that made this Tool." }, "metadata_": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Metadata", "description": "A dictionary of additional metadata for the tool." }, "project_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Project Id", "description": "The project id of the tool." } }, "additionalProperties": false, "type": "object", "title": "Tool", "description": "Representation of a tool, which is a function that can be called by the agent." }, "ToolType": { "type": "string", "enum": [ "custom", "letta_core", "letta_memory_core", "letta_multi_agent_core", "letta_sleeptime_core", "letta_voice_sleeptime_core", "letta_builtin", "letta_files_core", "external_langchain", "external_composio", "external_mcp" ], "title": "ToolType" }, "PipRequirement": { "properties": { "name": { "type": "string", "minLength": 1, "title": "Name", "description": "Name of the pip package." }, "version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Version", "description": "Optional version of the package, following semantic versioning." } }, "type": "object", "required": [ "name" ], "title": "PipRequirement" }, "NpmRequirement": { "properties": { "name": { "type": "string", "minLength": 1, "title": "Name", "description": "Name of the npm package." }, "version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Version", "description": "Optional version of the package, following semantic versioning." } }, "type": "object", "required": [ "name" ], "title": "NpmRequirement" }, "Source": { "properties": { "name": { "type": "string", "title": "Name", "description": "The name of the source." }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "The description of the source." }, "instructions": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Instructions", "description": "Instructions for how to use the source." }, "metadata": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Metadata", "description": "Metadata associated with the source." }, "id": { "type": "string", "pattern": "^source-[a-fA-F0-9]{8}", "title": "Id", "description": "The human-friendly ID of the Source", "examples": [ "source-123e4567-e89b-12d3-a456-426614174000" ] }, "embedding_config": { "$ref": "#/$defs/EmbeddingConfig" }, "vector_db_provider": { "$ref": "#/$defs/VectorDBProvider" }, "created_by_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created By Id", "description": "The id of the user that made this Tool." }, "last_updated_by_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Updated By Id", "description": "The id of the user that made this Tool." }, "created_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Created At", "description": "The timestamp when the source was created." }, "updated_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Updated At", "description": "The timestamp when the source was last updated." } }, "additionalProperties": false, "type": "object", "required": [ "name", "embedding_config" ], "title": "Source", "description": "(Deprecated: Use Folder) Representation of a source, which is a collection of files and passages." }, "VectorDBProvider": { "type": "string", "enum": [ "native", "tpuf", "pinecone" ], "title": "VectorDBProvider", "description": "Supported vector database providers for archival memory" }, "AgentEnvironmentVariable": { "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", "pattern": "^agent-env-[a-fA-F0-9]{8}", "title": "Id", "description": "The human-friendly ID of the Agent-env", "examples": [ "agent-env-123e4567-e89b-12d3-a456-426614174000" ] }, "key": { "type": "string", "title": "Key", "description": "The name of the environment variable." }, "value": { "type": "string", "title": "Value", "description": "The value of the environment variable." }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description", "description": "An optional description of the environment variable." }, "value_enc": { "anyOf": [ { "type": "string", "description": "Encrypted secret value (stored as encrypted string)", "nullable": true }, { "type": "null" } ], "title": "Value Enc", "description": "Encrypted value as Secret object" }, "agent_id": { "type": "string", "title": "Agent Id", "description": "The ID of the agent this environment variable belongs to." } }, "additionalProperties": false, "type": "object", "required": [ "key", "value", "agent_id" ], "title": "AgentEnvironmentVariable" }, "Identity": { "properties": { "id": { "type": "string", "pattern": "^identity-[a-fA-F0-9]{8}", "title": "Id", "description": "The human-friendly ID of the Identity", "examples": [ "identity-123e4567-e89b-12d3-a456-426614174000" ] }, "identifier_key": { "type": "string", "title": "Identifier Key", "description": "External, user-generated identifier key of the identity." }, "name": { "type": "string", "title": "Name", "description": "The name of the identity." }, "identity_type": { "$ref": "#/$defs/IdentityType" }, "project_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Project Id", "description": "The project id of the identity, if applicable." }, "agent_ids": { "items": { "type": "string" }, "type": "array", "title": "Agent Ids", "description": "The IDs of the agents associated with the identity.", "deprecated": true }, "block_ids": { "items": { "type": "string" }, "type": "array", "title": "Block Ids", "description": "The IDs of the blocks associated with the identity.", "deprecated": true }, "properties": { "items": { "$ref": "#/$defs/IdentityProperty" }, "type": "array", "title": "Properties", "description": "List of properties associated with the identity" } }, "additionalProperties": false, "type": "object", "required": [ "identifier_key", "name", "identity_type", "agent_ids", "block_ids" ], "title": "Identity" }, "IdentityType": { "type": "string", "enum": [ "org", "user", "other" ], "title": "IdentityType", "description": "Enum to represent the type of the identity." }, "IdentityProperty": { "properties": { "key": { "type": "string", "title": "Key", "description": "The key of the property" }, "value": { "anyOf": [ { "type": "string" }, { "type": "integer" }, { "type": "number" }, { "type": "boolean" }, { "additionalProperties": true, "type": "object" } ], "title": "Value", "description": "The value of the property" }, "type": { "$ref": "#/$defs/IdentityPropertyType" } }, "additionalProperties": false, "type": "object", "required": [ "key", "value", "type" ], "title": "IdentityProperty", "description": "A property of an identity" }, "IdentityPropertyType": { "type": "string", "enum": [ "string", "number", "boolean", "json" ], "title": "IdentityPropertyType", "description": "Enum to represent the type of the identity property." }, "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 \u2014 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": "#/$defs/ToolCall" }, { "$ref": "#/$defs/ToolCallDelta" } ], "title": "Tool Call", "description": "The tool call that has been requested by the llm to run", "deprecated": true }, "tool_calls": { "anyOf": [ { "items": { "$ref": "#/$defs/ToolCall" }, "type": "array" }, { "$ref": "#/$defs/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" }, "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" }, "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" }, "Group": { "properties": { "id": { "type": "string", "title": "Id", "description": "The id of the group. Assigned by the database." }, "manager_type": { "$ref": "#/$defs/ManagerType" }, "agent_ids": { "items": { "type": "string" }, "type": "array", "title": "Agent Ids", "description": "" }, "description": { "type": "string", "title": "Description", "description": "" }, "project_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Project Id", "description": "The associated project id." }, "template_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Template Id", "description": "The id of the template." }, "base_template_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Base Template Id", "description": "The base template id." }, "deployment_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Deployment Id", "description": "The id of the deployment." }, "shared_block_ids": { "items": { "type": "string" }, "type": "array", "title": "Shared Block Ids", "description": "", "default": [], "deprecated": true }, "manager_agent_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Manager Agent Id", "description": "" }, "termination_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Termination Token", "description": "" }, "max_turns": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Turns", "description": "" }, "sleeptime_agent_frequency": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Sleeptime Agent Frequency", "description": "" }, "turns_counter": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Turns Counter", "description": "" }, "last_processed_message_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Processed Message Id", "description": "" }, "max_message_buffer_length": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Message Buffer Length", "description": "The desired maximum length of messages in the context window of the convo agent. This is a best effort, and may be off slightly due to user/assistant interleaving." }, "min_message_buffer_length": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Min Message Buffer Length", "description": "The desired minimum length of messages in the context window of the convo agent. This is a best effort, and may be off-by-one due to user/assistant interleaving." }, "hidden": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Hidden", "description": "If set to True, the group will be hidden." } }, "additionalProperties": false, "type": "object", "required": [ "id", "manager_type", "agent_ids", "description" ], "title": "Group" }, "ManagerType": { "type": "string", "enum": [ "round_robin", "supervisor", "dynamic", "sleeptime", "voice_sleeptime", "swarm" ], "title": "ManagerType" }, "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" } } }