Agent Variations
Add an assignment to a variation
Remove an assignment from a variation
ModelsExpand Collapse
agent_variation: object { metadata, spec, info }
AgentVariation resource
metadata: object { id, accountId, createdAt, 5 more }
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
spec: object { compactionConfig, constraints, description, 6 more }
AgentVariationSpec defines the operational configuration for a variation
compactionConfig: optional object { summarization, toolResultClearing, triggerThreshold }
CompactionConfig defines how context window compaction behaves for objectives using this variation.
description: optional string
Human-readable description of what this variation does or when it should be used
enableEpisodicMemory: optional boolean
Enable episodic memory for objectives using this variation. When true, the system automatically creates a document namespace for each objective using the objective's episodic_key as the external_id, allowing the agent to store and retrieve documents specific to that episode.
episodicMemoryTtl: optional number
How long episodic memories should be retained. After this duration, episodic document namespaces can be automatically cleaned up. If not set, episodic memories are retained indefinitely.
modelConfig: optional object { modelId, temperature }
ModelConfig defines the model configuration for a variation
toolSelection: optional object { assignedTools, autoDiscovery }
Tool selection strategy
autoDiscovery: optional object { hints, maxTools }
AutoDiscovery is used to indicate that the agent should automatically discover tools that are not explicitly assigned to it. Max tools is the maximum number of tools that can be discovered. Hints are optional hints for tool search. These are used in conjunction with the context-aware tool search and can help select the best tools for the task.
info: optional object { assignments, createdBy, feedbackCount, 5 more }
AgentVariationInfo provides read-only summary information about a variation
All tools, tool sets, and sub-agents assigned to this variation. Populated on reads so clients can render a variation's full assignment list without calling the add/remove endpoints just to enumerate.
agent: optional object { id, name }
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
tool: optional object { id, name }
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
toolSet: optional object { id, name }
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
createdBy: optional object { metadata, spec }
Profile represents a human user at the account level. Profiles are account-scoped resources that can be associated with multiple workspaces through the Actor model. Authentication for profiles is handled via SSO/OAuth (WorkOS).
metadata: object { id, accountId, name, 3 more }
AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.
model: optional object { id, accountId, createdAt, 5 more }
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
agent_variation_info: object { assignments, createdBy, feedbackCount, 5 more }
AgentVariationInfo provides read-only summary information about a variation
All tools, tool sets, and sub-agents assigned to this variation. Populated on reads so clients can render a variation's full assignment list without calling the add/remove endpoints just to enumerate.
agent: optional object { id, name }
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
tool: optional object { id, name }
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
toolSet: optional object { id, name }
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
createdBy: optional object { metadata, spec }
Profile represents a human user at the account level. Profiles are account-scoped resources that can be associated with multiple workspaces through the Actor model. Authentication for profiles is handled via SSO/OAuth (WorkOS).
metadata: object { id, accountId, name, 3 more }
AccountResourceMetadata is used to represent a resource that is associated to an account but not to a workspace.
model: optional object { id, accountId, createdAt, 5 more }
Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
agent_variation_spec: object { compactionConfig, constraints, description, 6 more }
AgentVariationSpec defines the operational configuration for a variation
compactionConfig: optional object { summarization, toolResultClearing, triggerThreshold }
CompactionConfig defines how context window compaction behaves for objectives using this variation.
description: optional string
Human-readable description of what this variation does or when it should be used
enableEpisodicMemory: optional boolean
Enable episodic memory for objectives using this variation. When true, the system automatically creates a document namespace for each objective using the objective's episodic_key as the external_id, allowing the agent to store and retrieve documents specific to that episode.
episodicMemoryTtl: optional number
How long episodic memories should be retained. After this duration, episodic document namespaces can be automatically cleaned up. If not set, episodic memories are retained indefinitely.
modelConfig: optional object { modelId, temperature }
ModelConfig defines the model configuration for a variation
toolSelection: optional object { assignedTools, autoDiscovery }
Tool selection strategy
autoDiscovery: optional object { hints, maxTools }
AutoDiscovery is used to indicate that the agent should automatically discover tools that are not explicitly assigned to it. Max tools is the maximum number of tools that can be discovered. Hints are optional hints for tool search. These are used in conjunction with the context-aware tool search and can help select the best tools for the task.
agent_variation_spec_compaction_config: object { summarization, toolResultClearing, triggerThreshold }
CompactionConfig defines how context window compaction behaves for objectives using this variation.
agent_variation_spec_tool_selection: object { assignedTools, autoDiscovery }
autoDiscovery: optional object { hints, maxTools }
AutoDiscovery is used to indicate that the agent should automatically discover tools that are not explicitly assigned to it. Max tools is the maximum number of tools that can be discovered. Hints are optional hints for tool search. These are used in conjunction with the context-aware tool search and can help select the best tools for the task.
tool_selection_auto_discovery: object { hints, maxTools }
AutoDiscovery is used to indicate that the agent should automatically discover tools that are not explicitly assigned to it. Max tools is the maximum number of tools that can be discovered. Hints are optional hints for tool search. These are used in conjunction with the context-aware tool search and can help select the best tools for the task.
variation_assignment: object { id, agent, tool, toolSet }
VariationAssignment is a read-only reference to a single tool, tool set, or
sub-agent attached to a variation. Clients read the full set of assignments
via AgentVariationInfo.assignments; mutations go through the dedicated
add/remove assignment endpoints under /v1/agent_variations/{id}/assignments.
The id identifies the assignment row itself (not the referenced resource)
and is the handle used to remove the assignment. It is returned by the add
endpoint and present on every entry in AgentVariationInfo.assignments.
agent: optional object { id, name }
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
tool: optional object { id, name }
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.
toolSet: optional object { id, name }
BareMetadata contains the minimal metadata for a resource: the ID and an optional human-readable name. These are used for reference fields where the full metadata (account scoping, timestamps, labels, external IDs) is not needed — e.g., the tool references inside an agent variation spec or the tools assigned to an objective. Both fields are server-populated; clients provide IDs through sibling fields rather than by constructing a BareMetadata themselves.