Skip to main content

Agents Commands

See Agents module docs for permissions and data model.

soat create-agent

Create an agent

  • Method: POST
  • Path: /api/v1/agents

Usage

soat create-agent --ai-provider-id <string>

Options

--project-id

Public ID of the project

  • Source: body
  • Required: no
  • Type: string
--ai-provider-id

Public ID of the AI provider

  • Source: body
  • Required: yes
  • Type: string
--name

  • Source: body
  • Required: no
  • Type: string
--instructions

  • Source: body
  • Required: no
  • Type: string
--model

  • Source: body
  • Required: no
  • Type: string
--tool-ids

  • Source: body
  • Required: no
  • Type: array<string>
--tools

Ephemeral tool definitions available only to this agent's generations — no separate Tool resource is created (any project_id on an entry is ignored), so they never appear in GET /tools and cannot be targeted by active_tool_ids/ step_rules (which reference tool_ids). Cannot be of type pipeline; nest a persisted pipeline tool via tool_ids instead. Use tool_ids to reference existing tools and tools for ones scoped to just this agent.

  • Source: body
  • Required: no
  • Type: array<unknown>
--max-steps

  • Source: body
  • Required: no
  • Type: integer
--tool-choice

Tool choice strategy. Accepts a string ("auto", "required") or an object (\{ "type": "tool", "name": "my_tool" \}).

  • Source: body
  • Required: no
  • Type: unknown
--stop-conditions

  • Source: body
  • Required: no
  • Type: array<object>
--active-tool-ids

  • Source: body
  • Required: no
  • Type: array<string>
--step-rules

  • Source: body
  • Required: no
  • Type: array<object>
--boundary-policy

  • Source: body
  • Required: no
  • Type: object
--temperature

  • Source: body
  • Required: no
  • Type: number
--knowledge-config

  • Source: body
  • Required: no
  • Type: object
--output-schema

JSON Schema describing the structured object the model must return. When set, non-streaming generations use the AI SDK to constrain output to this schema; the parsed value is returned as output.object in the generation response. See the Structured Output section in the Agents module docs.

  • Source: body
  • Required: no
  • Type: object
--max-context-messages

Maximum number of recent messages included in the context window. Null means no limit.

  • Source: body
  • Required: no
  • Type: integer
--single-session-per-actor

When true, only one open session per actor_id is allowed for this agent.

  • Source: body
  • Required: no
  • Type: boolean

soat list-agents

List agents

  • Method: GET
  • Path: /api/v1/agents

Usage

soat list-agents

Options

--project-id

Project public ID to filter by

  • Source: query
  • Required: no
  • Type: string

soat get-agent

Get an agent

  • Method: GET
  • Path: /api/v1/agents/{agent_id}

Usage

soat get-agent --agent-id <string>

Options

--agent-id

  • Source: path
  • Required: yes
  • Type: string

soat update-agent

Update an agent

  • Method: PUT
  • Path: /api/v1/agents/{agent_id}

Usage

soat update-agent --agent-id <string>

Options

--agent-id

  • Source: path
  • Required: yes
  • Type: string
--ai-provider-id

  • Source: body
  • Required: no
  • Type: string
--name

  • Source: body
  • Required: no
  • Type: string \| null
--instructions

  • Source: body
  • Required: no
  • Type: string \| null
--model

  • Source: body
  • Required: no
  • Type: string \| null
--tool-ids

  • Source: body
  • Required: no
  • Type: array<string>
--tools

Ephemeral tool definitions available only to this agent's generations — no separate Tool resource is created (any project_id on an entry is ignored), so they never appear in GET /tools and cannot be targeted by active_tool_ids/ step_rules (which reference tool_ids). Cannot be of type pipeline; nest a persisted pipeline tool via tool_ids instead. Replaces the agent's entire tools array; set to null to clear.

  • Source: body
  • Required: no
  • Type: array<unknown>
--max-steps

  • Source: body
  • Required: no
  • Type: integer \| null
--tool-choice

Tool choice strategy. Accepts a string ("auto", "required") or an object (\{ "type": "tool", "name": "my_tool" \}).

  • Source: body
  • Required: no
  • Type: unknown \| null
--stop-conditions

  • Source: body
  • Required: no
  • Type: array<object>
--active-tool-ids

  • Source: body
  • Required: no
  • Type: array<string>
--step-rules

  • Source: body
  • Required: no
  • Type: array<object>
--boundary-policy

  • Source: body
  • Required: no
  • Type: object
--temperature

  • Source: body
  • Required: no
  • Type: number \| null
--knowledge-config

  • Source: body
  • Required: no
  • Type: object
--output-schema

JSON Schema describing the structured object the model must return. When set, non-streaming generations use the AI SDK to constrain output to this schema; the parsed value is returned as output.object in the generation response. See the Structured Output section in the Agents module docs.

  • Source: body
  • Required: no
  • Type: object
--max-context-messages

Maximum number of recent messages included in the context window. Null means no limit.

  • Source: body
  • Required: no
  • Type: integer \| null
--single-session-per-actor

