# AI Providers

> SDK methods for the AI Providers module, accessed via `soat.aiProviders`. See the [AI Providers module docs](/docs/modules/ai-providers) for permissions and data model, and each method's REST page for the full request/response schema.

# AI Providers

SDK methods for the AI Providers module, accessed via `soat.aiProviders`. See the [AI Providers module docs](/docs/modules/ai-providers) for permissions and data model, and each method's REST page for the full request/response schema.

### `soat.aiProviders.listAiProviders()`

List AI providers

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

```ts
await soat.aiProviders.listAiProviders({
  query: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/ai-providers/list-ai-providers)

### `soat.aiProviders.createAiProvider()`

Create an AI provider

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

```ts
await soat.aiProviders.createAiProvider({
  body: { name, provider, default_model, /* + optional */ },
});
```

→ [Request & response schema](/docs/api/ai-providers/create-ai-provider)

### `soat.aiProviders.getAiProvider()`

Get an AI provider

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

```ts
await soat.aiProviders.getAiProvider({
  path: { ai_provider_id },
});
```

→ [Request & response schema](/docs/api/ai-providers/get-ai-provider)

### `soat.aiProviders.updateAiProvider()`

Update an AI provider

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

```ts
await soat.aiProviders.updateAiProvider({
  path: { ai_provider_id },
  body: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/ai-providers/update-ai-provider)

### `soat.aiProviders.deleteAiProvider()`

Delete an AI provider

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

```ts
await soat.aiProviders.deleteAiProvider({
  path: { ai_provider_id },
  query: { /* + optional */ },
});
```

→ [Request & response schema](/docs/api/ai-providers/delete-ai-provider)

### `soat.aiProviders.listAiProviderModels()`

List the models this provider can run

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

```ts
await soat.aiProviders.listAiProviderModels({
  path: { ai_provider_id },
});
```

→ [Request & response schema](/docs/api/ai-providers/list-ai-provider-models)

### `soat.aiProviders.getAiProviderPrices()`

List per-provider price overrides

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

```ts
await soat.aiProviders.getAiProviderPrices({
  path: { ai_provider_id },
});
```

→ [Request & response schema](/docs/api/ai-providers/get-ai-provider-prices)

### `soat.aiProviders.updateAiProviderPrices()`

Upsert per-provider price overrides

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

```ts
await soat.aiProviders.updateAiProviderPrices({
  path: { ai_provider_id },
  body: { prices },
});
```

→ [Request & response schema](/docs/api/ai-providers/update-ai-provider-prices)
