---
title: Class: MoiSession
slug: klevucore-reference/class-moisession
docTags: 
createdAt: 2023-11-09T09:45:59.073Z
---

 / [Exports](docId:7vdpEs-8-0Tv_43dyA7ly) / MoiSession

## Table of contents

### Constructors

- [constructor](docId\:VI7zz0Y-gAkL5higBbVZ3)

### Properties

- [config](docId\:VI7zz0Y-gAkL5higBbVZ3)
- [context](docId\:VI7zz0Y-gAkL5higBbVZ3)
- [feedbacks](docId\:VI7zz0Y-gAkL5higBbVZ3)
- [genericOptions](docId\:VI7zz0Y-gAkL5higBbVZ3)
- [menu](docId\:VI7zz0Y-gAkL5higBbVZ3)
- [messages](docId\:VI7zz0Y-gAkL5higBbVZ3)
- [options](docId\:VI7zz0Y-gAkL5higBbVZ3)

### Methods

- [addFeedback](docId\:VI7zz0Y-gAkL5higBbVZ3)
- [clear](docId\:VI7zz0Y-gAkL5higBbVZ3)
- [query](docId\:VI7zz0Y-gAkL5higBbVZ3)
- [save](docId\:VI7zz0Y-gAkL5higBbVZ3)

## Constructors

### constructor

• **new MoiSession**(`state`, `options`, `context`, `config`)

### Parameters

| Name                   | Type                                                                                                                                                                                                          |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `state`                | `Object`                                                                                                                                                                                                      |
| `state.feedbacks`      | [`MoiSavedFeedback`](docId:7vdpEs-8-0Tv_43dyA7ly)\[]                                                                                                                                                          |
| `state.genericOptions` | `undefined` \| \{ `options`: \{ `chat`: `string` ; `name`: `string` ; `type`: `"message"` \| `"clearChat"`  }\[]  }                                                                                           |
| `state.menu`           | `undefined` \| \{ `options`: \{ `chat`: `string` ; `name`: `string` ; `options`: \{ `key`: `string` ; `validations`: `string` ; `value`: `string`  }\[] ; `type`: `"message"` \| `"customerSupport"`  }\[]  } |
| `state.messages`       | [`MoiMessages`](docId:7vdpEs-8-0Tv_43dyA7ly)                                                                                                                                                                  |
| `options`              | [`MoiStartOptions`](docId:7vdpEs-8-0Tv_43dyA7ly)                                                                                                                                                              |
| `context`              | [`MoiContext`](docId:7vdpEs-8-0Tv_43dyA7ly)                                                                                                                                                                   |
| `config`               | [`KlevuConfig`](docId\:w2RkeCQV7dYsnPOEOFH1J)                                                                                                                                                                 |

### Defined in

[connection/moi/moi.ts:322](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L322)

## Properties

### config

• **config**: [`KlevuConfig`](docId\:w2RkeCQV7dYsnPOEOFH1J)

### Defined in

[connection/moi/moi.ts:354](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L354)

***

### context

• **context**: [`MoiContext`](docId:7vdpEs-8-0Tv_43dyA7ly)

### Defined in

[connection/moi/moi.ts:353](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L353)

***

### feedbacks

• **feedbacks**: [`MoiSavedFeedback`](docId:7vdpEs-8-0Tv_43dyA7ly)\[]

### Defined in

[connection/moi/moi.ts:351](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L351)

***

### genericOptions

• `Optional` **genericOptions**: `Object`

### Type declaration

| Name      | Type                                                                                |
| --------- | ----------------------------------------------------------------------------------- |
| `options` | \{ `chat`: `string` ; `name`: `string` ; `type`: `"message"` \| `"clearChat"`  }\[] |

### Defined in

[connection/moi/moi.ts:350](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L350)

***

### menu

• **menu**: `undefined` | \{ `options`: \{ `chat`: `string` ; `name`: `string` ; `options`: \{ `key`: `string` ; `validations`: `string` ; `value`: `string`  }\[] ; `type`: `"message"` | `"customerSupport"`  }\[]  }

### Defined in

[connection/moi/moi.ts:349](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L349)

***

### messages

• **messages**: [`MoiMessages`](docId:7vdpEs-8-0Tv_43dyA7ly)

### Defined in

[connection/moi/moi.ts:348](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L348)

***

### options

• **options**: [`MoiStartOptions`](docId:7vdpEs-8-0Tv_43dyA7ly)

### Defined in

[connection/moi/moi.ts:352](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L352)

## Methods

### addFeedback

▸ **addFeedback**(`messageId`, `thumbs`, `reason?`): `Promise`\<[`MoiResponse`](docId:7vdpEs-8-0Tv_43dyA7ly)>

### Parameters

| Name        | Type               |
| ----------- | ------------------ |
| `messageId` | `string`           |
| `thumbs`    | `"up"` \| `"down"` |
| `reason?`   | `string`           |

### Returns

`Promise`\<[`MoiResponse`](docId:7vdpEs-8-0Tv_43dyA7ly)>

### Defined in

[connection/moi/moi.ts:456](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L456)

***

### clear

▸ **clear**(): `void`

### Returns

`void`

### Defined in

[connection/moi/moi.ts:417](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L417)

***

### query

▸ **query**(`request`, `target?`): `Promise`\<[`MoiResponse`](docId:7vdpEs-8-0Tv_43dyA7ly)>

### Parameters

| Name      | Type                                                              |
| --------- | ----------------------------------------------------------------- |
| `request` | `Omit`\<[`MoiRequest`](docId:7vdpEs-8-0Tv_43dyA7ly), `"context"`> |
| `target?` | `MoiAPITarget`                                                    |

### Returns

`Promise`\<[`MoiResponse`](docId:7vdpEs-8-0Tv_43dyA7ly)>

### Defined in

[connection/moi/moi.ts:356](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L356)

***

### save

▸ **save**(): `void`

### Returns

`void`

### Defined in

[connection/moi/moi.ts:423](https://github.com/klevultd/frontend-sdk/blob/492d3760/packages/klevu-core/src/connection/moi/moi.ts#L423)
