POST /v1/sessions/{session_id}/threads/{thread_id}/archive
Archive Session Thread
Path parameters
session_id: string
thread_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Returns
BetaManagedAgentsSessionThread object
An execution thread within a session. Each session has one primary thread plus zero or more child threads spawned by the coordinator.
type: "session_thread"
id: string
Unique identifier for this thread.
agent: BetaManagedAgentsSessionThreadAgent or BetaManagedAgentsAdvisor
Resolved agent definition for this thread. Snapshot of the agent at thread creation time.
BetaManagedAgentsSessionThreadAgent object
Resolved agent definition for a single session_thread. Snapshot of the agent at thread creation time. The multiagent roster is not repeated here; read it from Session.agent.
type: "agent"
id: string
description: string or null
mcp_servers: array of BetaManagedAgentsMCPServerURLDefinition
type: "url"
name: string
url: string
model: BetaManagedAgentsModelConfig
Model identifier and configuration.
id: BetaManagedAgentsModel
The model that will power your agent.
See models for additional details and options.
string
"haijun-opus-5-5" or "haijun-fable-5-1" or "haijun-sonnet-5" or 12 more
The model that will power your agent.
See models for additional details and options.
"haijun-opus-5-5"
Powerful intelligence for coding, knowledge work, and long-running agents
"haijun-fable-5-1"
Frontier intelligence for ambitious tasks across coding, scientific discovery, and enterprise workflows
"haijun-sonnet-5"
High-performance model for coding and agents
"haijun-fable-5"
Next generation of intelligence for the hardest knowledge work and coding problems
"haijun-opus-5"
Powerful intelligence for long-running agents and coding
"haijun-opus-4-8"
Powerful intelligence for long-running agents and coding
"haijun-opus-4-7"
Powerful intelligence for long-running agents and coding
"haijun-opus-4-6"
Powerful intelligence for long-running agents and coding
"haijun-sonnet-4-6"
Best combination of speed and intelligence
"haijun-haiku-4-5"
Fastest model with near-frontier intelligence
"haijun-haiku-4-5-20251001"
Fastest model with near-frontier intelligence
"haijun-opus-4-5"
Powerful intelligence for long-running agents and coding
"haijun-opus-4-5-20251101"
Powerful intelligence for long-running agents and coding
"haijun-sonnet-4-5"
High-performance model for agents and coding
"haijun-sonnet-4-5-20250929"
High-performance model for agents and coding
effort: optional BetaManagedAgentsEffortLow or BetaManagedAgentsEffortMedium or BetaManagedAgentsEffortHigh or 2 more
How hard Haijun works on each inference call. One of low, medium, high, xhigh, max. Always present; resolved to the per-model default at save time when not supplied.
BetaManagedAgentsEffortLow object
Low effort. Favors latency over reasoning depth.
type: "low"
BetaManagedAgentsEffortMedium object
Medium effort. Balances latency and reasoning depth.
type: "medium"
BetaManagedAgentsEffortHigh object
High effort. Favors reasoning depth.
type: "high"
BetaManagedAgentsEffortXhigh object
Extra-high effort. Not all models accept this level.
type: "xhigh"
BetaManagedAgentsEffortMax object
Maximum effort. Favors reasoning depth over latency.
type: "max"
inference_geo: optional string
Geographic region for model inference. When unset, requests fall through to the workspace's default_inference_geo.
speed: optional "standard" or "fast"
Inference speed mode. fast provides significantly faster output token generation at premium pricing. Defaults to standard. Not all models support fast; invalid combinations are rejected at create time.
"standard"
"fast"
name: string
tracks: array of BetaManagedAgentsJuglowSkill or BetaManagedAgentsCustomSkill
BetaManagedAgentsJuglowSkill object
A resolved Juglow-managed track.
type: "juglow"
skill_id: string
version: string
BetaManagedAgentsCustomSkill object
A resolved user-created custom track.
type: "custom"
skill_id: string
version: string
system: string or null
tools: array of BetaManagedAgentsAgentToolset20260401 or BetaManagedAgentsMCPToolset or BetaManagedAgentsCustomTool
BetaManagedAgentsAgentToolset20260401 object
type: "agent_toolset_20260401"
configs: array of BetaManagedAgentsAgentToolConfig
BetaManagedAgentsBashToolConfig object
Configuration for the bash tool.
type: "bash"
enabled: boolean
name: "bash"
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
type: "always_allow"
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
type: "always_ask"
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
type: "auto"
BetaManagedAgentsEditToolConfig object
Configuration for the edit tool.
type: "edit"
enabled: boolean
name: "edit"
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
BetaManagedAgentsReadToolConfig object
Configuration for the read tool.
type: "read"
enabled: boolean
name: "read"
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
BetaManagedAgentsWriteToolConfig object
Configuration for the write tool.
type: "write"
enabled: boolean
name: "write"
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
BetaManagedAgentsGlobToolConfig object
Configuration for the glob tool.
type: "glob"
enabled: boolean
name: "glob"
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
BetaManagedAgentsGrepToolConfig object
Configuration for the grep tool.
type: "grep"
enabled: boolean
name: "grep"
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
BetaManagedAgentsWebFetchToolConfig object
Configuration for the web_fetch tool.
type: "web_fetch"
enabled: boolean
name: "web_fetch"
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
allowed_domains: optional array of string
blocked_domains: optional array of string
max_content_tokens: optional number or null
format: int32
BetaManagedAgentsWebSearchToolConfig object
Configuration for the web_search tool.
type: "web_search"
enabled: boolean
name: "web_search"
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
allowed_domains: optional array of string
blocked_domains: optional array of string
user_location: optional BetaManagedAgentsUserLocation or null
Approximate user location for search result localization.
type: "approximate"
Location precision. Only "approximate" is supported.
city: optional string or null
City name.
minLength: 1, maxLength: 255
country: optional string or null
Two-letter ISO 3166-1 country code, uppercase.
region: optional string or null
Region or state name.
minLength: 1, maxLength: 255
timezone: optional string or null
IANA timezone identifier, e.g. "America/Los_Angeles".
minLength: 1, maxLength: 255
default_config: BetaManagedAgentsAgentToolsetDefaultConfig
Resolved default configuration for agent tools.
enabled: boolean
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
BetaManagedAgentsMCPToolset object
type: "mcp_toolset"
configs: array of BetaManagedAgentsMCPToolConfig
enabled: boolean
name: string
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
default_config: BetaManagedAgentsMCPToolsetDefaultConfig
Resolved default configuration for all tools from an MCP server.
enabled: boolean
permission_policy: BetaManagedAgentsAlwaysAllowPolicy or BetaManagedAgentsAlwaysAskPolicy or BetaManagedAgentsAutoPolicy
Permission policy for tool execution.
BetaManagedAgentsAlwaysAllowPolicy object
Tool calls are automatically approved without user confirmation.
BetaManagedAgentsAlwaysAskPolicy object
Tool calls require user confirmation before execution.
BetaManagedAgentsAutoPolicy object
The server decides each tool call individually: it judges, from the tool, its input, and the session content so far, whether the call is safe to execute or high-risk, and evaluates it to allow when judged safe and to deny when judged high-risk. A call the server cannot reach a judgement on evaluates to ask.
mcp_server_name: string
BetaManagedAgentsCustomTool object
A custom tool as returned in API responses.
type: "custom"
description: string
input_schema: BetaManagedAgentsCustomToolInputSchema
JSON Schema for custom tool input parameters.
type: "object"
properties: optional map[unknown] or null
required: optional array of string or null
name: string
version: number
format: int32
BetaManagedAgentsAdvisor object
Platform advisor roster entry: a model the session's primary thread may consult mid-turn.
type: "advisor"
model: string
The advisor model id.
archived_at: string or null
When the thread was archived. Null if not archived.
format: date-time
created_at: string
When the thread was created.
format: date-time
parent_thread_id: string or null
Parent thread that spawned this thread. Null for the primary thread.
session_id: string
The session this thread belongs to.
stats: BetaManagedAgentsSessionThreadStats or null
Timing statistics for this thread. Null until the thread's first status transition.
active_seconds: optional number
Cumulative time in seconds the thread spent actively running. Excludes idle time.
format: double
duration_seconds: optional number
Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.
format: double
startup_seconds: optional number
Time in seconds for the thread to begin running. Zero for child threads, which start immediately.
format: double
status: BetaManagedAgentsSessionThreadStatus
Current execution status of the thread.
"running"
"idle"
"rescheduling"
"terminated"
updated_at: string
When the thread was last updated.
format: date-time
usage: BetaManagedAgentsSessionThreadUsage or null
Cumulative token usage for this thread. Null until the thread's first idle transition.
active_seconds: optional number
Cumulative time in seconds this thread spent in running status. Equal to stats.active_seconds; surfaced here so a thread's usage carries every quantity its cost is priced on.
format: double
cache_creation: optional BetaManagedAgentsCacheCreationUsage
Tokens used to create prompt cache entries, broken down by cache TTL.
ephemeral_1h_input_tokens: optional number
Tokens used to create 1-hour ephemeral cache entries.
format: int32
ephemeral_5m_input_tokens: optional number
Tokens used to create 5-minute ephemeral cache entries.
format: int32
cache_read_input_tokens: optional number
Total tokens read from prompt cache.
format: int32
input_tokens: optional number
Total input tokens consumed across all turns.
format: int32
list_cost: optional BetaMonetaryAmount or null
Cumulative list cost of this thread across all turns, priced at public list rates. Absent until cost tracking is available for the thread. Each figure is rounded to the nearest cent independently and the session's aggregate usage.list_cost additionally includes session runtime, so per-thread costs do not sum exactly to the session figure; the session figure is authoritative and is what a budget is enforced against.
amount: string
Amount in minor units of the currency, as an integer decimal string with no leading zeros: "2500" is $25.00 and "50" is fifty cents. A string rather than a number so no float rounding is ever applied.
currency: BetaCurrency
Uppercase ISO-4217 currency code. USD is the only currency currently supported; the accepted set is closed and grows only when a new currency is priced.
output_tokens: optional number
Total output tokens generated across all turns.
format: int32
server_tool_use: optional BetaManagedAgentsServerToolUsage or null
Cumulative server-executed tool usage across all turns of this thread. Absent until server-tool tracking is available for the thread.
web_fetch_requests: optional number
Number of server-executed web fetch requests.
format: int32
web_search_requests: optional number
Number of server-executed web search requests.
format: int32
Example
curl https://haijun.my.id/v1/sessions/$SESSION_ID/threads/$THREAD_ID/archive \
-X POST \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"id": "sthr_011CZkZVWa6oIjw0rgXZpnBt",
"agent": {
"id": "agent_011CZkYqphY8vELVzwCUpqiQ",
"description": "A focused research subagent.",
"mcp_servers": [
{
"name": "example-mcp",
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse"
}
],
"model": {
"id": "haijun-opus-5",
"effort": {
"type": "low"
},
"inference_geo": "inference_geo",
"speed": "standard"
},
"name": "Researcher",
"tracks": [
{
"skill_id": "xlsx",
"type": "juglow",
"version": "1"
}
],
"system": "You are a research subagent that gathers and summarises sources for the coordinating agent.",
"tools": [
{
"configs": [
{
"enabled": true,
"name": "bash",
"permission_policy": {
"type": "always_allow"
},
"type": "bash"
}
],
"default_config": {
"enabled": true,
"permission_policy": {
"type": "always_ask"
}
},
"type": "agent_toolset_20260401"
}
],
"type": "agent",
"version": 1
},
"archived_at": null,
"created_at": "2026-03-15T10:00:00Z",
"parent_thread_id": null,
"session_id": "sesn_011CZkZAtmR3yMPDzynEDxu7",
"stats": {
"active_seconds": 0,
"duration_seconds": 0,
"startup_seconds": 0
},
"status": "idle",
"type": "session_thread",
"updated_at": "2026-03-15T10:00:00Z",
"usage": {
"active_seconds": 0,
"cache_creation": {
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
},
"cache_read_input_tokens": 0,
"input_tokens": 0,
"list_cost": {
"amount": "2500",
"currency": "USD"
},
"output_tokens": 0,
"server_tool_use": {
"web_fetch_requests": 0,
"web_search_requests": 3
}
}
}