Guardrails Commands
See Guardrails module docs for permissions and data model.
soat create-guardrail
Create a guardrail
- Method:
POST - Path:
/api/v1/guardrails
Usage
soat create-guardrail --name <string> --document <object<string, unknown>>
Options
--project-id
Public ID of the project
- Source:
body - Required: no
- Type:
string
--name
Human-readable name
- Source:
body - Required: yes
- Type:
string - Example:
Budget Update Guardrail
--description
—
- Source:
body - Required: no
- Type:
string \| null
--document
The action-class document. class maps a call to an action class; guard gates class-B autonomy. Both are single JSON Logic expressions over the args.* / context.* / soat.* namespaces.
- Source:
body - Required: yes
- Type:
object<string, unknown>
--context-tool-id
—
- Source:
body - Required: no
- Type:
string \| null
--context-mode
—
- Source:
body - Required: no
- Type:
enum("merge", "replace")
soat list-guardrails
List guardrails
- Method:
GET - Path:
/api/v1/guardrails
Usage
soat list-guardrails
Options
--project-id
Project public ID to filter by
- Source:
query - Required: no
- Type:
string
--limit
Maximum number of results to return
- Source:
query - Required: no
- Type:
integer - Default:
50
--offset
Number of results to skip
- Source:
query - Required: no
- Type:
integer - Default:
0
soat get-guardrail
Get a guardrail
- Method:
GET - Path:
/api/v1/guardrails/{guardrail_id}
Usage
soat get-guardrail --guardrail-id <string>
Options
--guardrail-id
—
- Source:
path - Required: yes
- Type:
string
soat update-guardrail
Update a guardrail
- Method:
PATCH - Path:
/api/v1/guardrails/{guardrail_id}
Usage
soat update-guardrail --guardrail-id <string>
Options
--guardrail-id
—
- Source:
path - Required: yes
- Type:
string
--name
—
- Source:
body - Required: no
- Type:
string
--description
—
- Source:
body - Required: no
- Type:
string \| null
--document
The action-class document. class maps a call to an action class; guard gates class-B autonomy. Both are single JSON Logic expressions over the args.* / context.* / soat.* namespaces.
- Source:
body - Required: no
- Type:
object<string, unknown>
--context-tool-id
—
- Source:
body - Required: no
- Type:
string \| null
--context-mode
—
- Source:
body - Required: no
- Type:
enum("merge", "replace")
soat delete-guardrail
Delete a guardrail
- Method:
DELETE - Path:
/api/v1/guardrails/{guardrail_id}
Usage
soat delete-guardrail --guardrail-id <string>
Options
--guardrail-id
—
- Source:
path - Required: yes
- Type:
string
soat get-guardrail-version
Fetch an archived guardrail version
- Method:
GET - Path:
/api/v1/guardrails/{guardrail_id}/versions/{version}
Usage
soat get-guardrail-version --guardrail-id <string> --version <integer>
Options
--guardrail-id
—
- Source:
path - Required: yes
- Type:
string
--version
—
- Source:
path - Required: yes
- Type:
integer
soat evaluate-guardrail
Dry-run evaluate a guardrail
- Method:
POST - Path:
/api/v1/guardrails/{guardrail_id}/evaluate
Usage
soat evaluate-guardrail --guardrail-id <string>
Options
--guardrail-id
—
- Source:
path - Required: yes
- Type:
string
--args
The proposed call's arguments (the args.* namespace).
- Source:
body - Required: no
- Type:
object<string, unknown>
--guardrail-context
The caller-supplied guardrail context (the context.* namespace), combined with the context tool per context_mode.
- Source:
body - Required: no
- Type:
object<string, unknown>
--tool-id
Optional tool to resolve soat.tool.* against.
- Source:
body - Required: no
- Type:
string