# AI Providers Commands

> See [AI Providers module docs](../../modules/ai-providers) for permissions and data model.

# AI Providers Commands

See [AI Providers module docs](../../modules/ai-providers) for permissions and data model.

### `soat list-ai-providers`

List AI providers

- Method: `GET`
- Path: `/api/v1/ai-providers`

#### Usage

```bash
soat list-ai-providers
```

#### Options

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

Project ID (required if not using project key auth)

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

##### `--limit`

Number of results per page

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

##### `--offset`

Number of results to skip

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

### `soat create-ai-provider`

Create an AI provider

- Method: `POST`
- Path: `/api/v1/ai-providers`

#### Usage

```bash
soat create-ai-provider --name <string> --provider <enum("openai", "anthropic", "google", "xai", "groq", "ollama", "azure", "bedrock", "vertex", "gateway", "custom")> --default-model <string>
```

#### Options

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

Project ID (required if not using project key auth)

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

##### `--name`

Provider configuration name

- Source: `body`
- Required: yes
- Type: `string`
- Example: `OpenAI Production`

##### `--provider`

LLM provider

- Source: `body`
- Required: yes
- Type: `enum("openai", "anthropic", "google", "xai", "groq", "ollama", "azure", "bedrock", "vertex", "gateway", "custom")`
- Example: `openai`

##### `--default-model`

Default model to use

- Source: `body`
- Required: yes
- Type: `string`
- Example: `gpt-4`

##### `--secret-id`

Secret ID containing API credentials

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

##### `--base-url`

Custom base URL for the provider

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

##### `--config`

Additional provider-specific configuration

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

### `soat get-ai-provider`

Get an AI provider

- Method: `GET`
- Path: `/api/v1/ai-providers/{ai_provider_id}`

#### Usage

```bash
soat get-ai-provider --ai-provider-id <string>
```

#### Options

##### `--ai-provider-id`

AI Provider ID

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

### `soat update-ai-provider`

Update an AI provider

- Method: `PATCH`
- Path: `/api/v1/ai-providers/{ai_provider_id}`

#### Usage

```bash
soat update-ai-provider --ai-provider-id <string>
```

#### Options

##### `--ai-provider-id`

AI Provider ID

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

##### `--name`

—

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

##### `--provider`

LLM provider

- Source: `body`
- Required: no
- Type: `enum("openai", "anthropic", "google", "xai", "groq", "ollama", "azure", "bedrock", "vertex", "gateway", "custom")`
- Example: `openai`

##### `--default-model`

—

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

##### `--secret-id`

—

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

##### `--base-url`

—

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

##### `--config`

—

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

### `soat delete-ai-provider`

Delete an AI provider

- Method: `DELETE`
- Path: `/api/v1/ai-providers/{ai_provider_id}`

#### Usage

```bash
soat delete-ai-provider --ai-provider-id <string>
```

#### Options

##### `--ai-provider-id`

AI Provider ID

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

##### `--force`

When `true`, delete the provider's price overrides and unlink its usage history so a provider with only soft dependents can be removed. Has no effect on live references (chats, agents, model routes), which always block deletion. 

- Source: `query`
- Required: no
- Type: `boolean`
- Default: `false`

### `soat list-ai-provider-models`

List the models this provider can run

- Method: `GET`
- Path: `/api/v1/ai-providers/{ai_provider_id}/models`

#### Usage

```bash
soat list-ai-provider-models --ai-provider-id <string>
```

#### Options

##### `--ai-provider-id`

AI Provider ID

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

### `soat get-ai-provider-prices`

List per-provider price overrides

- Method: `GET`
- Path: `/api/v1/ai-providers/{ai_provider_id}/prices`

#### Usage

```bash
soat get-ai-provider-prices --ai-provider-id <string>
```

#### Options

##### `--ai-provider-id`

AI Provider ID

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

### `soat update-ai-provider-prices`

Upsert per-provider price overrides

- Method: `PUT`
- Path: `/api/v1/ai-providers/{ai_provider_id}/prices`

#### Usage

```bash
soat update-ai-provider-prices --ai-provider-id <string> --prices <array<object>>
```

#### Options

##### `--ai-provider-id`

AI Provider ID

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

##### `--prices`

—

- Source: `body`
- Required: yes
- Type: `array<object>`
