# prb soa command reference

Manage statements of applicability. This page documents **12 commands** under `prb soa`.

Flags and examples below come from the command definitions. A **Required** flag is explicitly marked required by Cobra; an unmarked flag can still be needed by runtime validation or a non-interactive workflow. Empty strings and empty lists are registered defaults, not sample values.

Every command also inherits the [global flags](/docs/developers/cli/commands#global-flags). Run `prb <command> --help` to check your installed version. Replace placeholder IDs and names in source examples before running them. Return to the [complete CLI command reference](/docs/developers/cli/commands) to browse another command.

## Commands

| Command                                                 | Description                                                 | Usage                             | Source                                                                                                        |
| ------------------------------------------------------- | ----------------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| [`prb soa`](#prb-soa)                                   | Manage statements of applicability.                         | `prb soa <command>`               | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/soa.go#L36)                     |
| [`prb soa create`](#prb-soa-create)                     | Create a new statement of applicability.                    | `prb soa create`                  | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/create/create.go#L64)           |
| [`prb soa delete`](#prb-soa-delete)                     | Delete a statement of applicability.                        | `prb soa delete <id>`             | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/delete/delete.go#L43)           |
| [`prb soa list`](#prb-soa-list)                         | List statements of applicability.                           | `prb soa list`                    | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/list/list.go#L73)               |
| [`prb soa publish`](#prb-soa-publish)                   | Publish a statement of applicability as a document version. | `prb soa publish <soa-id>`        | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/publish/publish.go#L82)         |
| [`prb soa statement`](#prb-soa-statement)               | Manage applicability statements in a SoA.                   | `prb soa statement <command>`     | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/statement.go#L33)     |
| [`prb soa statement add`](#prb-soa-statement-add)       | Add an applicability statement to a SoA.                    | `prb soa statement add`           | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/add/add.go#L78)       |
| [`prb soa statement list`](#prb-soa-statement-list)     | List applicability statements in a SoA.                     | `prb soa statement list <soa-id>` | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/list/list.go#L80)     |
| [`prb soa statement remove`](#prb-soa-statement-remove) | Remove an applicability statement from a SoA.               | `prb soa statement remove <id>`   | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/remove/remove.go#L43) |
| [`prb soa statement update`](#prb-soa-statement-update) | Update an applicability statement.                          | `prb soa statement update <id>`   | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/update/update.go#L71) |
| [`prb soa update`](#prb-soa-update)                     | Update a statement of applicability.                        | `prb soa update <id>`             | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/update/update.go#L55)           |
| [`prb soa view`](#prb-soa-view)                         | View a statement of applicability.                          | `prb soa view <id>`               | [View implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/view/view.go#L60)               |

## prb soa

Manage statements of applicability.

### Usage

```text
prb soa <command>
```

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/soa.go#L36).

## prb soa create

Create a new statement of applicability.

### Usage

```text
prb soa create
```

Accepts no positional arguments.

### Flags

| Flag     | Type   | Default | Required | Description     |
| -------- | ------ | ------- | -------- | --------------- |
| `--name` | string | `""`    | Required | Name (required) |
| `--org`  | string | `""`    | —        | Organization ID |

### Examples

```bash
# Create a statement of applicability
prb soa create --name "ISO 27001 SoA"
```

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/create/create.go#L64).

## prb soa delete

Delete a statement of applicability.

### Usage

```text
prb soa delete <id>
```

Requires 1 positional argument.

### Flags

| Flag          | Type    | Default | Required | Description              |
| ------------- | ------- | ------- | -------- | ------------------------ |
| `--yes`, `-y` | boolean | `false` | —        | Skip confirmation prompt |

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/delete/delete.go#L43).

## prb soa list

List statements of applicability.

### Usage

```text
prb soa list
```

Accepts no positional arguments.

### Flags

| Flag                | Type    | Default  | Required | Description                                          |
| ------------------- | ------- | -------- | -------- | ---------------------------------------------------- |
| `--after`           | string  | `""`     | —        | Cursor from the previous page (the Next cursor line) |
| `--json`            | boolean | `false`  | —        | Output JSON (same as --output json)                  |
| `--limit`, `-L`     | integer | `30`     | —        | Maximum number of items to list                      |
| `--order-by`        | string  | `""`     | —        | Order by field (NAME, CREATED_AT)                    |
| `--order-direction` | string  | `"DESC"` | —        | Sort direction (ASC, DESC)                           |
| `--org`             | string  | `""`     | —        | Organization ID                                      |
| `--output`, `-o`    | string  | `""`     | —        | Output format: json, table (default)                 |

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/list/list.go#L73).

## prb soa publish

Publish a statement of applicability as a document version.

### Usage

```text
prb soa publish <soa-id>
```

Requires 1 positional argument.

### Flags

| Flag         | Type         | Default | Required | Description                                                 |
| ------------ | ------------ | ------- | -------- | ----------------------------------------------------------- |
| `--approver` | string array | `[]`    | —        | Approver profile ID (can be repeated; ignored with --minor) |
| `--minor`    | boolean      | `false` | —        | Publish as a minor version (no approval flow)               |

### Examples

```bash
# Publish an SOA
prb soa publish SOA_ID

# Publish with approvers
prb soa publish SOA_ID --approver PROFILE_ID1 --approver PROFILE_ID2
```

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/publish/publish.go#L82).

## prb soa statement

Manage applicability statements in a SoA.

### Usage

```text
prb soa statement <command>
```

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/statement.go#L33).

## prb soa statement add

Add an applicability statement to a SoA.

### Usage

```text
prb soa statement add
```

Accepts no positional arguments.

### Flags

| Flag               | Type    | Default | Required | Description                                  |
| ------------------ | ------- | ------- | -------- | -------------------------------------------- |
| `--applicable`     | boolean | `false` | —        | Mark control as applicable                   |
| `--control`        | string  | `""`    | Required | Control ID (required)                        |
| `--justification`  | string  | `""`    | —        | Justification for the applicability decision |
| `--not-applicable` | boolean | `false` | —        | Mark control as not applicable               |
| `--soa`            | string  | `""`    | Required | Statement of applicability ID (required)     |

### Examples

```bash
# Add a control as applicable
prb soa statement add --soa SOA_ID --control CTRL_ID --applicable

# Add a control as not applicable with justification
prb soa statement add --soa SOA_ID --control CTRL_ID --not-applicable --justification "Not in scope"
```

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/add/add.go#L78).

## prb soa statement list

List applicability statements in a SoA.

### Usage

```text
prb soa statement list <soa-id>
```

Requires 1 positional argument.

### Flags

| Flag                | Type    | Default  | Required | Description                                          |
| ------------------- | ------- | -------- | -------- | ---------------------------------------------------- |
| `--after`           | string  | `""`     | —        | Cursor from the previous page (the Next cursor line) |
| `--json`            | boolean | `false`  | —        | Output JSON (same as --output json)                  |
| `--limit`, `-L`     | integer | `30`     | —        | Maximum number of statements to list                 |
| `--order-by`        | string  | `""`     | —        | Order by field (CREATED_AT, CONTROL_SECTION_TITLE)   |
| `--order-direction` | string  | `"DESC"` | —        | Sort direction (ASC, DESC)                           |
| `--output`, `-o`    | string  | `""`     | —        | Output format: json, table (default)                 |

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/list/list.go#L80).

## prb soa statement remove

Remove an applicability statement from a SoA.

### Usage

```text
prb soa statement remove <id>
```

Requires 1 positional argument.

### Flags

| Flag          | Type    | Default | Required | Description              |
| ------------- | ------- | ------- | -------- | ------------------------ |
| `--yes`, `-y` | boolean | `false` | —        | Skip confirmation prompt |

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/remove/remove.go#L43).

## prb soa statement update

Update an applicability statement.

### Usage

```text
prb soa statement update <id>
```

Requires 1 positional argument.

### Flags

| Flag               | Type    | Default | Required | Description                                  |
| ------------------ | ------- | ------- | -------- | -------------------------------------------- |
| `--applicable`     | boolean | `false` | —        | Mark control as applicable                   |
| `--justification`  | string  | `""`    | —        | Justification for the applicability decision |
| `--not-applicable` | boolean | `false` | —        | Mark control as not applicable               |

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/statement/update/update.go#L71).

## prb soa update

Update a statement of applicability.

### Usage

```text
prb soa update <id>
```

Requires 1 positional argument.

### Flags

| Flag     | Type   | Default | Required | Description |
| -------- | ------ | ------- | -------- | ----------- |
| `--name` | string | `""`    | —        | Name        |

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/update/update.go#L55).

## prb soa view

View a statement of applicability.

### Usage

```text
prb soa view <id>
```

Requires 1 positional argument.

### Flags

| Flag             | Type    | Default | Required | Description                          |
| ---------------- | ------- | ------- | -------- | ------------------------------------ |
| `--json`         | boolean | `false` | —        | Output JSON (same as --output json)  |
| `--output`, `-o` | string  | `""`    | —        | Output format: json, table (default) |

[View command implementation](https://github.com/getprobo/probo/blob/main/pkg/cmd/soa/view/view.go#L60).