When true, only one open session per actor_id is allowed for this agent.

  • Source: body
  • Required: no
  • Type: boolean \| null

soat patch-agent

Partially update an agent

  • Method: PATCH
  • Path: /api/v1/agents/{agent_id}

Usage

soat patch-agent --agent-id <string>

Options

--agent-id

  • Source: path
  • Required: yes
  • Type: string
--ai-provider-id

  • Source: body
  • Required: no
  • Type: string
--name

  • Source: body
  • Required: no
  • Type: string \| null
--instructions

  • Source: body
  • Required: no
  • Type: string \| null
--model

  • Source: body
  • Required: no
  • Type: string \| null
--tool-ids

  • Source: body
  • Required: no
  • Type: array<string>
--tools

Ephemeral tool definitions available only to this agent's generations — no separate Tool resource is created (any project_id on an entry is ignored), so they never appear in GET /tools and cannot be targeted by active_tool_ids/ step_rules (which reference tool_ids). Cannot be of type pipeline; nest a persisted pipeline tool via tool_ids instead. Replaces the agent's entire tools array; set to null to clear.

  • Source: body
  • Required: no
  • Type: array<unknown>
--max-steps

  • Source: body
  • Required: no
  • Type: integer \| null
--tool-choice

Tool choice strategy. Accepts a string ("auto", "required") or an object (\{ "type": "tool", "name": "my_tool" \}).

  • Source: body
  • Required: no
  • Type: unknown \| null
--stop-conditions

  • Source: body
  • Required: no
  • Type: array<object>
--active-tool-ids

  • Source: body
  • Required: no
  • Type: array<string>
--step-rules

  • Source: body
  • Required: no
  • Type: array<object>
--boundary-policy

  • Source: body
  • Required: no
  • Type: object
--temperature

  • Source: body
  • Required: no
  • Type: number \| null
--knowledge-config

  • Source: body
  • Required: no
  • Type: object
--output-schema

JSON Schema describing the structured object the model must return. When set, non-streaming generations use the AI SDK to constrain output to this schema; the parsed value is returned as output.object in the generation response. See the Structured Output section in the Agents module docs.

  • Source: body
  • Required: no
  • Type: object
--max-context-messages

Maximum number of recent messages included in the context window. Null means no limit.

  • Source: body
  • Required: no
  • Type: integer \| null
--single-session-per-actor

When true, only one open session per actor_id is allowed for this agent.

  • Source: body
  • Required: no
  • Type: boolean \| null

soat delete-agent

Delete an agent

  • Method: DELETE
  • Path: /api/v1/agents/{agent_id}

Usage

soat delete-agent --agent-id <string>

Options

--agent-id

  • Source: path
  • Required: yes
  • Type: string
--force

When true, deletes the agent's dependent generations and traces instead of returning 409 AGENT_HAS_DEPENDENTS.

  • Source: query
  • Required: no
  • Type: boolean
  • Default: false

soat create-agent-generation

Run an agent generation

  • Method: POST
  • Path: /api/v1/agents/{agent_id}/generate

Usage

soat create-agent-generation --agent-id <string> --messages <array<object>>

Options

--agent-id

  • Source: path
  • Required: yes
  • Type: string
--messages

  • Source: body
  • Required: yes
  • Type: array<object>
--stream

When true the response is an SSE stream

  • Source: body
  • Required: no
  • Type: boolean
  • Default: false
--trace-id

Optional trace ID to group generations

  • Source: body
  • Required: no
  • Type: string
--parent-trace-id

The trace ID of the parent agent generation that triggered this one (for agent-to-agent calls)

  • Source: body
  • Required: no
  • Type: string \| null
--root-trace-id

The trace ID of the root generation in the call chain; if omitted, this generation is the root

  • Source: body
  • Required: no
  • Type: string \| null
--max-call-depth

Maximum nested agent-call depth; 0 short-circuits with a depth-guard response

  • Source: body
  • Required: no
  • Type: integer
  • Default: 10
--tool-context

Key-value pairs injected as context headers into all tool call requests made during this generation.

  • Source: body
  • Required: no
  • Type: object<string, string>
--action-id

Logical action label recorded on the generation's usage meter, so spend can be rolled up per action (e.g. an A/B/C/D operating action).

  • Source: body
  • Required: no
  • Type: string
--knowledge-config

Per-generation knowledge retrieval override. Array filters (memory_ids, memory_tags, document_ids, document_paths) are unioned with the agent's stored knowledge_config; scalar fields (min_score, limit) use the per-generation value when present.

  • Source: body
  • Required: no
  • Type: object

soat submit-agent-tool-outputs

Submit tool outputs for a paused generation

  • Method: POST
  • Path: /api/v1/agents/{agent_id}/generate/{generation_id}/tool-outputs

Usage

soat submit-agent-tool-outputs --agent-id <string> --generation-id <string> --tool-outputs <array<object>>

Options

--agent-id

  • Source: path
  • Required: yes
  • Type: string
--generation-id

  • Source: path
  • Required: yes
  • Type: string
--tool-outputs

  • Source: body
  • Required: yes
  • Type: array<object>