Skip to main content

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>

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.* / runtime.* namespaces.

  • Source: body
  • Required: yes
  • Type: object
--context-tool-id​

—

  • Source: body
  • Required: no
  • Type: string \| null
--context-mode​

—

  • Source: body
  • Required: no
  • Type: enum("merge", "replace")
--version-label​

Optional tag for the config version this write archives (e.g. initial). Annotates the version only — it is not stored on the guardrail and is not part of the config, so labelling a change is never itself a change.

  • Source: body
  • Required: no
  • Type: string
  • Example: initial

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

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.* / runtime.* namespaces.

  • Source: body
  • Required: no
  • Type: object
--context-tool-id​

—

  • Source: body
  • Required: no
  • Type: string \| null
--context-mode​

—

  • Source: body
  • Required: no
  • Type: enum("merge", "replace", null)
--version-label​

Optional tag for the config version this write archives (e.g. pre-tightening). Annotates the version only — it is not stored on the guardrail and is not part of the config, so labelling a change is never itself a change. Ignored when the write changes no policy, since no version is created.

  • Source: body
  • Required: no
  • Type: string
  • Example: pre-tightening
--expected-version​

Refuses the write unless the resource is at this version.

  • Source: body
  • Required: no
  • Type: unknown

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 list-guardrail-versions​

List a guardrail's config versions

  • Method: GET
  • Path: /api/v1/guardrails/{guardrail_id}/versions

Usage​

soat list-guardrail-versions --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 restore-guardrail-version​

Restore an archived guardrail config

  • Method: POST
  • Path: /api/v1/guardrails/{guardrail_id}/versions/{version}/restore

Usage​

soat restore-guardrail-version --guardrail-id <string> --version <integer>

Options​

--guardrail-id​

—

  • Source: path
  • Required: yes
  • Type: string
--version​

—

  • Source: path
  • Required: yes
  • Type: integer
--label​

Optional tag for the version the restore creates. Defaults to restored from v<version>.

  • Source: body
  • Required: no
  • Type: string
  • Example: rollback to pre-incident policy

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 runtime.tools.* against.

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