Memory Rules Commands
See Memory Rules module docs for permissions and data model.
soat list-memory-rules
List memory rules
- Method:
GET - Path:
/api/v1/memory-rules
Usage
soat list-memory-rules
Options
--memory-store-id
Only the rules of this memory store
- Source:
query - Required: no
- Type:
string - Example:
mstore_V1StGXR8Z5jdHi6B
--project-id
Project ID (required if not using project key auth)
- Source:
query - Required: no
- Type:
string - Example:
proj_V1StGXR8Z5jdHi6B
soat create-memory-rule
Create a memory rule
- Method:
POST - Path:
/api/v1/memory-rules
Usage
soat create-memory-rule --memory-store-id <string> --on <enum("generations.completed", "conversation_messages.generated")>
Options
--memory-store-id
The destination store, and the rule's owning scope
- Source:
body - Required: yes
- Type:
string - Example:
mstore_V1StGXR8Z5jdHi6B
--on
The event a firing reads. generations.completed fires once per completed turn whatever the transport, and is the only event the built-in extractor may bind to. conversation_messages.generated fires per persisted assistant reply and is conversation-backed, so it is for custom handlers.
- Source:
body - Required: yes
- Type:
enum("generations.completed", "conversation_messages.generated") - Example:
generations.completed
--source-agent-ids
Agents whose turns this rule reads. Omit or send null for every agent in the store's project.
- Source:
body - Required: no
- Type:
array<string> - Example:
["agent_V1StGXR8Z5jdHi6B"]
--agent-id
Handler agent (mutually exclusive with tool_id)
- Source:
body - Required: no
- Type:
string \| null
--tool-id
Handler tool (mutually exclusive with agent_id)
- Source:
body - Required: no
- Type:
string \| null
--action
Operation id, for a tool handler
- Source:
body - Required: no
- Type:
string \| null
--preset-parameters
Merged into a tool handler's input before invocation. The turn's own fields are reserved and win.
- Source:
body - Required: no
- Type:
object
--prompt
Replaces the built-in extractor's task instructions. The JSON response contract and the transcript are always appended. Not valid with a handler.
- Source:
body - Required: no
- Type:
string \| null
--ai-provider-id
Provider override for the built-in extractor's completion. Not valid with a handler.
- Source:
body - Required: no
- Type:
string \| null
--model
Model override for the built-in extractor's completion. Not valid with a handler.
- Source:
body - Required: no
- Type:
string \| null
--enabled
A disabled rule is kept and never fires
- Source:
body - Required: no
- Type:
boolean - Default:
true
soat get-memory-rule
Get a memory rule
- Method:
GET - Path:
/api/v1/memory-rules/{memory_rule_id}
Usage
soat get-memory-rule --memory-rule-id <string>
Options
--memory-rule-id
Memory rule ID
- Source:
path - Required: yes
- Type:
string - Example:
mrule_V1StGXR8Z5jdHi6B
soat update-memory-rule
Update a memory rule
- Method:
PATCH - Path:
/api/v1/memory-rules/{memory_rule_id}
Usage
soat update-memory-rule --memory-rule-id <string>
Options
--memory-rule-id
Memory rule ID
- Source:
path - Required: yes
- Type:
string
--on
The event a firing reads. generations.completed fires once per completed turn whatever the transport, and is the only event the built-in extractor may bind to. conversation_messages.generated fires per persisted assistant reply and is conversation-backed, so it is for custom handlers.
- Source:
body - Required: no
- Type:
enum("generations.completed", "conversation_messages.generated") - Example:
generations.completed
--source-agent-ids
Send null to widen the rule to every agent in the project
- Source:
body - Required: no
- Type:
array<string>
--agent-id
—
- Source:
body - Required: no
- Type:
string \| null
--tool-id
—
- Source:
body - Required: no
- Type:
string \| null
--action
—
- Source:
body - Required: no
- Type:
string \| null
--preset-parameters
—
- Source:
body - Required: no
- Type:
object
--prompt
—
- Source:
body - Required: no
- Type:
string \| null
--ai-provider-id
—
- Source:
body - Required: no
- Type:
string \| null
--model
—
- Source:
body - Required: no
- Type:
string \| null
--enabled
—
- Source:
body - Required: no
- Type:
boolean
soat delete-memory-rule
Delete a memory rule
- Method:
DELETE - Path:
/api/v1/memory-rules/{memory_rule_id}
Usage
soat delete-memory-rule --memory-rule-id <string>
Options
--memory-rule-id
Memory rule ID
- Source:
path - Required: yes
- Type:
string