Fork Conversation
Fork an existing conversation.
Creates a new conversation that shares the same in-context messages as the source conversation, but with a newly compiled system message reflecting the latest memory block values. The forked conversation belongs to the same agent as the source.
If message_id is provided, only source in-context messages up to and including that message are included in the fork.
Agent-direct mode: Pass conversation_id=“default” with agent_id query parameter to fork the agent’s default (agent-direct) message history into a new conversation.
Deprecated: Passing an agent ID as conversation_id still works but will be removed.
Path ParametersExpand Collapse
Query ParametersExpand Collapse
ReturnsExpand Collapse
Conversation object { id, agent_id, archived, 12 more }
Represents a conversation on an agent for concurrent messaging.
context_window_limit: optional number
The context window limit for this conversation (overrides agent’s context window).
description: optional string
A generated description of the conversation used for search and bootstrap context.
in_context_message_ids: optional array of string
The IDs of in-context messages for the conversation. Null means this field was not retrieved/hydrated for this response.
last_message_at: optional string
Timestamp of the most recent message request sent to this conversation.
model: optional string
The model handle for this conversation (overrides agent’s model). Format: provider/model-name.
model_settings: optional OpenAIModelSettings { max_output_tokens, parallel_tool_calls, provider_type, 4 more } or object { max_output_tokens, parallel_tool_calls, provider_type, 5 more } or AnthropicModelSettings { effort, max_output_tokens, parallel_tool_calls, 6 more } or 14 more
The model settings for this conversation (overrides agent’s model settings).
OpenAIModelSettings object { max_output_tokens, parallel_tool_calls, provider_type, 4 more }
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
Sglang object { max_output_tokens, parallel_tool_calls, provider_type, 5 more }
SGLang model configuration (OpenAI-compatible runtime with SGLang-specific parsing).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
AnthropicModelSettings object { effort, max_output_tokens, parallel_tool_calls, 6 more }
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
strict: optional boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GoogleAIModelSettings object { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
GoogleVertexModelSettings object { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
response_schema: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
AzureModelSettings object { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Azure OpenAI model configuration (OpenAI-compatible).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
XaiModelSettings object { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
xAI model configuration (OpenAI-compatible).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
Moonshot object { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Moonshot/Kimi model configuration (OpenAI-compatible).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
Zai object { max_output_tokens, parallel_tool_calls, provider_type, 3 more }
Z.ai (ZhipuAI) model configuration (OpenAI-compatible).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
MoonshotCoding object { effort, max_output_tokens, parallel_tool_calls, 6 more }
Kimi Code model configuration (Anthropic-compatible).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
strict: optional boolean
Enable strict mode for tool calling. When true, tool outputs are guaranteed to match JSON schemas.
GroqModelSettings object { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Groq model configuration (OpenAI-compatible).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
DeepseekModelSettings object { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Deepseek model configuration (OpenAI-compatible).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
TogetherModelSettings object { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
Together AI model configuration (OpenAI-compatible).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
BedrockModelSettings object { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
AWS Bedrock model configuration.
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
Baseten object { max_output_tokens, parallel_tool_calls, provider_type, temperature }
Baseten model configuration (OpenAI-compatible).
Openrouter object { max_output_tokens, parallel_tool_calls, provider_type, 2 more }
OpenRouter model configuration (OpenAI-compatible).
response_format: optional TextResponseFormat { type } or JsonSchemaResponseFormat { json_schema, type } or JsonObjectResponseFormat { type }
Fork Conversation
curl https://api.letta.com/v1/conversations/$CONVERSATION_ID/fork \
-X POST \
-H "Authorization: Bearer $LETTA_API_KEY"{
"id": "id",
"agent_id": "agent_id",
"archived": true,
"archived_at": "2019-12-27T18:11:19.117Z",
"context_window_limit": 0,
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"description": "description",
"in_context_message_ids": [
"string"
],
"last_message_at": "2019-12-27T18:11:19.117Z",
"last_updated_by_id": "last_updated_by_id",
"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
},
"summary": "summary",
"updated_at": "2019-12-27T18:11:19.117Z"
}Returns Examples
{
"id": "id",
"agent_id": "agent_id",
"archived": true,
"archived_at": "2019-12-27T18:11:19.117Z",
"context_window_limit": 0,
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"description": "description",
"in_context_message_ids": [
"string"
],
"last_message_at": "2019-12-27T18:11:19.117Z",
"last_updated_by_id": "last_updated_by_id",
"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
},
"summary": "summary",
"updated_at": "2019-12-27T18:11:19.117Z"
}