# Triggers Commands

> See [Triggers module docs](../../modules/triggers) for permissions and data model.

# Triggers Commands

See [Triggers module docs](../../modules/triggers) for permissions and data model.

### `soat list-triggers`

List triggers

- Method: `GET`
- Path: `/api/v1/triggers`

#### Usage

```bash
soat list-triggers
```

#### Options

##### `--project-id`

—

- Source: `query`
- Required: no
- Type: `string`

##### `--type`

—

- Source: `query`
- Required: no
- Type: `enum("manual", "webhook", "schedule", "event")`

##### `--target-type`

—

- Source: `query`
- Required: no
- Type: `enum("orchestration", "agent", "tool", "eval")`

##### `--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 create-trigger`

Create a trigger

- Method: `POST`
- Path: `/api/v1/triggers`

#### Usage

```bash
soat create-trigger --name <string> --type <enum("manual", "webhook", "schedule", "event")> --target-type <enum("orchestration", "agent", "tool", "eval")> --target-id <string>
```

#### Options

##### `--project-id`

Public ID of the project. Optional when authenticating with a project-scoped API key, which defaults to the key's project; required otherwise.

- Source: `body`
- Required: no
- Type: `string`

##### `--name`

—

- Source: `body`
- Required: yes
- Type: `string`

##### `--description`

—

- Source: `body`
- Required: no
- Type: `string`

##### `--type`

—

- Source: `body`
- Required: yes
- Type: `enum("manual", "webhook", "schedule", "event")`

##### `--target-type`

—

- Source: `body`
- Required: yes
- Type: `enum("orchestration", "agent", "tool", "eval")`

##### `--target-id`

—

- Source: `body`
- Required: yes
- Type: `string`

##### `--action`

Tool targets only — the action for builtin/mcp tools

- Source: `body`
- Required: no
- Type: `string`

##### `--input`

—

- Source: `body`
- Required: no
- Type: `object`

##### `--cron`

5-field cron expression (UTC). Required when type is schedule

- Source: `body`
- Required: no
- Type: `string`

##### `--event-pattern`

Internal-event subscription pattern. Required when type is event, rejected otherwise. `*` matches every event, `prefix.*` a namespace, or give an exact event name such as `documents.ingested`

- Source: `body`
- Required: no
- Type: `string`

##### `--active`

—

- Source: `body`
- Required: no
- Type: `boolean`
- Default: `true`

##### `--policy-id`

—

- Source: `body`
- Required: no
- Type: `string`

### `soat get-trigger`

Get a trigger

- Method: `GET`
- Path: `/api/v1/triggers/{trigger_id}`

#### Usage

```bash
soat get-trigger --trigger-id <string>
```

#### Options

##### `--trigger-id`

—

- Source: `path`
- Required: yes
- Type: `string`

### `soat update-trigger`

Update a trigger

- Method: `PATCH`
- Path: `/api/v1/triggers/{trigger_id}`

#### Usage

```bash
soat update-trigger --trigger-id <string>
```

#### Options

##### `--trigger-id`

—

- Source: `path`
- Required: yes
- Type: `string`

##### `--name`

—

- Source: `body`
- Required: no
- Type: `string`

##### `--description`

—

- Source: `body`
- Required: no
- Type: `string \| null`

##### `--target-type`

—

- Source: `body`
- Required: no
- Type: `enum("orchestration", "agent", "tool", "eval")`

##### `--target-id`

—

- Source: `body`
- Required: no
- Type: `string`

##### `--action`

—

- Source: `body`
- Required: no
- Type: `string \| null`

##### `--input`

—

- Source: `body`
- Required: no
- Type: `object`

##### `--cron`

—

- Source: `body`
- Required: no
- Type: `string \| null`

##### `--event-pattern`

—

- Source: `body`
- Required: no
- Type: `string \| null`

##### `--active`

—

- Source: `body`
- Required: no
- Type: `boolean`

##### `--policy-id`

—

- Source: `body`
- Required: no
- Type: `string \| null`

### `soat delete-trigger`

Delete a trigger

- Method: `DELETE`
- Path: `/api/v1/triggers/{trigger_id}`

#### Usage

```bash
soat delete-trigger --trigger-id <string>
```

#### Options

##### `--trigger-id`

—

- Source: `path`
- Required: yes
- Type: `string`

### `soat fire-trigger`

Fire a trigger

- Method: `POST`
- Path: `/api/v1/triggers/{trigger_id}/fire`

#### Usage

```bash
soat fire-trigger --trigger-id <string>
```

#### Options

##### `--trigger-id`

—

- Source: `path`
- Required: yes
- Type: `string`

##### `--input`

Fire-time input, shallow-merged over the trigger's static input. For `eval` targets it may carry `agent_version` and `baseline_run_id`.

- Source: `body`
- Required: no
- Type: `object`

### `soat get-trigger-secret`

Get trigger secret

- Method: `GET`
- Path: `/api/v1/triggers/{trigger_id}/secret`

#### Usage

```bash
soat get-trigger-secret --trigger-id <string>
```

#### Options

##### `--trigger-id`

—

- Source: `path`
- Required: yes
- Type: `string`

### `soat rotate-trigger-secret`

Rotate trigger secret

- Method: `POST`
- Path: `/api/v1/triggers/{trigger_id}/rotate-secret`

#### Usage

```bash
soat rotate-trigger-secret --trigger-id <string>
```

#### Options

##### `--trigger-id`

—

- Source: `path`
- Required: yes
- Type: `string`

### `soat list-trigger-firings`

List trigger firings

- Method: `GET`
- Path: `/api/v1/trigger-firings`

#### Usage

```bash
soat list-trigger-firings --trigger-id <string>
```

#### Options

##### `--trigger-id`

Trigger to list firings for (trg_...)

- Source: `query`
- Required: yes
- Type: `string`

##### `--limit`

—

- Source: `query`
- Required: no
- Type: `integer`
- Default: `50`

##### `--offset`

—

- Source: `query`
- Required: no
- Type: `integer`
- Default: `0`

### `soat get-trigger-firing`

Get a trigger firing

- Method: `GET`
- Path: `/api/v1/trigger-firings/{firing_id}`

#### Usage

```bash
soat get-trigger-firing --firing-id <string>
```

#### Options

##### `--firing-id`

—

- Source: `path`
- Required: yes
- Type: `string`
