Create Agent
Create an agent.
ParametersExpand Collapse
body: AgentCreateParams { agent_type, base_template_id, block_ids, 44 more }
Deprecatedbase_template_id?: string | null
Deprecated: No longer used. The base template id of the agent.
Configuration for conversation compaction / summarization.
Per-model settings (temperature, max tokens, etc.) are derived from the default configuration for that handle.
clip_chars?: number | null
The maximum length of the summary in characters. If none, no clipping is performed.
model?: string | null
Model handle to use for sliding_window/all summarization (format: provider/model-name). If None, uses lightweight provider-specific defaults.
model_settings?: OpenAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 4 more } | SgLangModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 5 more } | AnthropicModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more } | 14 more | null
Optional model settings used to override defaults for the summarizer model.
OpenAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 4 more }
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
SgLangModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 5 more }
SGLang model configuration (OpenAI-compatible runtime with SGLang-specific parsing).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
AnthropicModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more }
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
strict?: boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GoogleAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
GoogleVertexModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
AzureModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Azure OpenAI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
XaiModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
xAI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
MoonshotModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Moonshot/Kimi model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
ZaiModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Z.ai (ZhipuAI) model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
MoonshotCodingModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more }
Kimi Code model configuration (Anthropic-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
strict?: boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GroqModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Groq model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
DeepseekModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Deepseek model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
TogetherModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Together AI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
BedrockModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
AWS Bedrock model configuration.
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
OpenRouterModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
OpenRouter model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
embedding?: string | null
The embedding model handle used by the agent (format: provider/model-name).
Deprecatedembedding_chunk_size?: number | null
Deprecated: No longer used. The embedding chunk size used by the agent.
Deprecatedembedding_config?: EmbeddingConfig { embedding_dim, embedding_endpoint_type, embedding_model, 7 more } | null
Deprecatedenable_reasoner?: boolean | null
Deprecated: Use model field to configure reasoning instead. Whether to enable internal extended thinking step for a reasoner model.
enable_sleeptime?: boolean | null
If set to True, memory management will move to a background agent thread.
Deprecatedfrom_template?: string | null
Deprecated: please use the ‘create agents from a template’ endpoint instead.
Deprecatedhidden?: boolean | null
Deprecated: No longer used. If set to True, the agent will be hidden.
include_base_tool_rules?: boolean | null
If true, attaches the Letta base tool rules (e.g. deny all tools not explicitly allowed).
include_base_tools?: boolean
If true, attaches the Letta core tools (e.g. core_memory related functions).
Deprecatedinclude_default_source?: boolean
If true, automatically creates and attaches a default data source for this agent.
The initial set of messages to put in the agent’s in-context memory.
The content of the message.
Array<LettaMessageContentUnion>
ImageContent { source, type }
source: URLImage { url, type } | Base64Image { data, media_type, detail, type } | LettaImage { file_id, data, detail, 2 more }
ToolCallContent { id, input, name, 2 more }
ReasoningContent { is_native, reasoning, signature, type }
Configuration for Language Model (LLM) connection and generation parameters.
.. deprecated:: LLMConfig is deprecated and should not be used as an input or return type in API calls. Use the schemas in letta.schemas.model (ModelSettings, OpenAIModelSettings, etc.) instead. For conversion, use the _to_model() method or Model._from_llm_config() method.
model_endpoint_type: "openai" | "anthropic" | "google_ai" | 27 more
The endpoint type for the model.
enable_reasoner?: boolean
Whether or not the model should use extended thinking if it is a ‘reasoning’ style model
frequency_penalty?: number | null
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.
max_reasoning_tokens?: number
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.
max_tokens?: number | null
The maximum number of tokens to generate. If not set, the model will use its default value.
Deprecatedparallel_tool_calls?: boolean | null
Deprecated: Use model_settings to configure parallel tool calls instead. If set to True, enables parallel tool calling. Defaults to False.
put_inner_thoughts_in_kwargs?: boolean | null
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.
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
return_logprobs?: boolean
Whether to return log probabilities of the output tokens. Useful for RL training.
return_token_ids?: boolean
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.
strict?: boolean
Enable strict mode for tool calling. When true, tool schemas include strict: true and additionalProperties: false, guaranteeing tool outputs match JSON schemas.
temperature?: number
The temperature to use when generating text with the model. A higher temperature will result in more random text.
tool_call_parser?: string | null
SGLang tool call parser name (e.g. ‘glm47’, ‘qwen25’, ‘hermes’). Used by the SGLang native adapter to parse tool calls from raw model output.
max_files_open?: number | null
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.
Deprecatedmax_reasoning_tokens?: number | null
Deprecated: Use model field to configure reasoning tokens instead. The maximum number of tokens to generate for reasoning step.
Deprecatedmax_tokens?: number | null
Deprecated: Use model field to configure max output tokens instead. The maximum number of tokens to generate, including reasoning step.
Deprecatedmemory_variables?: Record<string, string> | null
Deprecated: Only relevant for creating agents from a template. Use the ‘create agents from a template’ endpoint instead.
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 use case.
model_settings?: OpenAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 4 more } | SgLangModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 5 more } | AnthropicModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more } | 14 more | null
The model settings for the agent.
OpenAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 4 more }
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
SgLangModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 5 more }
SGLang model configuration (OpenAI-compatible runtime with SGLang-specific parsing).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
AnthropicModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more }
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
strict?: boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GoogleAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
GoogleVertexModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
AzureModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Azure OpenAI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
XaiModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
xAI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
MoonshotModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Moonshot/Kimi model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
ZaiModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Z.ai (ZhipuAI) model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
MoonshotCodingModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more }
Kimi Code model configuration (Anthropic-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
strict?: boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GroqModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Groq model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
DeepseekModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Deepseek model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
TogetherModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Together AI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
BedrockModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
AWS Bedrock model configuration.
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
OpenRouterModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
OpenRouter model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
Deprecatedparallel_tool_calls?: boolean | null
Deprecated: Use model_settings to configure parallel tool calls instead. If set to True, enables parallel tool calling.
per_file_view_window_char_limit?: number | null
The per-file view window character limit for this agent. Setting this too high may exceed the context window, which will break the agent.
Deprecatedproject?: string | null
Deprecated: Project should now be passed via the X-Project header instead of in the request body. If using the SDK, this can be done via the x_project parameter.
Deprecatedproject_id?: string | null
Deprecated: No longer used. The id of the project the agent belongs to.
Deprecatedreasoning?: boolean | null
Deprecated: Use model field to configure reasoning instead. Whether to enable reasoning for this agent.
Deprecatedresponse_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
secrets?: Record<string, string> | null
The environment variables for tool execution specific to this agent.
Deprecatedsource_ids?: Array<string> | null
Deprecated: Use folder_ids field instead. The ids of the sources used by the agent.
Deprecatedtemplate_id?: string | null
Deprecated: No longer used. The id of the template the agent belongs to.
Deprecatedtool_exec_environment_variables?: Record<string, string> | null
Deprecated: Use secrets field instead. Environment variables for tool execution.
tool_rules?: Array<ChildToolRule { children, tool_name, child_arg_nodes, 2 more } | InitToolRule { tool_name, args, prompt_template, type } | TerminalToolRule { tool_name, prompt_template, type } | 6 more> | null
The tool rules governing the agent.
ChildToolRule { children, tool_name, child_arg_nodes, 2 more }
InitToolRule { tool_name, args, prompt_template, type }
Represents the initial tool rule configuration.
args?: Record<string, unknown> | null
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.
ConditionalToolRule { child_output_mapping, tool_name, default_child, 3 more }
A ToolRule that conditionally maps to different child tools based on the output.
MaxCountPerStepToolRule { max_count_limit, tool_name, prompt_template, type }
Represents a tool rule configuration which constrains the total number of times this tool can be invoked in a single step.
ParentToolRule { children, tool_name, prompt_template, type }
A ToolRule that only allows a child tool to be called if the parent has been called.
ReturnsExpand Collapse
AgentState { id, agent_type, blocks, 42 more }
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.
Deprecated: Use model field instead. The LLM configuration used by the agent.
model_endpoint_type: "openai" | "anthropic" | "google_ai" | 27 more
The endpoint type for the model.
enable_reasoner?: boolean
Whether or not the model should use extended thinking if it is a ‘reasoning’ style model
frequency_penalty?: number | null
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.
max_reasoning_tokens?: number
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.
max_tokens?: number | null
The maximum number of tokens to generate. If not set, the model will use its default value.
Deprecatedparallel_tool_calls?: boolean | null
Deprecated: Use model_settings to configure parallel tool calls instead. If set to True, enables parallel tool calling. Defaults to False.
put_inner_thoughts_in_kwargs?: boolean | null
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.
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
return_logprobs?: boolean
Whether to return log probabilities of the output tokens. Useful for RL training.
return_token_ids?: boolean
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.
strict?: boolean
Enable strict mode for tool calling. When true, tool schemas include strict: true and additionalProperties: false, guaranteeing tool outputs match JSON schemas.
temperature?: number
The temperature to use when generating text with the model. A higher temperature will result in more random text.
tool_call_parser?: string | null
SGLang tool call parser name (e.g. ‘glm47’, ‘qwen25’, ‘hermes’). Used by the SGLang native adapter to parse tool calls from raw model output.
Deprecatedmemory: Memory { blocks, agent_type, file_blocks, 2 more }
Deprecated: Use blocks field instead. The in-context memory of the agent.
file_blocks?: Array<FileBlock>
Special blocks representing the agent’s in-context memory of an attached file
Deprecatedsources: Array<Source>
Deprecated: Use folders field instead. The sources used by the agent.
embedding_config: EmbeddingConfig { embedding_dim, embedding_endpoint_type, embedding_model, 7 more }
compaction_settings?: CompactionSettings | null
Configuration for conversation compaction / summarization.
Per-model settings (temperature, max tokens, etc.) are derived from the default configuration for that handle.
clip_chars?: number | null
The maximum length of the summary in characters. If none, no clipping is performed.
model?: string | null
Model handle to use for sliding_window/all summarization (format: provider/model-name). If None, uses lightweight provider-specific defaults.
model_settings?: OpenAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 4 more } | SgLangModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 5 more } | AnthropicModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more } | 14 more | null
Optional model settings used to override defaults for the summarizer model.
OpenAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 4 more }
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
SgLangModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 5 more }
SGLang model configuration (OpenAI-compatible runtime with SGLang-specific parsing).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
AnthropicModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more }
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
strict?: boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GoogleAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
GoogleVertexModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
AzureModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Azure OpenAI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
XaiModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
xAI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
MoonshotModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Moonshot/Kimi model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
ZaiModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Z.ai (ZhipuAI) model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
MoonshotCodingModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more }
Kimi Code model configuration (Anthropic-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
strict?: boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GroqModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Groq model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
DeepseekModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Deepseek model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
TogetherModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Together AI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
BedrockModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
AWS Bedrock model configuration.
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
OpenRouterModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
OpenRouter model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
embedding?: string | null
The embedding model handle used by the agent (format: provider/model-name).
Deprecatedembedding_config?: EmbeddingConfig { embedding_dim, embedding_endpoint_type, embedding_model, 7 more } | null
enable_sleeptime?: boolean | null
If set to True, memory management will move to a background agent thread.
identities?: Array<Identity>
Deprecatedidentity_ids?: Array<string>
Deprecated: Use identities field instead. The ids of the identities associated with this agent.
last_run_completion?: string | null
The timestamp when the agent last completed a run.
managed_group?: ManagedGroup | null
The multi-agent group that this agent manages
max_message_buffer_length?: number | null
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.
max_files_open?: number | null
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.
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 use case.
model_settings?: OpenAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 4 more } | SgLangModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 5 more } | AnthropicModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more } | 14 more | null
The model settings used by the agent.
OpenAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 4 more }
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
SgLangModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 5 more }
SGLang model configuration (OpenAI-compatible runtime with SGLang-specific parsing).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
AnthropicModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more }
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
strict?: boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GoogleAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
GoogleVertexModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
AzureModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Azure OpenAI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
XaiModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
xAI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
MoonshotModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Moonshot/Kimi model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
ZaiModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Z.ai (ZhipuAI) model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
MoonshotCodingModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more }
Kimi Code model configuration (Anthropic-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
strict?: boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GroqModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Groq model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
DeepseekModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Deepseek model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
TogetherModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Together AI model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
BedrockModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
AWS Bedrock model configuration.
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
OpenRouterModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
OpenRouter model configuration (OpenAI-compatible).
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
Deprecatedmulti_agent_group?: MultiAgentGroup | null
Deprecated: Use managed_group field instead. The multi-agent group that this agent manages.
max_message_buffer_length?: number | null
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.
A message representing a request for approval to call a tool (generated by the LLM to trigger tool execution).
Args: id (str): The ID of the message date (datetime): The date the message was created in ISO format name (Optional[str]): The name of the sender of the message tool_call (ToolCall): The tool call
Deprecatedtool_call: ToolCall { arguments, name, tool_call_id } | ToolCallDelta { arguments, name, tool_call_id }
otid?: string | null
The offline threading id (OTID). Set by the client to deduplicate requests. Used for idempotency in background streaming mode — each message in a request must have a unique OTID. Retries of the same request should reuse the same OTIDs.
tool_calls?: Array<ToolCall { arguments, name, tool_call_id } > | ToolCallDelta { arguments, name, tool_call_id } | null
The tool calls that have been requested by the llm to run, which are pending approval
Array<ToolCall { arguments, name, tool_call_id } >
per_file_view_window_char_limit?: number | null
The per-file view window character limit for this agent. Setting this too high may exceed the context window, which will break the agent.
response_format?: TextResponseFormat { type } | JsonSchemaResponseFormat { json_schema, type } | JsonObjectResponseFormat { type } | null
Deprecatedtool_exec_environment_variables?: Array<AgentEnvironmentVariable { agent_id, key, value, 7 more } >
Deprecated: use secrets field instead.
tool_rules?: Array<ChildToolRule { children, tool_name, child_arg_nodes, 2 more } | InitToolRule { tool_name, args, prompt_template, type } | TerminalToolRule { tool_name, prompt_template, type } | 6 more> | null
The list of tool rules.
ChildToolRule { children, tool_name, child_arg_nodes, 2 more }
InitToolRule { tool_name, args, prompt_template, type }
Represents the initial tool rule configuration.
args?: Record<string, unknown> | null
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.
ConditionalToolRule { child_output_mapping, tool_name, default_child, 3 more }
A ToolRule that conditionally maps to different child tools based on the output.
MaxCountPerStepToolRule { max_count_limit, tool_name, prompt_template, type }
Represents a tool rule configuration which constrains the total number of times this tool can be invoked in a single step.
ParentToolRule { children, tool_name, prompt_template, type }
A ToolRule that only allows a child tool to be called if the parent has been called.
Create Agent
import Letta from '@letta-ai/letta-client';
const client = new Letta({
apiKey: process.env['LETTA_API_KEY'], // This is the default and can be omitted
});
const agentState = await client.agents.create();
console.log(agentState.id);{
"id": "id",
"agent_type": "memgpt_agent",
"blocks": [
{
"value": "value",
"id": "block-123e4567-e89b-12d3-a456-426614174000",
"base_template_id": "base_template_id",
"created_by_id": "created_by_id",
"deployment_id": "deployment_id",
"description": "description",
"entity_id": "entity_id",
"hidden": true,
"is_template": true,
"label": "label",
"last_updated_by_id": "last_updated_by_id",
"limit": 0,
"metadata": {
"foo": "bar"
},
"preserve_on_migration": true,
"project_id": "project_id",
"read_only": true,
"tags": [
"string"
],
"template_id": "template_id",
"template_name": "template_name"
}
],
"llm_config": {
"context_window": 0,
"model": "model",
"model_endpoint_type": "openai",
"compatibility_type": "gguf",
"display_name": "display_name",
"effort": "low",
"enable_reasoner": true,
"frequency_penalty": 0,
"handle": "handle",
"max_reasoning_tokens": 0,
"max_tokens": 0,
"model_endpoint": "model_endpoint",
"model_wrapper": "model_wrapper",
"parallel_tool_calls": true,
"provider_category": "base",
"provider_name": "provider_name",
"put_inner_thoughts_in_kwargs": true,
"reasoning_effort": "none",
"response_format": {
"type": "text"
},
"return_logprobs": true,
"return_token_ids": true,
"strict": true,
"temperature": 0,
"tier": "tier",
"tool_call_parser": "tool_call_parser",
"top_logprobs": 0,
"verbosity": "low"
},
"memory": {
"blocks": [
{
"value": "value",
"id": "block-123e4567-e89b-12d3-a456-426614174000",
"base_template_id": "base_template_id",
"created_by_id": "created_by_id",
"deployment_id": "deployment_id",
"description": "description",
"entity_id": "entity_id",
"hidden": true,
"is_template": true,
"label": "label",
"last_updated_by_id": "last_updated_by_id",
"limit": 0,
"metadata": {
"foo": "bar"
},
"preserve_on_migration": true,
"project_id": "project_id",
"read_only": true,
"tags": [
"string"
],
"template_id": "template_id",
"template_name": "template_name"
}
],
"agent_type": "memgpt_agent",
"file_blocks": [
{
"file_id": "file_id",
"is_open": true,
"source_id": "source_id",
"value": "value",
"id": "block-123e4567-e89b-12d3-a456-426614174000",
"base_template_id": "base_template_id",
"created_by_id": "created_by_id",
"deployment_id": "deployment_id",
"description": "description",
"entity_id": "entity_id",
"hidden": true,
"is_template": true,
"label": "label",
"last_accessed_at": "2019-12-27T18:11:19.117Z",
"last_updated_by_id": "last_updated_by_id",
"limit": 0,
"metadata": {
"foo": "bar"
},
"preserve_on_migration": true,
"project_id": "project_id",
"read_only": true,
"tags": [
"string"
],
"template_id": "template_id",
"template_name": "template_name"
}
],
"git_enabled": true,
"prompt_template": "prompt_template"
},
"name": "name",
"sources": [
{
"id": "source-123e4567-e89b-12d3-a456-426614174000",
"embedding_config": {
"embedding_dim": 0,
"embedding_endpoint_type": "openai",
"embedding_model": "embedding_model",
"azure_deployment": "azure_deployment",
"azure_endpoint": "azure_endpoint",
"azure_version": "azure_version",
"batch_size": 0,
"embedding_chunk_size": 0,
"embedding_endpoint": "embedding_endpoint",
"handle": "handle"
},
"name": "name",
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"description": "description",
"instructions": "instructions",
"last_updated_by_id": "last_updated_by_id",
"metadata": {
"foo": "bar"
},
"updated_at": "2019-12-27T18:11:19.117Z",
"vector_db_provider": "native"
}
],
"system": "system",
"tags": [
"string"
],
"tools": [
{
"id": "tool-123e4567-e89b-12d3-a456-426614174000",
"args_json_schema": {
"foo": "bar"
},
"created_by_id": "created_by_id",
"default_requires_approval": true,
"description": "description",
"enable_parallel_execution": true,
"json_schema": {
"foo": "bar"
},
"last_updated_by_id": "last_updated_by_id",
"metadata_": {
"foo": "bar"
},
"name": "name",
"npm_requirements": [
{
"name": "x",
"version": "version"
}
],
"pip_requirements": [
{
"name": "x",
"version": "version"
}
],
"project_id": "project_id",
"return_char_limit": 1,
"source_code": "source_code",
"source_type": "source_type",
"tags": [
"string"
],
"tool_type": "custom"
}
],
"base_template_id": "base_template_id",
"compaction_settings": {
"clip_chars": 0,
"mode": "all",
"model": "model",
"model_settings": {
"max_output_tokens": 0,
"parallel_tool_calls": true,
"provider_type": "openai",
"reasoning": {
"reasoning_effort": "none"
},
"response_format": {
"type": "text"
},
"strict": true,
"temperature": 0
},
"prompt": "prompt",
"prompt_acknowledgement": true,
"sliding_window_percentage": 0
},
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"deployment_id": "deployment_id",
"description": "description",
"embedding": "embedding",
"embedding_config": {
"embedding_dim": 0,
"embedding_endpoint_type": "openai",
"embedding_model": "embedding_model",
"azure_deployment": "azure_deployment",
"azure_endpoint": "azure_endpoint",
"azure_version": "azure_version",
"batch_size": 0,
"embedding_chunk_size": 0,
"embedding_endpoint": "embedding_endpoint",
"handle": "handle"
},
"enable_sleeptime": true,
"entity_id": "entity_id",
"hidden": true,
"identities": [
{
"id": "identity-123e4567-e89b-12d3-a456-426614174000",
"agent_ids": [
"string"
],
"block_ids": [
"string"
],
"identifier_key": "identifier_key",
"identity_type": "org",
"name": "name",
"project_id": "project_id",
"properties": [
{
"key": "key",
"type": "string",
"value": "string"
}
]
}
],
"identity_ids": [
"string"
],
"last_run_completion": "2019-12-27T18:11:19.117Z",
"last_run_duration_ms": 0,
"last_stop_reason": "end_turn",
"last_updated_by_id": "last_updated_by_id",
"managed_group": {
"id": "id",
"agent_ids": [
"string"
],
"description": "description",
"manager_type": "round_robin",
"base_template_id": "base_template_id",
"deployment_id": "deployment_id",
"hidden": true,
"last_processed_message_id": "last_processed_message_id",
"manager_agent_id": "manager_agent_id",
"max_message_buffer_length": 0,
"max_turns": 0,
"min_message_buffer_length": 0,
"project_id": "project_id",
"shared_block_ids": [
"string"
],
"sleeptime_agent_frequency": 0,
"template_id": "template_id",
"termination_token": "termination_token",
"turns_counter": 0
},
"max_files_open": 0,
"message_buffer_autoclear": true,
"message_ids": [
"string"
],
"metadata": {
"foo": "bar"
},
"model": "model",
"model_settings": {
"max_output_tokens": 0,
"parallel_tool_calls": true,
"provider_type": "openai",
"reasoning": {
"reasoning_effort": "none"
},
"response_format": {
"type": "text"
},
"strict": true,
"temperature": 0
},
"multi_agent_group": {
"id": "id",
"agent_ids": [
"string"
],
"description": "description",
"manager_type": "round_robin",
"base_template_id": "base_template_id",
"deployment_id": "deployment_id",
"hidden": true,
"last_processed_message_id": "last_processed_message_id",
"manager_agent_id": "manager_agent_id",
"max_message_buffer_length": 0,
"max_turns": 0,
"min_message_buffer_length": 0,
"project_id": "project_id",
"shared_block_ids": [
"string"
],
"sleeptime_agent_frequency": 0,
"template_id": "template_id",
"termination_token": "termination_token",
"turns_counter": 0
},
"pending_approval": {
"id": "id",
"date": "2019-12-27T18:11:19.117Z",
"tool_call": {
"arguments": "arguments",
"name": "name",
"tool_call_id": "tool_call_id"
},
"is_err": true,
"message_type": "approval_request_message",
"name": "name",
"otid": "otid",
"run_id": "run_id",
"sender_id": "sender_id",
"seq_id": 0,
"step_id": "step_id",
"tool_calls": [
{
"arguments": "arguments",
"name": "name",
"tool_call_id": "tool_call_id"
}
]
},
"per_file_view_window_char_limit": 0,
"project_id": "project_id",
"response_format": {
"type": "text"
},
"secrets": [
{
"agent_id": "agent_id",
"key": "key",
"value": "value",
"id": "agent-env-123e4567-e89b-12d3-a456-426614174000",
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"description": "description",
"last_updated_by_id": "last_updated_by_id",
"updated_at": "2019-12-27T18:11:19.117Z",
"value_enc": "value_enc"
}
],
"template_id": "template_id",
"timezone": "timezone",
"tool_exec_environment_variables": [
{
"agent_id": "agent_id",
"key": "key",
"value": "value",
"id": "agent-env-123e4567-e89b-12d3-a456-426614174000",
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"description": "description",
"last_updated_by_id": "last_updated_by_id",
"updated_at": "2019-12-27T18:11:19.117Z",
"value_enc": "value_enc"
}
],
"tool_rules": [
{
"children": [
"string"
],
"tool_name": "tool_name",
"child_arg_nodes": [
{
"name": "name",
"args": {
"foo": "bar"
}
}
],
"prompt_template": "prompt_template",
"type": "constrain_child_tools"
}
],
"updated_at": "2019-12-27T18:11:19.117Z"
}Returns Examples
{
"id": "id",
"agent_type": "memgpt_agent",
"blocks": [
{
"value": "value",
"id": "block-123e4567-e89b-12d3-a456-426614174000",
"base_template_id": "base_template_id",
"created_by_id": "created_by_id",
"deployment_id": "deployment_id",
"description": "description",
"entity_id": "entity_id",
"hidden": true,
"is_template": true,
"label": "label",
"last_updated_by_id": "last_updated_by_id",
"limit": 0,
"metadata": {
"foo": "bar"
},
"preserve_on_migration": true,
"project_id": "project_id",
"read_only": true,
"tags": [
"string"
],
"template_id": "template_id",
"template_name": "template_name"
}
],
"llm_config": {
"context_window": 0,
"model": "model",
"model_endpoint_type": "openai",
"compatibility_type": "gguf",
"display_name": "display_name",
"effort": "low",
"enable_reasoner": true,
"frequency_penalty": 0,
"handle": "handle",
"max_reasoning_tokens": 0,
"max_tokens": 0,
"model_endpoint": "model_endpoint",
"model_wrapper": "model_wrapper",
"parallel_tool_calls": true,
"provider_category": "base",
"provider_name": "provider_name",
"put_inner_thoughts_in_kwargs": true,
"reasoning_effort": "none",
"response_format": {
"type": "text"
},
"return_logprobs": true,
"return_token_ids": true,
"strict": true,
"temperature": 0,
"tier": "tier",
"tool_call_parser": "tool_call_parser",
"top_logprobs": 0,
"verbosity": "low"
},
"memory": {
"blocks": [
{
"value": "value",
"id": "block-123e4567-e89b-12d3-a456-426614174000",
"base_template_id": "base_template_id",
"created_by_id": "created_by_id",
"deployment_id": "deployment_id",
"description": "description",
"entity_id": "entity_id",
"hidden": true,
"is_template": true,
"label": "label",
"last_updated_by_id": "last_updated_by_id",
"limit": 0,
"metadata": {
"foo": "bar"
},
"preserve_on_migration": true,
"project_id": "project_id",
"read_only": true,
"tags": [
"string"
],
"template_id": "template_id",
"template_name": "template_name"
}
],
"agent_type": "memgpt_agent",
"file_blocks": [
{
"file_id": "file_id",
"is_open": true,
"source_id": "source_id",
"value": "value",
"id": "block-123e4567-e89b-12d3-a456-426614174000",
"base_template_id": "base_template_id",
"created_by_id": "created_by_id",
"deployment_id": "deployment_id",
"description": "description",
"entity_id": "entity_id",
"hidden": true,
"is_template": true,
"label": "label",
"last_accessed_at": "2019-12-27T18:11:19.117Z",
"last_updated_by_id": "last_updated_by_id",
"limit": 0,
"metadata": {
"foo": "bar"
},
"preserve_on_migration": true,
"project_id": "project_id",
"read_only": true,
"tags": [
"string"
],
"template_id": "template_id",
"template_name": "template_name"
}
],
"git_enabled": true,
"prompt_template": "prompt_template"
},
"name": "name",
"sources": [
{
"id": "source-123e4567-e89b-12d3-a456-426614174000",
"embedding_config": {
"embedding_dim": 0,
"embedding_endpoint_type": "openai",
"embedding_model": "embedding_model",
"azure_deployment": "azure_deployment",
"azure_endpoint": "azure_endpoint",
"azure_version": "azure_version",
"batch_size": 0,
"embedding_chunk_size": 0,
"embedding_endpoint": "embedding_endpoint",
"handle": "handle"
},
"name": "name",
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"description": "description",
"instructions": "instructions",
"last_updated_by_id": "last_updated_by_id",
"metadata": {
"foo": "bar"
},
"updated_at": "2019-12-27T18:11:19.117Z",
"vector_db_provider": "native"
}
],
"system": "system",
"tags": [
"string"
],
"tools": [
{
"id": "tool-123e4567-e89b-12d3-a456-426614174000",
"args_json_schema": {
"foo": "bar"
},
"created_by_id": "created_by_id",
"default_requires_approval": true,
"description": "description",
"enable_parallel_execution": true,
"json_schema": {
"foo": "bar"
},
"last_updated_by_id": "last_updated_by_id",
"metadata_": {
"foo": "bar"
},
"name": "name",
"npm_requirements": [
{
"name": "x",
"version": "version"
}
],
"pip_requirements": [
{
"name": "x",
"version": "version"
}
],
"project_id": "project_id",
"return_char_limit": 1,
"source_code": "source_code",
"source_type": "source_type",
"tags": [
"string"
],
"tool_type": "custom"
}
],
"base_template_id": "base_template_id",
"compaction_settings": {
"clip_chars": 0,
"mode": "all",
"model": "model",
"model_settings": {
"max_output_tokens": 0,
"parallel_tool_calls": true,
"provider_type": "openai",
"reasoning": {
"reasoning_effort": "none"
},
"response_format": {
"type": "text"
},
"strict": true,
"temperature": 0
},
"prompt": "prompt",
"prompt_acknowledgement": true,
"sliding_window_percentage": 0
},
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"deployment_id": "deployment_id",
"description": "description",
"embedding": "embedding",
"embedding_config": {
"embedding_dim": 0,
"embedding_endpoint_type": "openai",
"embedding_model": "embedding_model",
"azure_deployment": "azure_deployment",
"azure_endpoint": "azure_endpoint",
"azure_version": "azure_version",
"batch_size": 0,
"embedding_chunk_size": 0,
"embedding_endpoint": "embedding_endpoint",
"handle": "handle"
},
"enable_sleeptime": true,
"entity_id": "entity_id",
"hidden": true,
"identities": [
{
"id": "identity-123e4567-e89b-12d3-a456-426614174000",
"agent_ids": [
"string"
],
"block_ids": [
"string"
],
"identifier_key": "identifier_key",
"identity_type": "org",
"name": "name",
"project_id": "project_id",
"properties": [
{
"key": "key",
"type": "string",
"value": "string"
}
]
}
],
"identity_ids": [
"string"
],
"last_run_completion": "2019-12-27T18:11:19.117Z",
"last_run_duration_ms": 0,
"last_stop_reason": "end_turn",
"last_updated_by_id": "last_updated_by_id",
"managed_group": {
"id": "id",
"agent_ids": [
"string"
],
"description": "description",
"manager_type": "round_robin",
"base_template_id": "base_template_id",
"deployment_id": "deployment_id",
"hidden": true,
"last_processed_message_id": "last_processed_message_id",
"manager_agent_id": "manager_agent_id",
"max_message_buffer_length": 0,
"max_turns": 0,
"min_message_buffer_length": 0,
"project_id": "project_id",
"shared_block_ids": [
"string"
],
"sleeptime_agent_frequency": 0,
"template_id": "template_id",
"termination_token": "termination_token",
"turns_counter": 0
},
"max_files_open": 0,
"message_buffer_autoclear": true,
"message_ids": [
"string"
],
"metadata": {
"foo": "bar"
},
"model": "model",
"model_settings": {
"max_output_tokens": 0,
"parallel_tool_calls": true,
"provider_type": "openai",
"reasoning": {
"reasoning_effort": "none"
},
"response_format": {
"type": "text"
},
"strict": true,
"temperature": 0
},
"multi_agent_group": {
"id": "id",
"agent_ids": [
"string"
],
"description": "description",
"manager_type": "round_robin",
"base_template_id": "base_template_id",
"deployment_id": "deployment_id",
"hidden": true,
"last_processed_message_id": "last_processed_message_id",
"manager_agent_id": "manager_agent_id",
"max_message_buffer_length": 0,
"max_turns": 0,
"min_message_buffer_length": 0,
"project_id": "project_id",
"shared_block_ids": [
"string"
],
"sleeptime_agent_frequency": 0,
"template_id": "template_id",
"termination_token": "termination_token",
"turns_counter": 0
},
"pending_approval": {
"id": "id",
"date": "2019-12-27T18:11:19.117Z",
"tool_call": {
"arguments": "arguments",
"name": "name",
"tool_call_id": "tool_call_id"
},
"is_err": true,
"message_type": "approval_request_message",
"name": "name",
"otid": "otid",
"run_id": "run_id",
"sender_id": "sender_id",
"seq_id": 0,
"step_id": "step_id",
"tool_calls": [
{
"arguments": "arguments",
"name": "name",
"tool_call_id": "tool_call_id"
}
]
},
"per_file_view_window_char_limit": 0,
"project_id": "project_id",
"response_format": {
"type": "text"
},
"secrets": [
{
"agent_id": "agent_id",
"key": "key",
"value": "value",
"id": "agent-env-123e4567-e89b-12d3-a456-426614174000",
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"description": "description",
"last_updated_by_id": "last_updated_by_id",
"updated_at": "2019-12-27T18:11:19.117Z",
"value_enc": "value_enc"
}
],
"template_id": "template_id",
"timezone": "timezone",
"tool_exec_environment_variables": [
{
"agent_id": "agent_id",
"key": "key",
"value": "value",
"id": "agent-env-123e4567-e89b-12d3-a456-426614174000",
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"description": "description",
"last_updated_by_id": "last_updated_by_id",
"updated_at": "2019-12-27T18:11:19.117Z",
"value_enc": "value_enc"
}
],
"tool_rules": [
{
"children": [
"string"
],
"tool_name": "tool_name",
"child_arg_nodes": [
{
"name": "name",
"args": {
"foo": "bar"
}
}
],
"prompt_template": "prompt_template",
"type": "constrain_child_tools"
}
],
"updated_at": "2019-12-27T18:11:19.117Z"
}