# AI resource

Canonical page: https://docs.ovok.com/flutter-sdk/reference/ovok_sdk/ai-resource

{/* Generated by scripts/generate_reference.dart; do not edit. */}

## AiChatResource [#aichatresource]

```dart
class AiChatResource
```

AI chat. Reached through `ovok.ai.chat`.

### Constructors [#constructors]

#### AiChatResource.new [#aichatresourcenew]

```dart
AiChatResource(HttpClient ai)
```

Built by `Ovok`; use `ovok.ai.chat` instead.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `ai` | `HttpClient` | positional |  |

### Properties [#properties]

#### AiChatResource.sessions [#aichatresourcesessions]

```dart
final ChatSessionsResource sessions
```

Chat sessions.

#### AiChatResource.messages [#aichatresourcemessages]

```dart
final ChatMessagesResource messages
```

Messages in a chat session.


## AiResource [#airesource]

```dart
class AiResource
```

AI translation, FHIR search and chat. Reached through `ovok.ai`.

Every request throws an `OvokException` subclass when it fails.

### Constructors [#constructors-1]

#### AiResource.new [#airesourcenew]

```dart
AiResource(HttpClient http)
```

Built by `Ovok`; use `ovok.ai` instead.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `http` | `HttpClient` | positional |  |

### Properties [#properties-1]

#### AiResource.chat [#airesourcechat]

```dart
final AiChatResource chat
```

Chat sessions and their messages.

### Methods [#methods]

#### AiResource.translate [#airesourcetranslate]

```dart
Future<JsonMap> translate(JsonMap body)
```

Translates text. Calls `POST ai/translation`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `body` | `JsonMap` | positional |  |

Returns `Future<Map<String, dynamic>>`.

#### AiResource.fhirSearch [#airesourcefhirsearch]

```dart
Future<JsonMap> fhirSearch(JsonMap body)
```

Answers a question by searching FHIR. Calls `POST ai/fhir/search`.

An LLM plans and runs the FHIR queries, so the answer can be wrong or invented.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `body` | `JsonMap` | positional |  |

Returns `Future<Map<String, dynamic>>`.


## ChatMessagesResource [#chatmessagesresource]

```dart
class ChatMessagesResource
```

Messages in an AI chat session. Reached through `ovok.ai.chat.messages`.

### Constructors [#constructors-2]

#### ChatMessagesResource.new [#chatmessagesresourcenew]

```dart
ChatMessagesResource(HttpClient _ai)
```

Built by `Ovok`; use `ovok.ai.chat.messages` instead.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `_ai` | `HttpClient` | positional |  |

### Methods [#methods-1]

#### ChatMessagesResource.list [#chatmessagesresourcelist]

```dart
Future<JsonMap> list(String sessionId, [QueryParams params = const {}])
```

Lists a session's messages. Calls `GET ai/session/{sessionId}/message`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `sessionId` | `String` | positional |  |
| `params` | `QueryParams` | optional positional | `const {}` |

Returns `Future<Map<String, dynamic>>`.

#### ChatMessagesResource.send [#chatmessagesresourcesend]

```dart
Future<JsonMap> send(String sessionId, JsonMap body)
```

Sends a message to a session. Calls `POST ai/session/{sessionId}/message`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `sessionId` | `String` | positional |  |
| `body` | `JsonMap` | positional |  |

Returns `Future<Map<String, dynamic>>`.


## ChatSessionsResource [#chatsessionsresource]

```dart
class ChatSessionsResource
```

AI chat sessions. Reached through `ovok.ai.chat.sessions`.

### Constructors [#constructors-3]

#### ChatSessionsResource.new [#chatsessionsresourcenew]

```dart
ChatSessionsResource(HttpClient _ai)
```

Built by `Ovok`; use `ovok.ai.chat.sessions` instead.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `_ai` | `HttpClient` | positional |  |

### Methods [#methods-2]

#### ChatSessionsResource.create [#chatsessionsresourcecreate]

```dart
Future<JsonMap> create(JsonMap body)
```

Creates a chat session. Calls `POST ai/session`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `body` | `JsonMap` | positional |  |

Returns `Future<Map<String, dynamic>>`.

#### ChatSessionsResource.list [#chatsessionsresourcelist]

```dart
Future<JsonMap> list([QueryParams params = const {}])
```

Lists chat sessions. Calls `GET ai/session` with `params`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `params` | `QueryParams` | optional positional | `const {}` |

Returns `Future<Map<String, dynamic>>`.

#### ChatSessionsResource.retrieve [#chatsessionsresourceretrieve]

```dart
Future<JsonMap> retrieve(String sessionId, [QueryParams params = const {}])
```

Retrieves a chat session. Calls `GET ai/session/{sessionId}`.

| Parameter | Type | Kind | Default |
| ------ | ------ | ------ | ------ |
| `sessionId` | `String` | positional |  |
| `params` | `QueryParams` | optional positional | `const {}` |

Returns `Future<Map<String, dynamic>>`.
